<?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: xmlcatalog11.xsd,v 1.1 2010/03/08 20:44:30 jmoller Exp $ --> | |
<xs:import namespace="http://www.w3.org/XML/1998/namespace"/> | |
<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:uriSuffix"/> | |
<xs:element ref="er:systemSuffix"/> | |
<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="uriStartString" | |
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="systemSuffix"> | |
<xs:complexContent> | |
<xs:restriction base="xs:anyType"> | |
<xs:attribute name="systemIdSuffix" | |
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="uriSuffix"> | |
<xs:complexContent> | |
<xs:restriction base="xs:anyType"> | |
<xs:attribute name="uriSuffix" | |
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="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:uriSuffix"/> | |
<xs:element ref="er:systemSuffix"/> | |
<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="systemSuffix" type="er:systemSuffix"/> | |
<xs:element name="uriSuffix" type="er:uriSuffix"/> | |
<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> | |