XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] How to create an XML language that is the intersectionof two XML languages?

The mechanism is simply to validate twice, first against one schema and second against the other. (It is one way of handling inherited exclusion exceptions: James Clark modeled html A not under A that way in RNG IIRC.)

ISO DSDL was designed to allow you to specify this kind of thing in nice tractable layers; and Schematron has always had parallel patterns. The closest that xsd provides in this space is probably the substitution group.

In general, you cannot validate a document against two closed schemas (grammars) unless they are derived (in a looser sense than xsd derivation) from a common base (whether notional or real).

Open schemas are a different matter.
Rick

On 31/12/2013 9:00 AM, "Costello, Roger L." <costello@mitre.org> wrote:
Hi Folks,

Suppose person #1 creates an XML language for Books:

    <xs:element name="Books">
        ...
    </xs:element>

Person #2 creates an XML language for Magazines:

    <xs:element name="Magazines">
        ...
    </xs:element>

Now, person #3 can reuse them to create an XML language that is the union of Books and Magazines:

    <xs:element name="BookStore">
        <xs:complexType>
            <xs:choice>
                <xs:element ref="Books" />
                <xs:element ref="Magazines" />
            </xs:choice>
        </xs:complexType>
    </xs:element>

Neat! We can create an XML language that is the union of two XML languages, without any changes to them.

What about intersection, can we create an XML language that is the intersection of two XML languages?

Suppose person #4 creates an XML language consisting of a mixture of an arbitrary number of <A> and <B> elements:

    <xs:group name="As-and-Bs">
        <xs:sequence maxOccurs="unbounded">
            <xs:element name="A" minOccurs="0"> ... </xs:element>
            <xs:element name="B" minOccurs="0"> ... </xs:element>
        </xs:sequence>
    </xs:group>

Person #5 creates an XML language consisting of a mixture of an arbitrary number of <B> and <C> elements:

    <xs:group name="Bs-and-Cs">
        <xs:sequence maxOccurs="unbounded">
            <xs:element name="B" minOccurs="0"> ... </xs:element>
            <xs:element name="C" minOccurs="0"> ... </xs:element>
        </xs:sequence>
    </xs:group>

Now, person #6 wants to reuse them to create an XML language that is the intersection of the two languages.

How would person #6 create this intersection language (without any change to the As-and-Bs language or the Bs-and-Cs language)?

/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


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS