| <?xml version="1.0" encoding="utf-8"?> |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| xmlns:er="http://oasis.names.tc.entity.xmlns.xml.catalog" |
| targetNamespace="http://oasis.names.tc.entity.xmlns.xml.catalog" |
| elementFormDefault="qualified"> |
| |
| <!-- $Id: catalog.xsd,v 1.1 2005/06/24 04:17:50 csalter Exp $ --> |
| |
| <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> |