OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Fine namespace control in XML Schema

[ Lists Home | Date Index | Thread Index ]

>
>
>Hi Eddie
>
>Thanks -- this is certainly getting close to what I would ideally like.
>
>Your 3 schemas are a great step forward, but they do admit a false
>positive (taking the RELAX NG definition as canonical) by passing
>the following document as valid:
>
><a:frog xmlns:a="http://www.example.com/a";>
> <name> Spotted tree frog </name>
> <colour> Blue with red spots </colour>
> <leap> minimal </leap>
></a:frog>
>
>Great step forward; can you (or anyone) do even better?
>
No, I think this is as close as you can get using W3C XML Schema. You 
can include a Schematron rule to check the root element but that might 
be overkill for your needs:

....
    <xs:element name="example">
        <xs:annotation>
            <xs:appinfo>
                <sch:pattern name="Test document element" 
xmlns:sch="http://www.ascc.net/xml/schematron";>
                    <sch:rule context="/">
                        <sch:assert test="example">The document element 
must be &lt;example></sch:assert>
                    </sch:rule>
                </sch:pattern>
            </xs:appinfo>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="a:frog"/>
                <xs:element ref="b:frog"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
.....

Cheers,
/Eddie






 

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

Copyright 2001 XML.org. This site is hosted by OASIS