<!--Created with Liquid XML Studio 2013 Designer Edition 11.0.0.0 (http://www.liquid-technologies.com)-->
<xs:schema xmlns:structure="http://relaxng.org/ns/structure/1.0"
elementFormDefault="qualified"
targetNamespace="http://relaxng.org/ns/structure/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group name="pattern">
<xs:choice>
<xs:element ref="structure:element" />
<xs:element ref="structure:attribute" />
<xs:element ref="structure:group" />
<xs:element ref="structure:interleave" />
<xs:element name="choice">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element ref="structure:optional" />
<xs:element ref="structure:zeroOrMore" />
<xs:element ref="structure:oneOrMore" />
<xs:element ref="structure:list" />
<xs:element ref="structure:mixed" />
<xs:element ref="structure:ref" />
<xs:element ref="structure:parentRef" />
<xs:element ref="structure:empty" />
<xs:element ref="structure:text" />
<xs:element ref="structure:value" />
<xs:element ref="structure:data" />
<xs:element ref="structure:notAllowed" />
<xs:element ref="structure:externalRef" />
<xs:element ref="structure:grammar" />
</xs:choice>
</xs:group>
<xs:element name="element">
<xs:complexType>
<xs:sequence>
<xs:group minOccurs="0"
ref="structure:open-name-class" />
<xs:group ref="structure:open-patterns" />
</xs:sequence>
<xs:attribute name="name"
type="xs:QName" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="attribute">
<xs:complexType>
<xs:sequence>
<xs:group minOccurs="0"
ref="structure:open-name-class" />
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:group ref="structure:pattern" />
</xs:choice>
</xs:sequence>
<xs:attributeGroup ref="structure:common-atts" />
<xs:attribute name="name"
type="xs:QName" />
</xs:complexType>
</xs:element>
<xs:element name="group">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="interleave">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="optional">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="zeroOrMore">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="oneOrMore">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="list">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="mixed">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="ref">
<xs:complexType>
<xs:attribute name="name"
type="xs:NCName"
use="required" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="parentRef">
<xs:complexType>
<xs:attribute name="name"
type="xs:NCName"
use="required" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="empty">
<xs:complexType>
<xs:group ref="structure:other" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="text">
<xs:complexType>
<xs:group ref="structure:other" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="value">
<xs:complexType mixed="true">
<xs:attribute name="type"
type="xs:NCName" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="data">
<xs:complexType>
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:choice>
<xs:element ref="structure:param" />
<xs:element name="except">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:choice>
<xs:attribute name="type"
type="xs:NCName"
use="required" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="param">
<xs:complexType mixed="true">
<xs:attribute name="name"
type="xs:NCName"
use="required" />
</xs:complexType>
</xs:element>
<xs:element name="notAllowed">
<xs:complexType>
<xs:group ref="structure:other" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="externalRef">
<xs:complexType>
<xs:group ref="structure:other" />
<xs:attribute name="href"
type="xs:anyURI"
use="required" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:element name="grammar">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:grammar-content">
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="grammar-content">
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:choice>
<xs:element ref="structure:start" />
<xs:element ref="structure:define" />
<xs:element name="div">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:grammar-content">
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element ref="structure:include" />
</xs:choice>
</xs:choice>
</xs:complexType>
<xs:element name="include">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:include-content">
<xs:attribute name="href"
type="xs:anyURI"
use="required" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="include-content">
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:choice>
<xs:element ref="structure:start" />
<xs:element ref="structure:define" />
<xs:element name="div">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:include-content">
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:choice>
</xs:complexType>
<xs:element name="start">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:open-pattern">
<xs:attributeGroup ref="structure:combine-att" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="define">
<xs:complexType>
<xs:group ref="structure:open-patterns" />
<xs:attribute name="name"
type="xs:NCName"
use="required" />
<xs:attributeGroup ref="structure:combine-att" />
<xs:attributeGroup ref="structure:common-atts" />
</xs:complexType>
</xs:element>
<xs:attributeGroup name="combine-att">
<xs:attribute name="combine">
<xs:simpleType>
<xs:restriction base="xs:token">
<xs:enumeration value="choice" />
<xs:enumeration value="interleave" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="open-patterns">
<xs:sequence>
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:group ref="structure:pattern" />
</xs:choice>
</xs:sequence>
</xs:group>
<xs:complexType name="open-pattern">
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:group ref="structure:pattern" />
</xs:choice>
</xs:complexType>
<xs:group name="name-class">
<xs:choice>
<xs:element ref="structure:name" />
<xs:element ref="structure:anyName" />
<xs:element ref="structure:nsName" />
<!-- <xs:element name="choice">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:open-name-classes">
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>-->
</xs:choice>
</xs:group>
<xs:element name="name">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:QName">
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="anyName">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:except-name-class">
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:element name="nsName">
<xs:complexType>
<xs:complexContent>
<xs:extension base="structure:except-name-class">
<xs:attributeGroup ref="structure:common-atts" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
<xs:complexType name="except-name-class">
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:element ref="structure:except" />
</xs:choice>
</xs:complexType>
<xs:element name="except"
type="structure:open-name-classes" />
<xs:complexType name="open-name-classes">
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:group ref="structure:name-class" />
</xs:choice>
</xs:complexType>
<xs:group name="open-name-class">
<xs:sequence>
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:group ref="structure:other" />
<xs:group ref="structure:name-class" />
</xs:choice>
</xs:sequence>
</xs:group>
<xs:attributeGroup name="common-atts">
<xs:attribute name="ns" />
<xs:attribute name="datatypeLibrary"
type="xs:anyURI" />
<xs:anyAttribute namespace="##other"
processContents="skip" />
</xs:attributeGroup>
<xs:group name="other">
<xs:sequence>
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:any namespace="##other"
processContents="skip" />
<xs:any namespace="##local"
processContents="skip" />
</xs:choice>
</xs:sequence>
</xs:group>
<xs:group name="any">
<xs:sequence>
<xs:any processContents="skip" />
</xs:sequence>
</xs:group>
</xs:schema>
|