git-svn-id: https://svn.apache.org/repos/asf/xml/commons/trunk@226060 13f79535-47bb-0310-9956-ffa450edef68
197 lines
7.3 KiB
XML
197 lines
7.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
|
|
xmlns:er='urn:oasis:names:tc:entity:xmlns:xml:catalog'
|
|
targetNamespace='urn:oasis:names:tc:entity:xmlns:xml:catalog'
|
|
elementFormDefault='qualified'>
|
|
|
|
<!-- $Id$ -->
|
|
|
|
<xs:simpleType name='pubIdChars'>
|
|
<!-- A string of the characters defined as pubIdChar in production 13
|
|
of the Second Edition of the XML 1.0 Recommendation. Does not include
|
|
the whitespace characters because they're normalized by XML parsing. -->
|
|
<xs:restriction base='xs:string'>
|
|
<xs:pattern value="[a-zA-Z0-9-'()+,./:=?;!*#@$_%]*"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name='publicIdentifier'>
|
|
<xs:restriction base='er:pubIdChars'/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name='partialPublicIdentifier'>
|
|
<xs:restriction base='er:pubIdChars'/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name='systemOrPublic'>
|
|
<xs:restriction base='xs:string'>
|
|
<xs:enumeration value='system'/>
|
|
<xs:enumeration value='public'/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<!-- The global attribute xml:base is not explicitly declared; -->
|
|
<!-- it is allowed by the anyAttribute declarations. -->
|
|
|
|
<xs:complexType name='catalog'>
|
|
<xs:choice minOccurs='1' maxOccurs='unbounded'>
|
|
<xs:element ref='er:public'/>
|
|
<xs:element ref='er:system'/>
|
|
<xs:element ref='er:uri'/>
|
|
<xs:element ref='er:rewriteSystem'/>
|
|
<xs:element ref='er:rewriteURI'/>
|
|
<xs:element ref='er:delegatePublic'/>
|
|
<xs:element ref='er:delegateSystem'/>
|
|
<xs:element ref='er:delegateURI'/>
|
|
<xs:element ref='er:nextCatalog'/>
|
|
<xs:element ref='er:group'/>
|
|
<xs:any namespace='##other' processContents='skip'/>
|
|
</xs:choice>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:attribute name='prefer' type='er:systemOrPublic'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='public'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="publicId" type="er:publicIdentifier"
|
|
use="required"/>
|
|
<xs:attribute name="uri" type="xs:anyURI" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='system'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="systemId" type="xs:string"
|
|
use="required"/>
|
|
<xs:attribute name="uri" type="xs:anyURI" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='uri'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="name" type="xs:anyURI"
|
|
use="required"/>
|
|
<xs:attribute name="uri" type="xs:anyURI" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='rewriteSystem'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="systemIdStartString"
|
|
type="xs:string"
|
|
use="required"/>
|
|
<xs:attribute name="rewritePrefix" type="xs:string" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='rewriteURI'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="uriIdStartString"
|
|
type="xs:string"
|
|
use="required"/>
|
|
<xs:attribute name="rewritePrefix" type="xs:string" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='delegatePublic'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="publicIdStartString"
|
|
type="er:partialPublicIdentifier"
|
|
use="required"/>
|
|
<xs:attribute name="catalog" type="xs:anyURI" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='delegateSystem'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="systemIdStartString"
|
|
type="xs:string"
|
|
use="required"/>
|
|
<xs:attribute name="catalog" type="xs:anyURI" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='delegateURI'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="uriStartString"
|
|
type="xs:string"
|
|
use="required"/>
|
|
<xs:attribute name="catalog" type="xs:anyURI" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='nextCatalog'>
|
|
<xs:complexContent>
|
|
<xs:restriction base="xs:anyType">
|
|
<xs:attribute name="catalog" type="xs:anyURI" use="required"/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name='group'>
|
|
<xs:choice minOccurs='1' maxOccurs='unbounded'>
|
|
<xs:element ref='er:public'/>
|
|
<xs:element ref='er:system'/>
|
|
<xs:element ref='er:uri'/>
|
|
<xs:element ref='er:rewriteSystem'/>
|
|
<xs:element ref='er:rewriteURI'/>
|
|
<xs:element ref='er:delegatePublic'/>
|
|
<xs:element ref='er:delegateSystem'/>
|
|
<xs:element ref='er:delegateURI'/>
|
|
<xs:element ref='er:nextCatalog'/>
|
|
<xs:any namespace='##other' processContents='skip'/>
|
|
</xs:choice>
|
|
<xs:attribute name='prefer' type='er:systemOrPublic'/>
|
|
<xs:attribute name='id' type='xs:ID'/>
|
|
<xs:anyAttribute namespace="##other" processContents="lax"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="catalog" type="er:catalog"/>
|
|
<xs:element name="public" type="er:public"/>
|
|
<xs:element name="system" type="er:system"/>
|
|
<xs:element name="uri" type="er:uri"/>
|
|
<xs:element name="rewriteSystem" type="er:rewriteSystem"/>
|
|
<xs:element name="rewriteURI" type="er:rewriteURI"/>
|
|
<xs:element name="delegatePublic" type="er:delegatePublic"/>
|
|
<xs:element name="delegateSystem" type="er:delegateSystem"/>
|
|
<xs:element name="delegateURI" type="er:delegateURI"/>
|
|
<xs:element name="nextCatalog" type="er:nextCatalog"/>
|
|
<xs:element name="group" type="er:group"/>
|
|
|
|
</xs:schema>
|