[Mono-list] RE: Xml Schema

Dwivedi , Ajay Kumar AjayKumar.Dwivedi@dresdner-bank.com
Tue, 26 Mar 2002 05:55:19 -0000


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_01C1D48A.CF734D20
Content-Type: text/plain;
	charset="iso-8859-1"

[Reposting]: looks like the original didn't make to the list. They are in
the archive, but neither me nor gaurav received the mail. Please bear with
me if it gets duplicated in your account.

Hi all,
	Attached are the updated classes for System.Xml.Schema namespace.
Someone please update the CVS.

	XmlSchema classes can now read and write Schema's from file/stream.
More specifically, I have been able to read the "A Schema for Schemas
(normative)" http://www.w3.org/TR/xmlschema-1/#normative-schemaSchema
(attached as schema.xsd) and then write it back to another file. The
following code can do this for you.
<code>
	XmlSchema schema = XmlSchema.Read(new
StreamReader("\\schema.xsd"),null);
	schema.Write(new StreamWriter("\\myschema.xsd"));		
</code>
	The implementation requires XmlSerializer Class of
System.Xml.Serialization namespace, so you'll need to include this namespace
too.
	The only major differences between the outputs when run with MS
classes and our classes are the ordering of elements and treatment of
UnhandledAttributes.

However there is no validation at the momemt. This means you
	* can Create a schema by instantiating XmlSchema class, add
elements/attributes and then save it to a file.
	* load a schema from file.
	* can add invalid attributes for elements/attributes to the schema
and the XML and the Read/Write methods would gladly accept them.
	* can add invalid elements to schema, and the Read method will raise
a warning and print some messages.

Now, for the purpose of validation: 
	Can someone point me to an open source implementation of schema
validation (in any language) which is compatible with our class library
licence? To be very frank, I have an experience of only 2 weeks with XML
(since I started implementing these classes) and I just dont' have a Idea
how to accomplish this. Moreover I don't want to reinvent the wheel by
writing validation rules myself ;)

	Also, there are a few questions in my mind. If someone can answer
