|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Namespaces and XML Schema validation
Is it possible to have a number of schemata that are extensions of a primary base schema within a single namespace? Or, do you have to create serial namespaces to accommodate such a multi-part modular language structure? Since that is exactly what we are doing with Human Markup, it would helpful. We are currently in the 30-day public comment period for our first spec so we are no where close to moving on to the secondary base schema. Thanks, Rex At 9:01 AM -0500 11/19/02, Priscilla Walmsley wrote: >Hi Peter, > >Yes, you can only have one schema document per namespace, so you will be >required to have a.xsd, b.xsd, etc. > >> PROBLEM 1 >> >> >> Example document: >> <?xml version="1.0"> >> <a1 xsi:noNamespaceSchemaLocation="a.xsd" >> xmlns:b="http:\\example.org\b\" >> xmlns:c="http:\\example.org\c\"> >> <b:b1>This is element B1 from namespace B</b:b1> >> <a2>This is the second element from schema a</a2> >> <c:c1>This element is from namespace c</c:c1> >> </a1> > >a.xsd would look something like this: > ><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:b="http:\\example.org\b\" > xmlns:c="http:\\example.org\c\"> ><xsd:import namespace="http:\\example.org\b\" schemaLocation="b.xsd"/> ><xsd:import namespace="http:\\example.org\c\" schemaLocation="c.xsd"/> > ><xsd:element name="a1" type="a1Type"/> ><xsd:complexType name="a1Type"> > <xsd:sequence> > <xsd:element ref="b:b1"/> > <xsd:element name="a2" type="xsd:string"/> > <xsd:element ref="c:c1"/> > </xsd:sequence> ></xsd:complexType> > >and b.xsd and c.xsd would declare the b1 and c1 elements, globally. > >> PROBLEM 2 >> >> Can I nest the namespaces in such an XML document, so that >> elements from one >> namespace contains elements from other namespaces, and still >> validate my XML >> document against one or several XML Schemas? > >Yes, in this case you could have a.xsd import the b namespace, and b.xsd >import the c namespace. > >> PROBLEM 3 >> >> Can elements from one namespace occur several times in a >> hierarchy where >> elements from other namespaces occur as fathers, i.e. true >> nesting, and >> still validate my XML document against one or several XML >> Schemas? And how >> would the XML Schemas that defines those namespaces look like? > >Yes, in that case a.xsd could import the b namespace, and b.xsd could >import the a namespace. Same thing with b and c. (there is no rule that >says "circular imports" are not allowed; in fact, they are necessary.) > > >> PROBLEM 4 >> >> Can I, using the example from my problem 3, enforce (through >> validation) >> that instances are created with exactly those elements, >> occuring just one >> time each, with one single XML Schema? > >I assume you mean one single schema _document_ (since an XML Schema can >be made up of more than one document, as we have seen above). No, you >can't - the best you could do is put wildcards where you want the >elements from other namespaces to go. Wildcards will allow you to >constrain the namespace and number of elements that appear, but will not >validate those elements without a schema document for that namespace. > > >The examples from my XML Schema book are online at: > >http://www.datypic.com/books/DefXMLSchema/Examples.html > >I can't guarantee they're the exact same structure as your examples, but >they might help. > >Hope that helps! >Priscilla > >----------------------------------------------------- >Priscilla Walmsley priscilla@w... >Author, Definitive XML Schema (Prentice Hall PTR) >----------------------------------------------------- > > >----------------------------------------------------------------- >The xml-dev list is sponsored by XML.org <http://www.xml.org>, an >initiative of OASIS <http://www.oasis-open.org> > >The list archives are at http://lists.xml.org/archives/xml-dev/ > >To subscribe or unsubscribe from this list use the subscription >manager: <http://lists.xml.org/ob/adm.pl> -- Rex Brooks Starbourne Communications Design 1361-A Addison, Berkeley, CA 94702 *510-849-2309 http://www.starbourne.com * rexb@s...
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








