home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- RELAX NG for RELAX NG -->
- <!-- $Id: relaxng.xsd,v 1.1 2003/05/29 09:01:06 dan Exp $ -->
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://relaxng.org/ns/structure/1.0" xmlns:structure="http://relaxng.org/ns/structure/1.0">
- <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:group ref="structure:other"/>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- <xs:attributeGroup ref="structure:common-atts"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="parentRef">
- <xs:complexType>
- <xs:group ref="structure:other"/>
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- <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" use="required" type="xs:NCName"/>
- <xs:attributeGroup ref="structure:common-atts"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="param">
- <xs:complexType mixed="true">
- <xs:attribute name="name" use="required" type="xs:NCName"/>
- <xs:attributeGroup ref="structure:common-atts"/>
- </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" use="required" type="xs:anyURI"/>
- <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" use="required" type="xs:anyURI"/>
- <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" use="required" type="xs:NCName"/>
- <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="##any" processContents="lax"/>
- </xs:choice>
- </xs:sequence>
- <!--<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>
-