them, I would be very grateful. (I know they are too basic, but i am an
illiterate :(
	1. What is XML Schema compliation (XmlSchema.Compile())? It looks
like some validation, but why is this compilation done only on schema's and
not all xml's.
	2. What do we do if we find some invalid members. Say someone
programatically adds an invalid element . Do we remove these elements from
the schema during compilation/validation?
	3. What is the role of datatypes? I did not find any need for them
yet. None of them are public, so I am assuming they are used internally
during validation etc.

	
Happy Hacking,
Ajay


------_=_NextPart_000_01C1D48A.CF734D20
Content-Type: application/octet-stream;
	name="sxs.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="sxs.zip"

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
ABQAAAAIAHhjeSzZ99sdGQEAADkCAAAdAAAAAAAAAAEAIAC2gSQaAABYbWxTY2hlbWFBdHRyaWJ1
dGVHcm91cFJlZi5jc1BLAQIUABQAAAAIAHhjeSyu8UvBcwEAANEDAAASAAAAAAAAAAEAIAC2gXgb
AABYbWxTY2hlbWFDaG9pY2UuY3NQSwECFAAUAAAACAB4Y3ks5baa4bYCAAClCAAAFgAAAAAAAAAB
ACAAtoEbHQAAWG1sU2NoZW1hQ29sbGVjdGlvbi5jc1BLAQIUABQAAAAIAHhjeSyoQFR2ggEAAIcD
AAAgAAAAAAAAAAEAIAC2gQUgAABYbWxTY2hlbWFDb2xsZWN0aW9uRW51bWVyYXRvci5jc1BLAQIU
ABQAAAAIAHhjeSz721fvgAEAAIoDAAAaAAAAAAAAAAEAIAC2gcUhAABYbWxTY2hlbWFDb21wbGV4
Q29udGVudC5jc1BLAQIUABQAAAAIAHhjeSzBKnRYAgIAANoGAAAjAAAAAAAAAAEAIAC2gX0jAABY
bWxTY2hlbWFDb21wbGV4Q29udGVudEV4dGVuc2lvbi5jc1BLAQIUABQAAAAIAHhjeSw9fAI5CQIA
ABEHAAAlAAAAAAAAAAEAIAC2gcAlAABYbWxTY2hlbWFDb21wbGV4Q29udGVudFJlc3RyaWN0aW9u
LmNzUEsBAhQAFAAAAAgAeGN5LLsACdkxAwAA7Q0AABcAAAAAAAAAAQAgALaBDCgAAFhtbFNjaGVt
YUNvbXBsZXhUeXBlLmNzUEsBAhQAFAAAAAgAeGN5LLc4P2u+AAAALgEAABMAAAAAAAAAAQAgALaB
cisAAFhtbFNjaGVtYUNvbnRlbnQuY3NQSwECFAAUAAAACAB4Y3ksLahEsOoAAACrAQAAGAAAAAAA
AAABACAAtoFhLAAAWG1sU2NoZW1hQ29udGVudE1vZGVsLmNzUEsBAhQAFAAAAAgAeGN5LO/eEQf2
AAAAqAEAAB0AAAAAAAAAAQAgALaBgS0AAFhtbFNjaGVtYUNvbnRlbnRQcm9jZXNzaW5nLmNzUEsB
AhQAFAAAAAgAeGN5LFMsKv7PAAAAOwEAABcAAAAAAAAAAQAgALaBsi4AAFhtbFNjaGVtYUNvbnRl
bnRUeXBlLmNzUEsBAhQAFAAAAAgAeGN5LGeckuUZAQAAGQIAABQAAAAAAAAAAQAgALaBti8AAFht
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
cGVMaXN0LmNzUEsBAhQAFAAAAAgAeGN5LKZW2+Q0AgAAEAkAACEAAAAAAAAAAQAgALaBJG0AAFht
bFNjaGVtYVNpbXBsZVR5cGVSZXN0cmljdGlvbi5jc1BLAQIUABQAAAAIAHljeSzJyZ2WgwEAAHkD
AAAbAAAAAAAAAAEAIAC2gZdvAABYbWxTY2hlbWFTaW1wbGVUeXBlVW5pb24uY3NQSwECFAAUAAAA
CAB5Y3ksieOjZL4AAABGAQAAHAAAAAAAAAABACAAtoFTcQAAWG1sU2NoZW1hVG90YWxEaWdpdHNG
YWNldC5jc1BLAQIUABQAAAAIAHljeSwj3ddBKQIAAPEGAAAQAAAAAAAAAAEAIAC2gUtyAABYbWxT
Y2hlbWFUeXBlLmNzUEsBAhQAFAAAAAgAeWN5LB9lVbm7AAAALgEAABIAAAAAAAAAAQAgALaBonQA
AFhtbFNjaGVtYVVuaXF1ZS5jc1BLAQIUABQAAAAIAHljeSy/sHug9gAAAMsBAAAPAAAAAAAAAAEA
IAC2gY11AABYbWxTY2hlbWFVc2UuY3NQSwECFAAUAAAACAB5Y3ksQeJFxLYAAAA8AQAAGwAAAAAA
AAABACAAtoGwdgAAWG1sU2NoZW1hV2hpdGVTcGFjZUZhY2V0LmNzUEsBAhQAFAAAAAgAeWN5LHQz
rbAjAQAAHQIAABEAAAAAAAAAAQAgALaBn3cAAFhtbFNjaGVtYVhQYXRoLmNzUEsBAhQAFAAAAAgA
eWN5LIoeTye5AAAAHAEAABIAAAAAAAAAAQAgALaB8XgAAFhtbFNldmVyaXR5VHlwZS5jc1BLBQYA
AAAASABIAIQTAADaeQAAAAA=

------_=_NextPart_000_01C1D48A.CF734D20
Content-Type: application/octet-stream;
	name="schema.xsd"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="schema.xsd"

<?xml version=3D'1.0' encoding=3D'UTF-8'?>
<xs:schema targetNamespace=3D"http://www.w3.org/2001/XMLSchema" =
blockDefault=3D"#all" elementFormDefault=3D"qualified" version=3D"Id: =
XMLSchema.xsd,v 1.48 2001/04/24 18:56:39 ht Exp " =
xmlns:xs=3D"http://www.w3.org/2001/XMLSchema" xml:lang=3D"EN">

 <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/structures.=
html">
   The schema corresponding to this document is normative,
   with respect to the syntactic constraints it expresses in the
   XML Schema language.  The documentation (within &lt;documentation> =
elements)
   below, is not normative, but rather highlights important aspects of
   the W3C Recommendation of which this is a part</xs:documentation>
 </xs:annotation>

 <xs:annotation>
   <xs:documentation>
   The simpleType element and all of its members are defined
   in datatypes.xsd</xs:documentation>
 </xs:annotation>

 <xs:include schemaLocation=3D"datatypes.xsd"/>

 <xs:import namespace=3D"http://www.w3.org/XML/1998/namespace" =
schemaLocation=3D"http://www.w3.org/2001/xml.xsd">
   <xs:annotation>
     <xs:documentation>
       Get access to the xml: attribute groups for xml:lang
       as declared on 'schema' and 'documentation' below
     </xs:documentation>
   </xs:annotation>
 </xs:import>

 <xs:complexType name=3D"openAttrs">
   <xs:annotation>
     <xs:documentation>
       This type is extended by almost all schema types
       to allow attributes from other namespaces to be
       added to user schemas.
     </xs:documentation>
   </xs:annotation>
   <xs:complexContent>
     <xs:restriction base=3D"xs:anyType">
       <xs:anyAttribute namespace=3D"##other" processContents=3D"lax"/>
     </xs:restriction>
   </xs:complexContent>
 </xs:complexType>

 <xs:complexType name=3D"annotated">
   <xs:annotation>
     <xs:documentation>
       This type is extended by all types which allow annotation
       other than &lt;schema&gt; itself
     </xs:documentation>
   </xs:annotation>
   <xs:complexContent>
     <xs:extension base=3D"xs:openAttrs">
       <xs:sequence>
	 <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
       </xs:sequence>
       <xs:attribute name=3D"id" type=3D"xs:ID"/>
     </xs:extension>
   </xs:complexContent>
 </xs:complexType>

 <xs:group name=3D"schemaTop">
  <xs:annotation>
   <xs:documentation>
   This group is for the
   elements which occur freely at the top level of schemas.
   All of their types are based on the "annotated" type by =
extension.</xs:documentation>
  </xs:annotation>
  <xs:choice>
   <xs:group ref=3D"xs:redefinable"/>
   <xs:element ref=3D"xs:element"/>
   <xs:element ref=3D"xs:attribute"/>
   <xs:element ref=3D"xs:notation"/>
  </xs:choice>
 </xs:group>
=20
 <xs:group name=3D"redefinable">
  <xs:annotation>
   <xs:documentation>
   This group is for the
   elements which can self-redefine (see &lt;redefine> =
below).</xs:documentation>
  </xs:annotation>
  <xs:choice>
   <xs:element ref=3D"xs:simpleType"/>
   <xs:element ref=3D"xs:complexType"/>
   <xs:element ref=3D"xs:group"/>
   <xs:element ref=3D"xs:attributeGroup"/>
  </xs:choice>
 </xs:group>

 <xs:simpleType name=3D"formChoice">
  <xs:annotation>
   <xs:documentation>
   A utility type, not for public use</xs:documentation>
  </xs:annotation>
  <xs:restriction base=3D"xs:NMTOKEN">
   <xs:enumeration value=3D"qualified"/>
   <xs:enumeration value=3D"unqualified"/>
  </xs:restriction>
 </xs:simpleType>

 <xs:simpleType name=3D"reducedDerivationControl">
  <xs:annotation>
   <xs:documentation>
   A utility type, not for public use</xs:documentation>
  </xs:annotation>
  <xs:restriction base=3D"xs:derivationControl">
   <xs:enumeration value=3D"extension"/>
   <xs:enumeration value=3D"restriction"/>
  </xs:restriction>
 </xs:simpleType>

 <xs:simpleType name=3D"derivationSet">
  <xs:annotation>
   <xs:documentation>
   A utility type, not for public use</xs:documentation>
   <xs:documentation>
   #all or (possibly empty) subset of {extension, =
restriction}</xs:documentation>
  </xs:annotation>
  <xs:union>
   <xs:simpleType>   =20
    <xs:restriction base=3D"xs:token">
     <xs:enumeration value=3D"#all"/>
    </xs:restriction>
   </xs:simpleType>
   <xs:simpleType>
    <xs:list itemType=3D"xs:reducedDerivationControl"/>
   </xs:simpleType>
  </xs:union>
 </xs:simpleType>

 <xs:element name=3D"schema" id=3D"schema">
  <xs:annotation>
    <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-schema"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:openAttrs">
     <xs:sequence>
      <xs:choice minOccurs=3D"0" maxOccurs=3D"unbounded">
       <xs:element ref=3D"xs:include"/>
       <xs:element ref=3D"xs:import"/>
       <xs:element ref=3D"xs:redefine"/>
       <xs:element ref=3D"xs:annotation"/>
      </xs:choice>
      <xs:sequence minOccurs=3D"0" maxOccurs=3D"unbounded">
       <xs:group ref=3D"xs:schemaTop"/>
       <xs:element ref=3D"xs:annotation" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
      </xs:sequence>
     </xs:sequence>
     <xs:attribute name=3D"targetNamespace" type=3D"xs:anyURI"/>
     <xs:attribute name=3D"version" type=3D"xs:token"/>
     <xs:attribute name=3D"finalDefault" type=3D"xs:derivationSet" =
use=3D"optional" default=3D""/>
     <xs:attribute name=3D"blockDefault" type=3D"xs:blockSet" =
use=3D"optional" default=3D""/>
     <xs:attribute name=3D"attributeFormDefault" type=3D"xs:formChoice" =
use=3D"optional" default=3D"unqualified"/>
     <xs:attribute name=3D"elementFormDefault" type=3D"xs:formChoice" =
use=3D"optional" default=3D"unqualified"/>
     <xs:attribute name=3D"id" type=3D"xs:ID"/>
     <xs:attribute ref=3D"xml:lang"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>

  <xs:key name=3D"element">
   <xs:selector xpath=3D"xs:element"/>
   <xs:field xpath=3D"@name"/>
  </xs:key>

  <xs:key name=3D"attribute">
   <xs:selector xpath=3D"xs:attribute"/>
   <xs:field xpath=3D"@name"/>
  </xs:key>

  <xs:key name=3D"type">
   <xs:selector xpath=3D"xs:complexType|xs:simpleType"/>
   <xs:field xpath=3D"@name"/>
  </xs:key>
=20
  <xs:key name=3D"group">
   <xs:selector xpath=3D"xs:group"/>
   <xs:field xpath=3D"@name"/>
  </xs:key>
=20
  <xs:key name=3D"attributeGroup">
   <xs:selector xpath=3D"xs:attributeGroup"/>
   <xs:field xpath=3D"@name"/>
  </xs:key>
=20
  <xs:key name=3D"notation">
   <xs:selector xpath=3D"xs:notation"/>
   <xs:field xpath=3D"@name"/>
  </xs:key>

  <xs:key name=3D"identityConstraint">
   <xs:selector xpath=3D".//xs:key|.//xs:unique|.//xs:keyref"/>
   <xs:field xpath=3D"@name"/>
  </xs:key>

 </xs:element>

 <xs:simpleType name=3D"allNNI">
  <xs:annotation><xs:documentation>
   for maxOccurs</xs:documentation></xs:annotation>
  <xs:union memberTypes=3D"xs:nonNegativeInteger">
   <xs:simpleType>
    <xs:restriction base=3D"xs:NMTOKEN">
     <xs:enumeration value=3D"unbounded"/>
    </xs:restriction>
   </xs:simpleType>
  </xs:union>
 </xs:simpleType>

 <xs:attributeGroup name=3D"occurs">
  <xs:annotation><xs:documentation>
   for all particles</xs:documentation></xs:annotation>
  <xs:attribute name=3D"minOccurs" type=3D"xs:nonNegativeInteger" =
use=3D"optional" default=3D"1"/>
  <xs:attribute name=3D"maxOccurs" type=3D"xs:allNNI" use=3D"optional" =
default=3D"1"/>
 </xs:attributeGroup>

 <xs:attributeGroup name=3D"defRef">
  <xs:annotation><xs:documentation>
   for element, group and attributeGroup,
   which both define and reference</xs:documentation></xs:annotation>
  <xs:attribute name=3D"name" type=3D"xs:NCName"/>
  <xs:attribute name=3D"ref" type=3D"xs:QName"/>
 </xs:attributeGroup>

 <xs:group name=3D"typeDefParticle">
  <xs:annotation>
    <xs:documentation>
   'complexType' uses this</xs:documentation></xs:annotation>
  <xs:choice>
   <xs:element name=3D"group" type=3D"xs:groupRef"/>
   <xs:element ref=3D"xs:all"/>
   <xs:element ref=3D"xs:choice"/>
   <xs:element ref=3D"xs:sequence"/>
  </xs:choice>
 </xs:group>
=20
=20

 <xs:group name=3D"nestedParticle">
  <xs:choice>
   <xs:element name=3D"element" type=3D"xs:localElement"/>
   <xs:element name=3D"group" type=3D"xs:groupRef"/>
   <xs:element ref=3D"xs:choice"/>
   <xs:element ref=3D"xs:sequence"/>
   <xs:element ref=3D"xs:any"/>
  </xs:choice>
 </xs:group>
=20
 <xs:group name=3D"particle">
  <xs:choice>
   <xs:element name=3D"element" type=3D"xs:localElement"/>
   <xs:element name=3D"group" type=3D"xs:groupRef"/>
   <xs:element ref=3D"xs:all"/>
   <xs:element ref=3D"xs:choice"/>
   <xs:element ref=3D"xs:sequence"/>
   <xs:element ref=3D"xs:any"/>
  </xs:choice>
 </xs:group>
=20
 <xs:complexType name=3D"attribute">
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:sequence>
     <xs:element name=3D"simpleType" minOccurs=3D"0" =
type=3D"xs:localSimpleType"/>
    </xs:sequence>
    <xs:attributeGroup ref=3D"xs:defRef"/>
    <xs:attribute name=3D"type" type=3D"xs:QName"/>
    <xs:attribute name=3D"use" use=3D"optional" default=3D"optional">
     <xs:simpleType>
      <xs:restriction base=3D"xs:NMTOKEN">
       <xs:enumeration value=3D"prohibited"/>
       <xs:enumeration value=3D"optional"/>
       <xs:enumeration value=3D"required"/>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
    <xs:attribute name=3D"default" type=3D"xs:string"/>
    <xs:attribute name=3D"fixed" type=3D"xs:string"/>
    <xs:attribute name=3D"form" type=3D"xs:formChoice"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"topLevelAttribute">
  <xs:complexContent>
   <xs:restriction base=3D"xs:attribute">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:element name=3D"simpleType" minOccurs=3D"0" =
type=3D"xs:localSimpleType"/>
    </xs:sequence>
    <xs:attribute name=3D"ref" use=3D"prohibited"/>
    <xs:attribute name=3D"form" use=3D"prohibited"/>
    <xs:attribute name=3D"use" use=3D"prohibited"/>
    <xs:attribute name=3D"name" use=3D"required" type=3D"xs:NCName"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:group name=3D"attrDecls">
  <xs:sequence>
   <xs:choice minOccurs=3D"0" maxOccurs=3D"unbounded">
    <xs:element name=3D"attribute" type=3D"xs:attribute"/>
    <xs:element name=3D"attributeGroup" type=3D"xs:attributeGroupRef"/>
   </xs:choice>
   <xs:element ref=3D"xs:anyAttribute" minOccurs=3D"0"/>
  </xs:sequence>
 </xs:group>

 <xs:element name=3D"anyAttribute" type=3D"xs:wildcard" =
id=3D"anyAttribute">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-anyAttribute"/>
  </xs:annotation>
 </xs:element>

 <xs:group name=3D"complexTypeModel">
  <xs:choice>
      <xs:element ref=3D"xs:simpleContent"/>
      <xs:element ref=3D"xs:complexContent"/>
      <xs:sequence>
       <xs:annotation>
        <xs:documentation>
   This branch is short for
   &lt;complexContent>
   &lt;restriction base=3D"xs:anyType">
   ...
   &lt;/restriction>
   &lt;/complexContent></xs:documentation>
       </xs:annotation>
       <xs:group ref=3D"xs:typeDefParticle" minOccurs=3D"0"/>
       <xs:group ref=3D"xs:attrDecls"/>
      </xs:sequence>
  </xs:choice>
 </xs:group>

 <xs:complexType name=3D"complexType" abstract=3D"true">
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:group ref=3D"xs:complexTypeModel"/>
    <xs:attribute name=3D"name" type=3D"xs:NCName">
     <xs:annotation>
      <xs:documentation>
      Will be restricted to required or forbidden</xs:documentation>
     </xs:annotation>
    </xs:attribute>
    <xs:attribute name=3D"mixed" type=3D"xs:boolean" use=3D"optional" =
default=3D"false">
     <xs:annotation>
      <xs:documentation>
      Not allowed if simpleContent child is chosen.
      May be overriden by setting on complexContent =
child.</xs:documentation>
    </xs:annotation>
    </xs:attribute>
    <xs:attribute name=3D"abstract" type=3D"xs:boolean" =
use=3D"optional" default=3D"false"/>
    <xs:attribute name=3D"final" type=3D"xs:derivationSet"/>
    <xs:attribute name=3D"block" type=3D"xs:derivationSet"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"topLevelComplexType">
  <xs:complexContent>
   <xs:restriction base=3D"xs:complexType">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:complexTypeModel"/>
    </xs:sequence>
    <xs:attribute name=3D"name" type=3D"xs:NCName" use=3D"required"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"localComplexType">
  <xs:complexContent>
   <xs:restriction base=3D"xs:complexType">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:complexTypeModel"/>
    </xs:sequence>
    <xs:attribute name=3D"name" use=3D"prohibited"/>
    <xs:attribute name=3D"abstract" use=3D"prohibited"/>
    <xs:attribute name=3D"final" use=3D"prohibited"/>
    <xs:attribute name=3D"block" use=3D"prohibited"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"restrictionType">
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:sequence>
     <xs:choice>
      <xs:group ref=3D"xs:typeDefParticle" minOccurs=3D"0"/>
      <xs:group ref=3D"xs:simpleRestrictionModel" minOccurs=3D"0"/>
     </xs:choice>
     <xs:group ref=3D"xs:attrDecls"/>
    </xs:sequence>
    <xs:attribute name=3D"base" type=3D"xs:QName" use=3D"required"/>
   </xs:extension>
  </xs:complexContent>      =20
 </xs:complexType>

 <xs:complexType name=3D"complexRestrictionType">
  <xs:complexContent>
   <xs:restriction base=3D"xs:restrictionType">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:typeDefParticle" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:attrDecls"/>
    </xs:sequence>
   </xs:restriction>
  </xs:complexContent>      =20
 </xs:complexType>

 <xs:complexType name=3D"extensionType">
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:sequence>
     <xs:group ref=3D"xs:typeDefParticle" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:attrDecls"/>
    </xs:sequence>
    <xs:attribute name=3D"base" type=3D"xs:QName" use=3D"required"/>
   </xs:extension>
  </xs:complexContent>      =20
 </xs:complexType>

 <xs:element name=3D"complexContent" id=3D"complexContent">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:annotated">
     <xs:choice>
      <xs:element name=3D"restriction" =
type=3D"xs:complexRestrictionType"/>
      <xs:element name=3D"extension" type=3D"xs:extensionType"/>
     </xs:choice>    =20
     <xs:attribute name=3D"mixed" type=3D"xs:boolean">
      <xs:annotation>
       <xs:documentation>
       Overrides any setting on complexType parent.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>

 <xs:complexType name=3D"simpleRestrictionType">
  <xs:complexContent>
   <xs:restriction base=3D"xs:restrictionType">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:simpleRestrictionModel" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:attrDecls"/>
    </xs:sequence>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:complexType name=3D"simpleExtensionType">
  <xs:complexContent>
   <xs:restriction base=3D"xs:extensionType">
    <xs:sequence>
     <xs:annotation>
      <xs:documentation>
      No typeDefParticle group reference</xs:documentation>
     </xs:annotation>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:attrDecls"/>
    </xs:sequence>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:element name=3D"simpleContent" id=3D"simpleContent">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:annotated">
     <xs:choice>
      <xs:element name=3D"restriction" =
type=3D"xs:simpleRestrictionType"/>
      <xs:element name=3D"extension" type=3D"xs:simpleExtensionType"/>
     </xs:choice>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>
=20
 <xs:element name=3D"complexType" type=3D"xs:topLevelComplexType" =
id=3D"complexType">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
  </xs:annotation>
 </xs:element>


  <xs:simpleType name=3D"blockSet">
   <xs:annotation>
    <xs:documentation>
    A utility type, not for public use</xs:documentation>
    <xs:documentation>
    #all or (possibly empty) subset of {substitution, extension,
    restriction}</xs:documentation>
   </xs:annotation>
   <xs:union>
    <xs:simpleType>   =20
     <xs:restriction base=3D"xs:token">
      <xs:enumeration value=3D"#all"/>
     </xs:restriction>
    </xs:simpleType>
    <xs:simpleType>
     <xs:list>
      <xs:simpleType>
       <xs:restriction base=3D"xs:derivationControl">
        <xs:enumeration value=3D"extension"/>
        <xs:enumeration value=3D"restriction"/>
        <xs:enumeration value=3D"substitution"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:list>
    </xs:simpleType>
   </xs:union> =20
  </xs:simpleType>

 <xs:complexType name=3D"element" abstract=3D"true">
  <xs:annotation>
   <xs:documentation>
   The element element can be used either
   at the top level to define an element-type binding globally,
   or within a content model to either reference a globally-defined
   element or type or declare an element-type binding locally.
   The ref form is not allowed at the top level.</xs:documentation>
  </xs:annotation>

  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:sequence>
     <xs:choice minOccurs=3D"0">
      <xs:element name=3D"simpleType" type=3D"xs:localSimpleType"/>
      <xs:element name=3D"complexType" type=3D"xs:localComplexType"/>
     </xs:choice>
     <xs:group ref=3D"xs:identityConstraint" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref=3D"xs:defRef"/>
    <xs:attribute name=3D"type" type=3D"xs:QName"/>
    <xs:attribute name=3D"substitutionGroup" type=3D"xs:QName"/>
    <xs:attributeGroup ref=3D"xs:occurs"/>
    <xs:attribute name=3D"default" type=3D"xs:string"/>
    <xs:attribute name=3D"fixed" type=3D"xs:string"/>
    <xs:attribute name=3D"nillable" type=3D"xs:boolean" =
