I wrote a DTD Generator for fun quite some years ago, and there are plenty of other schema generators around. It was an interesting exercise.
The knack is in finding rules that achieve the right balance between allowing anything, and allowing nothing other than what is actually found in the control sample of instance documents. For example, if all your documents have a date of creation that falls in the year 2016, should that be imposed as a constraint by the schema? Probably not, but it's difficult for a machine to judge. What if the largest number of lines found in an address is 6? Should that be a constraint? What if all the city names match [A-Z][a-z]+?
Whether you call it machine learning or pattern recognition or whatever is up to you, but the key to doing it well isn't just finding a schema that all the documents conform to, it's examining the features that are common to all the documents and deciding which of these features belong in the schema and which don't. Much the same applies when it's a human designing the schema.
Michael Kay
Saxonica
> On 13 Mar 2018, at 16:49, Costello, Roger L. <costello@mitre.org> wrote:
>
> Hi Folks,
>
> Scenario: A bunch of XML instance documents are fed into a machine learning program. The program analyzes the instances to learn the structure of the items, which items are mandatory, and which items are optional. Out pops an XML Schema.
>
> Question: Has anyone created an XML Schema generating machine learning program?
>
> /Roger
>
> ____________________________________________________________ ___________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
____________________________________________________________ ___________
XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.
[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php