Blame | Last modification | View Log | RSS feed
<!--DTD for XML Schemas: Part 2: Datatypes$Id: datatypes.dtd,v 1.23 2001/03/16 17:36:30 ht Exp $Note this DTD is NOT normative, or even definitive. - - theprose copy in the datatypes REC is the definitive version(which shouldn't differ from this one except for this commentand entity expansions, but just in case)--><!--This DTD cannot be used on its own, it is intendedonly for incorporation in XMLSchema.dtd, q.v.--><!-- Define all the element names, with optional prefix --><!ENTITY % simpleType "%p;simpleType"><!ENTITY % restriction "%p;restriction"><!ENTITY % list "%p;list"><!ENTITY % union "%p;union"><!ENTITY % maxExclusive "%p;maxExclusive"><!ENTITY % minExclusive "%p;minExclusive"><!ENTITY % maxInclusive "%p;maxInclusive"><!ENTITY % minInclusive "%p;minInclusive"><!ENTITY % totalDigits "%p;totalDigits"><!ENTITY % fractionDigits "%p;fractionDigits"><!ENTITY % length "%p;length"><!ENTITY % minLength "%p;minLength"><!ENTITY % maxLength "%p;maxLength"><!ENTITY % enumeration "%p;enumeration"><!ENTITY % whiteSpace "%p;whiteSpace"><!ENTITY % pattern "%p;pattern"><!--Customisation entities for the ATTLIST of each elementtype. Define one of these if your schema takes advantageof the anyAttribute='##other' in the schema for schemas--><!ENTITY % simpleTypeAttrs ""><!ENTITY % restrictionAttrs ""><!ENTITY % listAttrs ""><!ENTITY % unionAttrs ""><!ENTITY % maxExclusiveAttrs ""><!ENTITY % minExclusiveAttrs ""><!ENTITY % maxInclusiveAttrs ""><!ENTITY % minInclusiveAttrs ""><!ENTITY % totalDigitsAttrs ""><!ENTITY % fractionDigitsAttrs ""><!ENTITY % lengthAttrs ""><!ENTITY % minLengthAttrs ""><!ENTITY % maxLengthAttrs ""><!ENTITY % enumerationAttrs ""><!ENTITY % whiteSpaceAttrs ""><!ENTITY % patternAttrs ""><!-- Define some entities for informative use as attributetypes --><!ENTITY % URIref "CDATA"><!ENTITY % XPathExpr "CDATA"><!ENTITY % QName "NMTOKEN"><!ENTITY % QNames "NMTOKENS"><!ENTITY % NCName "NMTOKEN"><!ENTITY % nonNegativeInteger "NMTOKEN"><!ENTITY % boolean "(true|false)"><!ENTITY % simpleDerivationSet "CDATA"><!--#all or space-separated list drawn from derivationChoice--><!--Note that the use of 'facet' below is less restrictivethan is really intended: There should in fact be nomore than one of each of minInclusive, minExclusive,maxInclusive, maxExclusive, totalDigits, fractionDigits,length, maxLength, minLength within datatype,and the min- and max- variants of Inclusive and Exclusiveare mutually exclusive. On the other hand, pattern andenumeration may repeat.--><!ENTITY % minBound "(%minInclusive; | %minExclusive;)"><!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)"><!ENTITY % bounds "%minBound; | %maxBound;"><!ENTITY % numeric "%totalDigits; | %fractionDigits;"><!ENTITY % ordered "%bounds; | %numeric;"><!ENTITY % unordered"%pattern; | %enumeration; | %whiteSpace; | %length; |%maxLength; | %minLength;"><!ENTITY % facet "%ordered; | %unordered;"><!ENTITY % facetAttr"value CDATA #REQUIREDid ID #IMPLIED"><!ENTITY % fixedAttr "fixed %boolean; #IMPLIED"><!ENTITY % facetModel "(%annotation;)?"><!ELEMENT %simpleType;((%annotation;)?, (%restriction; | %list; | %union;))><!ATTLIST %simpleType;name %NCName; #IMPLIEDfinal %simpleDerivationSet; #IMPLIEDid ID #IMPLIED%simpleTypeAttrs;><!-- name is required at top level --><!ELEMENT %restriction; ((%annotation;)?,(%restriction1; |((%simpleType;)?,(%facet;)*)),(%attrDecls;))><!ATTLIST %restriction;base %QName; #IMPLIEDid ID #IMPLIED%restrictionAttrs;><!--base and simpleType child are mutually exclusive,one is required.restriction is shared between simpleType andsimpleContent and complexContent (in XMLSchema.xsd).restriction1 is for the latter cases, when thisis restricting a complex type, as is attrDecls.--><!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)><!ATTLIST %list;itemType %QName; #IMPLIEDid ID #IMPLIED%listAttrs;><!--itemType and simpleType child are mutually exclusive,one is required--><!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)><!ATTLIST %union;id ID #IMPLIEDmemberTypes %QNames; #IMPLIED%unionAttrs;><!--At least one item in memberTypes or one simpleTypechild is required--><!ELEMENT %maxExclusive; %facetModel;><!ATTLIST %maxExclusive;%facetAttr;%fixedAttr;%maxExclusiveAttrs;><!ELEMENT %minExclusive; %facetModel;><!ATTLIST %minExclusive;%facetAttr;%fixedAttr;%minExclusiveAttrs;><!ELEMENT %maxInclusive; %facetModel;><!ATTLIST %maxInclusive;%facetAttr;%fixedAttr;%maxInclusiveAttrs;><!ELEMENT %minInclusive; %facetModel;><!ATTLIST %minInclusive;%facetAttr;%fixedAttr;%minInclusiveAttrs;><!ELEMENT %totalDigits; %facetModel;><!ATTLIST %totalDigits;%facetAttr;%fixedAttr;%totalDigitsAttrs;><!ELEMENT %fractionDigits; %facetModel;><!ATTLIST %fractionDigits;%facetAttr;%fixedAttr;%fractionDigitsAttrs;><!ELEMENT %length; %facetModel;><!ATTLIST %length;%facetAttr;%fixedAttr;%lengthAttrs;><!ELEMENT %minLength; %facetModel;><!ATTLIST %minLength;%facetAttr;%fixedAttr;%minLengthAttrs;><!ELEMENT %maxLength; %facetModel;><!ATTLIST %maxLength;%facetAttr;%fixedAttr;%maxLengthAttrs;><!-- This one can be repeated --><!ELEMENT %enumeration; %facetModel;><!ATTLIST %enumeration;%facetAttr;%enumerationAttrs;><!ELEMENT %whiteSpace; %facetModel;><!ATTLIST %whiteSpace;%facetAttr;%fixedAttr;%whiteSpaceAttrs;><!-- This one can be repeated --><!ELEMENT %pattern; %facetModel;><!ATTLIST %pattern;%facetAttr;%patternAttrs;>