use=3D"optional" default=3D"false"/>
    <xs:attribute name=3D"abstract" type=3D"xs:boolean" =
use=3D"optional" default=3D"false"/>
    <xs:attribute name=3D"final" type=3D"xs:derivationSet"/>
    <xs:attribute name=3D"block" type=3D"xs:blockSet"/>
    <xs:attribute name=3D"form" type=3D"xs:formChoice"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"topLevelElement">
  <xs:complexContent>
   <xs:restriction base=3D"xs:element">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:choice minOccurs=3D"0">
      <xs:element name=3D"simpleType" type=3D"xs:localSimpleType"/>
      <xs:element name=3D"complexType" type=3D"xs:localComplexType"/>
     </xs:choice>
     <xs:group ref=3D"xs:identityConstraint" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
    </xs:sequence>
    <xs:attribute name=3D"ref" use=3D"prohibited"/>
    <xs:attribute name=3D"form" use=3D"prohibited"/>
    <xs:attribute name=3D"minOccurs" use=3D"prohibited"/>
    <xs:attribute name=3D"maxOccurs" use=3D"prohibited"/>
    <xs:attribute name=3D"name" use=3D"required" type=3D"xs:NCName"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"localElement">
  <xs:complexContent>
   <xs:restriction base=3D"xs:element">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:choice minOccurs=3D"0">
      <xs:element name=3D"simpleType" type=3D"xs:localSimpleType"/>
      <xs:element name=3D"complexType" type=3D"xs:localComplexType"/>
     </xs:choice>
     <xs:group ref=3D"xs:identityConstraint" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
    </xs:sequence>
    <xs:attribute name=3D"substitutionGroup" use=3D"prohibited"/>
    <xs:attribute name=3D"final" use=3D"prohibited"/>
    <xs:attribute name=3D"abstract" use=3D"prohibited"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:element name=3D"element" type=3D"xs:topLevelElement" =
id=3D"element">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-element"/>
  </xs:annotation>
 </xs:element>

 <xs:complexType name=3D"group" abstract=3D"true">
  <xs:annotation>
   <xs:documentation>
   group type for explicit groups, named top-level groups and
   group references</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:group ref=3D"xs:particle" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
    <xs:attributeGroup ref=3D"xs:defRef"/>
    <xs:attributeGroup ref=3D"xs:occurs"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"realGroup">
  <xs:complexContent>
   <xs:restriction base=3D"xs:group">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:choice minOccurs=3D"0" maxOccurs=3D"1">
      <xs:element ref=3D"xs:all"/>
      <xs:element ref=3D"xs:choice"/>
      <xs:element ref=3D"xs:sequence"/>
     </xs:choice>
    </xs:sequence>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:complexType name=3D"namedGroup">
  <xs:annotation>
   <xs:documentation>Should derive this from realGroup, but too =
complicated=20
                      for now</xs:documentation>
  </xs:annotation>
  <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:choice minOccurs=3D"1" maxOccurs=3D"1">
      <xs:element name=3D"all">
       <xs:complexType>
        <xs:complexContent>
         <xs:restriction base=3D"xs:all">
          <xs:group ref=3D"xs:allModel"/>
          <xs:attribute name=3D"minOccurs" use=3D"prohibited"/>
          <xs:attribute name=3D"maxOccurs" use=3D"prohibited"/>
         </xs:restriction>
        </xs:complexContent>
       </xs:complexType>
      </xs:element>
      <xs:element name=3D"choice" type=3D"xs:simpleExplicitGroup"/>
      <xs:element name=3D"sequence" type=3D"xs:simpleExplicitGroup"/>
     </xs:choice>
    </xs:sequence>
    <xs:attribute name=3D"name" use=3D"required" type=3D"xs:NCName"/>
    <xs:attribute name=3D"ref" use=3D"prohibited"/>
    <xs:attribute name=3D"minOccurs" use=3D"prohibited"/>
    <xs:attribute name=3D"maxOccurs" use=3D"prohibited"/>
 </xs:complexType>

 <xs:complexType name=3D"groupRef">
  <xs:complexContent>
   <xs:restriction base=3D"xs:realGroup">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
    </xs:sequence>
    <xs:attribute name=3D"ref" use=3D"required" type=3D"xs:QName"/>
    <xs:attribute name=3D"name" use=3D"prohibited"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:complexType name=3D"explicitGroup">
  <xs:annotation>
   <xs:documentation>
   group type for the three kinds of group</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
   <xs:restriction base=3D"xs:group">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:nestedParticle" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
    </xs:sequence>
    <xs:attribute name=3D"name" type=3D"xs:NCName" use=3D"prohibited"/>
    <xs:attribute name=3D"ref" type=3D"xs:QName" use=3D"prohibited"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"simpleExplicitGroup">
  <xs:complexContent>
   <xs:restriction base=3D"xs:explicitGroup">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:nestedParticle" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
    </xs:sequence>
    <xs:attribute name=3D"minOccurs" use=3D"prohibited"/>
    <xs:attribute name=3D"maxOccurs" use=3D"prohibited"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:group name=3D"allModel">
  <xs:sequence>
      <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
      <xs:element name=3D"element" minOccurs=3D"0" =
maxOccurs=3D"unbounded">
       <xs:complexType>
        <xs:annotation>
         <xs:documentation>restricted max/min</xs:documentation>
        </xs:annotation>
        <xs:complexContent>
         <xs:restriction base=3D"xs:localElement">
          <xs:sequence>
           <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
           <xs:choice minOccurs=3D"0">
            <xs:element name=3D"simpleType" =
type=3D"xs:localSimpleType"/>
            <xs:element name=3D"complexType" =
type=3D"xs:localComplexType"/>
           </xs:choice>
           <xs:group ref=3D"xs:identityConstraint" minOccurs=3D"0" =
maxOccurs=3D"unbounded"/>
          </xs:sequence>
          <xs:attribute name=3D"minOccurs" use=3D"optional" =
default=3D"1">
           <xs:simpleType>
            <xs:restriction base=3D"xs:nonNegativeInteger">
             <xs:enumeration value=3D"0"/>
             <xs:enumeration value=3D"1"/>
            </xs:restriction>
           </xs:simpleType>
          </xs:attribute>
          <xs:attribute name=3D"maxOccurs" use=3D"optional" =
default=3D"1">
           <xs:simpleType>
            <xs:restriction base=3D"xs:allNNI">
             <xs:enumeration value=3D"0"/>
             <xs:enumeration value=3D"1"/>
            </xs:restriction>
           </xs:simpleType>
          </xs:attribute>
         </xs:restriction>
        </xs:complexContent>
       </xs:complexType>   =20
      </xs:element>
     </xs:sequence>
 </xs:group>

  <xs:complexType name=3D"all">
   <xs:annotation>
    <xs:documentation>
   Only elements allowed inside</xs:documentation>
   </xs:annotation>
   <xs:complexContent>
    <xs:restriction base=3D"xs:explicitGroup">
     <xs:group ref=3D"xs:allModel"/>
     <xs:attribute name=3D"minOccurs" use=3D"optional" default=3D"1">
      <xs:simpleType>
       <xs:restriction base=3D"xs:nonNegativeInteger">
        <xs:enumeration value=3D"0"/>
        <xs:enumeration value=3D"1"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
     <xs:attribute name=3D"maxOccurs" use=3D"optional" default=3D"1">
      <xs:simpleType>
       <xs:restriction base=3D"xs:allNNI">
        <xs:enumeration value=3D"1"/>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
    </xs:restriction>
   </xs:complexContent>
  </xs:complexType>

 <xs:element name=3D"all" id=3D"all" type=3D"xs:all">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-all"/>
  </xs:annotation>
 </xs:element>

 <xs:element name=3D"choice" type=3D"xs:explicitGroup" id=3D"choice">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-choice"/>
  </xs:annotation>
 </xs:element>

 <xs:element name=3D"sequence" type=3D"xs:explicitGroup" =
id=3D"sequence">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
  </xs:annotation>
 </xs:element>

 <xs:element name=3D"group" type=3D"xs:namedGroup" id=3D"group">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-group"/>
  </xs:annotation>
 </xs:element>

 <xs:complexType name=3D"wildcard">
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:attribute name=3D"namespace" type=3D"xs:namespaceList" =
use=3D"optional" default=3D"##any"/>
    <xs:attribute name=3D"processContents" use=3D"optional" =
default=3D"strict">
     <xs:simpleType>
      <xs:restriction base=3D"xs:NMTOKEN">
       <xs:enumeration value=3D"skip"/>
       <xs:enumeration value=3D"lax"/>
       <xs:enumeration value=3D"strict"/>
      </xs:restriction>
     </xs:simpleType>
    </xs:attribute>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>

 <xs:element name=3D"any" id=3D"any">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-any"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:wildcard">
     <xs:attributeGroup ref=3D"xs:occurs"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>

  <xs:annotation>
   <xs:documentation>
   simple type for the value of the 'namespace' attr of
   'any' and 'anyAttribute'</xs:documentation>
  </xs:annotation>
  <xs:annotation>
   <xs:documentation>
   Value is
              ##any      - - any non-conflicting WFXML/attribute at all

              ##other    - - any non-conflicting WFXML/attribute from
                              namespace other than targetNS

              ##local    - - any unqualified non-conflicting =
WFXML/attribute=20

              one or     - - any non-conflicting WFXML/attribute from
              more URI        the listed namespaces
              references
              (space separated)

    ##targetNamespace or ##local may appear in the above list, to
        refer to the targetNamespace of the enclosing
        schema or an absent targetNamespace =
respectively</xs:documentation>
  </xs:annotation>

 <xs:simpleType name=3D"namespaceList">
  <xs:annotation>
   <xs:documentation>
   A utility type, not for public use</xs:documentation>
  </xs:annotation>
  <xs:union>
   <xs:simpleType>
    <xs:restriction base=3D"xs:token">
     <xs:enumeration value=3D"##any"/>
     <xs:enumeration value=3D"##other"/>
    </xs:restriction>
   </xs:simpleType>
   <xs:simpleType>
    <xs:list>
     <xs:simpleType>
      <xs:union memberTypes=3D"xs:anyURI">
       <xs:simpleType>
        <xs:restriction base=3D"xs:token">
         <xs:enumeration value=3D"##targetNamespace"/>
         <xs:enumeration value=3D"##local"/>
        </xs:restriction>
       </xs:simpleType>
      </xs:union>
     </xs:simpleType>
    </xs:list>
   </xs:simpleType>
  </xs:union>
 </xs:simpleType>

 <xs:element name=3D"attribute" type=3D"xs:topLevelAttribute" =
id=3D"attribute">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
  </xs:annotation>
 </xs:element>

 <xs:complexType name=3D"attributeGroup" abstract=3D"true">
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:group ref=3D"xs:attrDecls"/>
    <xs:attributeGroup ref=3D"xs:defRef"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
=20
 <xs:complexType name=3D"namedAttributeGroup">
  <xs:complexContent>
   <xs:restriction base=3D"xs:attributeGroup">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
     <xs:group ref=3D"xs:attrDecls"/>
    </xs:sequence>
    <xs:attribute name=3D"name" use=3D"required" type=3D"xs:NCName"/>
    <xs:attribute name=3D"ref" use=3D"prohibited"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:complexType name=3D"attributeGroupRef">
  <xs:complexContent>
   <xs:restriction base=3D"xs:attributeGroup">
    <xs:sequence>
     <xs:element ref=3D"xs:annotation" minOccurs=3D"0"/>
    </xs:sequence>
    <xs:attribute name=3D"ref" use=3D"required" type=3D"xs:QName"/>
    <xs:attribute name=3D"name" use=3D"prohibited"/>
   </xs:restriction>
  </xs:complexContent>
 </xs:complexType>

 <xs:element name=3D"attributeGroup" type=3D"xs:namedAttributeGroup" =
id=3D"attributeGroup">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
  </xs:annotation>
 </xs:element>

 <xs:element name=3D"include" id=3D"include">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-include"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:annotated">
     <xs:attribute name=3D"schemaLocation" type=3D"xs:anyURI" =
use=3D"required"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>

 <xs:element name=3D"redefine" id=3D"redefine">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:openAttrs">
     <xs:choice minOccurs=3D"0" maxOccurs=3D"unbounded">
      <xs:element ref=3D"xs:annotation"/>
      <xs:group ref=3D"xs:redefinable"/>
     </xs:choice>
     <xs:attribute name=3D"schemaLocation" type=3D"xs:anyURI" =
use=3D"required"/>
     <xs:attribute name=3D"id" type=3D"xs:ID"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>

 <xs:element name=3D"import" id=3D"import">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-import"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:annotated">
     <xs:attribute name=3D"namespace" type=3D"xs:anyURI"/>
     <xs:attribute name=3D"schemaLocation" type=3D"xs:anyURI"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>

 <xs:element name=3D"selector" id=3D"selector">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-selector"/>
  </xs:annotation>
  <xs:complexType>
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
     <xs:attribute name=3D"xpath" use=3D"required">
      <xs:simpleType>
       <xs:annotation>
        <xs:documentation>A subset of XPath expressions for use
in selectors</xs:documentation>
        <xs:documentation>A utility type, not for public
use</xs:documentation>
       </xs:annotation>
       <xs:restriction base=3D"xs:token">
        <xs:annotation>
         <xs:documentation>The following pattern is intended to allow =
XPath
                           expressions per the following EBNF:
	  Selector    ::=3D    Path ( '|' Path )* =20
	  Path    ::=3D    ('.//')? Step ( '/' Step )* =20
	  Step    ::=3D    '.' | NameTest =20
	  NameTest    ::=3D    QName | '*' | NCName ':' '*' =20
                           child:: is also allowed
         </xs:documentation>
        </xs:annotation>
        <xs:pattern =
