home *** CD-ROM | disk | FTP | other *** search
- <!-- edited with XML Spy v3.5 NT beta 1 build Oct 23 2000 (http://www.xmlspy.com) by Alexander Falk (Altova, Inc.) -->
- <!-- DTD for XML Schemas: Part 2: Datatypes -->
- <!-- $Id: datatypesCR.dtd,v 1.1.2.1 2002/08/20 13:05:55 vlg Exp $ -->
- <!-- Note this DTD is NOT normative, or even definitive. - - the -->
- <!--d-->
- <!-- prose copy in the datatypes REC is the definitive version -->
- <!--d-->
- <!-- (which shouldn't differ from this one except for this comment -->
- <!--d-->
- <!-- and entity expansions, but just in case) -->
- <!--d-->
- <!-- This DTD cannot be used on its own, it is intended only 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 % precision "%p;precision">
- <!ENTITY % scale "%p;scale">
- <!ENTITY % length "%p;length">
- <!ENTITY % minLength "%p;minLength">
- <!ENTITY % maxLength "%p;maxLength">
- <!ENTITY % enumeration "%p;enumeration">
- <!ENTITY % whiteSpace "%p;whiteSpace">
- <!ENTITY % pattern "%p;pattern">
- <!ENTITY % encoding "%p;encoding">
- <!ENTITY % period "%p;period">
- <!ENTITY % duration "%p;duration">
- <!-- Customisation entities for the ATTLIST of each element type.
- Define one of these if your schema takes advantage of the
- anyAttribute='##other' in the schema for schemas -->
- <!ENTITY % simpleTypeAttrs "">
- <!ENTITY % restrictionAttrs "">
- <!ENTITY % listAttrs "">
- <!ENTITY % unionAttrs "">
- <!ENTITY % simpleTypeAttrs "">
- <!ENTITY % maxExclusiveAttrs "">
- <!ENTITY % minExclusiveAttrs "">
- <!ENTITY % maxInclusiveAttrs "">
- <!ENTITY % minInclusiveAttrs "">
- <!ENTITY % precisionAttrs "">
- <!ENTITY % scaleAttrs "">
- <!ENTITY % lengthAttrs "">
- <!ENTITY % minLengthAttrs "">
- <!ENTITY % maxLengthAttrs "">
- <!ENTITY % enumerationAttrs "">
- <!ENTITY % whiteSpaceAttrs "">
- <!ENTITY % patternAttrs "">
- <!ENTITY % encodingAttrs "">
- <!ENTITY % periodAttrs "">
- <!ENTITY % durationAttrs "">
- <!ENTITY % appinfoAttrs "">
- <!ENTITY % documentationAttrs "">
- <!-- Define some entities for informative use as attribute types -->
- <!ENTITY % URIref "CDATA">
- <!ENTITY % XPathExpr "CDATA">
- <!ENTITY % QName "NMTOKEN">
- <!ENTITY % QNames "NMTOKENS">
- <!ENTITY % NCName "NMTOKEN">
- <!ENTITY % nonNegativeInteger "NMTOKEN">
- <!ENTITY % boolean "(true|false)">
- <!-- Note that the use of 'facet' below is less restrictive than is
- really intended: There should in fact be no more than one of each of
- minInclusive, minExclusive, maxInclusive, maxExclusive,
- precision, scale,
- length, maxLength, minLength, encoding, period within datatype,
- and the min- and max- variants of Inclusive and Exclusive are
- mutually exclusive.
- On the other hand, pattern and enumeration may repeat -->
- <!ENTITY % minBound "(%minInclusive; | %minExclusive;)">
- <!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)">
- <!ENTITY % bounds "%minBound; | %maxBound;">
- <!ENTITY % numeric "%precision; | %scale;">
- <!ENTITY % ordered "%bounds; | %numeric;">
- <!ENTITY % unordered "%pattern; | %enumeration; | %whiteSpace; | %length; | %maxLength; | %minLength;
- | %encoding; | %period; | %duration;">
- <!ENTITY % facet "%ordered; | %unordered;">
- <!ENTITY % facetAttr "value CDATA #REQUIRED id ID #IMPLIED">
- <!ENTITY % fixedAttr "fixed %boolean; #IMPLIED">
- <!ENTITY % facetModel "(%annotation;)?">
- <!ELEMENT %simpleType; ((%annotation;)?, (%restriction; | %list; | %union;))>
- <!ATTLIST %simpleType;
- name %NCName; #IMPLIED
- id ID #IMPLIED
- %simpleTypeAttrs;
- >
- <!-- name is required at top level -->
- <!ELEMENT %restriction; ((%annotation;)?, (%restriction1; | ((%simpleType;)?, (%facet;)*)), (%attrDecls;))>
- <!ATTLIST %restriction;
- base %QName; #IMPLIED
- id ID #IMPLIED
- %restrictionAttrs;
- >
- <!-- base and simpleType child are mutually exclusive, one is required -->
- <!-- restriction is shared between simpleType and simpleContent and -->
- <!-- complexContent (in XMLSchema.xsd). restriction1 is for the latter -->
- <!-- cases, when this is restricting a complex type, as is attrDecls -->
- <!ELEMENT %list; ((%annotation;)?, (%simpleType;)?)>
- <!ATTLIST %list;
- itemType %QName; #IMPLIED
- id ID #IMPLIED
- %listAttrs;
- >
- <!-- itemType and simpleType child are mutually exclusive, one is required -->
- <!ELEMENT %union; ((%annotation;)?, (%simpleType;)*)>
- <!ATTLIST %union;
- id ID #IMPLIED
- memberTypes %QNames; #IMPLIED
- %unionAttrs;
- >
- <!-- At least one item in memberTypes or one simpleType child 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 %precision; %facetModel;>
- <!ATTLIST %precision;
- %facetAttr;
- %fixedAttr;
- %precisionAttrs;
- >
- <!ELEMENT %scale; %facetModel;>
- <!ATTLIST %scale;
- %facetAttr;
- %fixedAttr;
- %scaleAttrs;
- >
- <!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;
- %whiteSpaceAttrs;
- >
- <!-- This one can be repeated -->
- <!ELEMENT %pattern; %facetModel;>
- <!ATTLIST %pattern;
- %facetAttr;
- %patternAttrs;
- >
- <!ELEMENT %encoding; %facetModel;>
- <!ATTLIST %encoding;
- %facetAttr;
- %fixedAttr;
- %encodingAttrs;
- >
- <!ELEMENT %period; %facetModel;>
- <!ATTLIST %period;
- %facetAttr;
- %fixedAttr;
- %periodAttrs;
- >
- <!ELEMENT %duration; %facetModel;>
- <!ATTLIST %duration;
- %facetAttr;
- %fixedAttr;
- %durationAttrs;
- >
-