value=3D"(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i=
\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)=
(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
        </xs:pattern>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
 </xs:element>

 <xs:element name=3D"field" id=3D"field">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-field"/>
  </xs:annotation>
  <xs:complexType>
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
     <xs:attribute name=3D"xpath" use=3D"required">
      <xs:simpleType>
       <xs:annotation>
        <xs:documentation>A subset of XPath expressions for use
in fields</xs:documentation>
        <xs:documentation>A utility type, not for public
use</xs:documentation>
       </xs:annotation>
       <xs:restriction base=3D"xs:token">
        <xs:annotation>
         <xs:documentation>The following pattern is intended to allow =
XPath
                           expressions per the same EBNF as for =
selector,
                           with the following change:
          Path    ::=3D    ('.//')? ( Step '/' )* ( Step | '@' NameTest =
)=20
         </xs:documentation>
        </xs:annotation>
        <xs:pattern =
value=3D"(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?(=
(\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\./=
/)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\=
c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*">
        </xs:pattern>
       </xs:restriction>
      </xs:simpleType>
     </xs:attribute>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
 </xs:element>

 <xs:complexType name=3D"keybase">
  <xs:complexContent>
   <xs:extension base=3D"xs:annotated">
    <xs:sequence>
     <xs:element ref=3D"xs:selector"/>
     <xs:element ref=3D"xs:field" minOccurs=3D"1" =
maxOccurs=3D"unbounded"/>
    </xs:sequence>
    <xs:attribute name=3D"name" type=3D"xs:NCName" use=3D"required"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>

 <xs:group name=3D"identityConstraint">
  <xs:annotation>
   <xs:documentation>The three kinds of identity constraints, all with
                     type of or derived from 'keybase'.
   </xs:documentation>
  </xs:annotation>
  <xs:choice>
   <xs:element ref=3D"xs:unique"/>
   <xs:element ref=3D"xs:key"/>
   <xs:element ref=3D"xs:keyref"/>
  </xs:choice>
 </xs:group>

 <xs:element name=3D"unique" type=3D"xs:keybase" id=3D"unique">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-unique"/>
  </xs:annotation>
 </xs:element>
 <xs:element name=3D"key" type=3D"xs:keybase" id=3D"key">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-key"/>
  </xs:annotation>
 </xs:element>
 <xs:element name=3D"keyref" id=3D"keyref">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:keybase">
     <xs:attribute name=3D"refer" type=3D"xs:QName" use=3D"required"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>

 <xs:element name=3D"notation" id=3D"notation">
  <xs:annotation>
   <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-notation"/>
  </xs:annotation>
  <xs:complexType>
   <xs:complexContent>
    <xs:extension base=3D"xs:annotated">
     <xs:attribute name=3D"name" type=3D"xs:NCName" use=3D"required"/>
     <xs:attribute name=3D"public" type=3D"xs:public" =
use=3D"required"/>
     <xs:attribute name=3D"system" type=3D"xs:anyURI"/>
    </xs:extension>
   </xs:complexContent>
  </xs:complexType>
 </xs:element>

 <xs:simpleType name=3D"public">
  <xs:annotation>
   <xs:documentation>
   A utility type, not for public use</xs:documentation>
   <xs:documentation>
   A public identifier, per ISO 8879</xs:documentation>
  </xs:annotation>
  <xs:restriction base=3D"xs:token"/>
 </xs:simpleType>

 <xs:element name=3D"appinfo" id=3D"appinfo">
   <xs:annotation>
     <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-appinfo"/>
   </xs:annotation>
   <xs:complexType mixed=3D"true">
     <xs:sequence minOccurs=3D"0" maxOccurs=3D"unbounded">
       <xs:any processContents=3D"lax"/>
     </xs:sequence>
     <xs:attribute name=3D"source" type=3D"xs:anyURI"/>
   </xs:complexType>
 </xs:element>

 <xs:element name=3D"documentation" id=3D"documentation">
   <xs:annotation>
     <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
   </xs:annotation>
   <xs:complexType mixed=3D"true">
     <xs:sequence minOccurs=3D"0" maxOccurs=3D"unbounded">
       <xs:any processContents=3D"lax"/>
     </xs:sequence>
     <xs:attribute name=3D"source" type=3D"xs:anyURI"/>
   <xs:attribute ref=3D"xml:lang"/>
   </xs:complexType>
 </xs:element>

 <xs:element name=3D"annotation" id=3D"annotation">
   <xs:annotation>
     <xs:documentation =
source=3D"http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
   </xs:annotation>
   <xs:complexType>
    <xs:complexContent>
     <xs:extension base=3D"xs:openAttrs">
      <xs:choice minOccurs=3D"0" maxOccurs=3D"unbounded">
       <xs:element ref=3D"xs:appinfo"/>
       <xs:element ref=3D"xs:documentation"/>
      </xs:choice>
      <xs:attribute name=3D"id" type=3D"xs:ID"/>
     </xs:extension>
    </xs:complexContent>
   </xs:complexType>
 </xs:element>

 <xs:annotation>
  <xs:documentation>
   notations for use within XML Schema schemas</xs:documentation>
 </xs:annotation>

 <xs:notation name=3D"XMLSchemaStructures" public=3D"structures" =
system=3D"http://www.w3.org/2000/08/XMLSchema.xsd"/>
 <xs:notation name=3D"XML" public=3D"REC-xml-19980210" =
system=3D"http://www.w3.org/TR/1998/REC-xml-19980210"/>
=20
 <xs:complexType name=3D"anyType" mixed=3D"true">
  <xs:annotation>
   <xs:documentation>
   Not the real urType, but as close an approximation as we can
   get in the XML representation</xs:documentation>
  </xs:annotation>
  <xs:sequence>
   <xs:any minOccurs=3D"0" maxOccurs=3D"unbounded"/>
  </xs:sequence>
  <xs:anyAttribute/>
 </xs:complexType>
</xs:schema>
------_=_NextPart_000_01C1D48A.CF734D20--