Project

Profile

Help

How to connect?
Download (6.21 KB) Statistics
| Branch: | Tag: | Revision:

he / latest10 / hej / net / sf / saxon / data / w3c / xmlschema10 / datatypes.dtd @ 02f8308b

1
<!--
2
        DTD for XML Schemas: Part 2: Datatypes
3
        $Id: datatypes.dtd,v 1.23 2001/03/16 17:36:30 ht Exp $
4
        Note this DTD is NOT normative, or even definitive. - - the
5
        prose copy in the datatypes REC is the definitive version
6
        (which shouldn't differ from this one except for this comment
7
        and entity expansions, but just in case)
8
  -->
9

    
10
<!--
11
        This DTD cannot be used on its own, it is intended
12
        only for incorporation in XMLSchema.dtd, q.v.
13
  -->
14

    
15
<!-- Define all the element names, with optional prefix -->
16
<!ENTITY % simpleType "%p;simpleType">
17
<!ENTITY % restriction "%p;restriction">
18
<!ENTITY % list "%p;list">
19
<!ENTITY % union "%p;union">
20
<!ENTITY % maxExclusive "%p;maxExclusive">
21
<!ENTITY % minExclusive "%p;minExclusive">
22
<!ENTITY % maxInclusive "%p;maxInclusive">
23
<!ENTITY % minInclusive "%p;minInclusive">
24
<!ENTITY % totalDigits "%p;totalDigits">
25
<!ENTITY % fractionDigits "%p;fractionDigits">
26
<!ENTITY % length "%p;length">
27
<!ENTITY % minLength "%p;minLength">
28
<!ENTITY % maxLength "%p;maxLength">
29
<!ENTITY % enumeration "%p;enumeration">
30
<!ENTITY % whiteSpace "%p;whiteSpace">
31
<!ENTITY % pattern "%p;pattern">
32

    
33
<!--
34
        Customisation entities for the ATTLIST of each element
35
        type. Define one of these if your schema takes advantage
36
        of the anyAttribute='##other' in the schema for schemas
37
  -->
38

    
39
<!ENTITY % simpleTypeAttrs "">
40
<!ENTITY % restrictionAttrs "">
41
<!ENTITY % listAttrs "">
42
<!ENTITY % unionAttrs "">
43
<!ENTITY % maxExclusiveAttrs "">
44
<!ENTITY % minExclusiveAttrs "">
45
<!ENTITY % maxInclusiveAttrs "">
46
<!ENTITY % minInclusiveAttrs "">
47
<!ENTITY % totalDigitsAttrs "">
48
<!ENTITY % fractionDigitsAttrs "">
49
<!ENTITY % lengthAttrs "">
50
<!ENTITY % minLengthAttrs "">
51
<!ENTITY % maxLengthAttrs "">
52
<!ENTITY % enumerationAttrs "">
53
<!ENTITY % whiteSpaceAttrs "">
54
<!ENTITY % patternAttrs "">
55

    
56
<!-- Define some entities for informative use as attribute
57
        types -->
58
<!ENTITY % URIref "CDATA">
59
<!ENTITY % XPathExpr "CDATA">
60
<!ENTITY % QName "NMTOKEN">
61
<!ENTITY % QNames "NMTOKENS">
62
<!ENTITY % NCName "NMTOKEN">
63
<!ENTITY % nonNegativeInteger "NMTOKEN">
64
<!ENTITY % boolean "(true|false)">
65
<!ENTITY % simpleDerivationSet "CDATA">
66
<!--
67
        #all or space-separated list drawn from derivationChoice
68
  -->
69

    
70
<!--
71
        Note that the use of 'facet' below is less restrictive
72
        than is really intended:  There should in fact be no
73
        more than one of each of minInclusive, minExclusive,
74
        maxInclusive, maxExclusive, totalDigits, fractionDigits,
75
        length, maxLength, minLength within datatype,
76
        and the min- and max- variants of Inclusive and Exclusive
77
        are mutually exclusive. On the other hand,  pattern and
78
        enumeration may repeat.
79
  -->
80
<!ENTITY % minBound "(%minInclusive; | %minExclusive;)">
81
<!ENTITY % maxBound "(%maxInclusive; | %maxExclusive;)">
82
<!ENTITY % bounds "%minBound; | %maxBound;">
83
<!ENTITY % numeric "%totalDigits; | %fractionDigits;">
84
<!ENTITY % ordered "%bounds; | %numeric;">
85
<!ENTITY % unordered
86
   "%pattern; | %enumeration; | %whiteSpace; | %length; |
87
   %maxLength; | %minLength;">
88
<!ENTITY % facet "%ordered; | %unordered;">
89
<!ENTITY % facetAttr 
90
        "value CDATA #REQUIRED
91
        id ID #IMPLIED">
92
<!ENTITY % fixedAttr "fixed %boolean; #IMPLIED">
93
<!ENTITY % facetModel "(%annotation;)?">
94
<!ELEMENT %simpleType;
95
        ((%annotation;)?, (%restriction; | %list; | %union;))>
96
<!ATTLIST %simpleType;
97
    name      %NCName; #IMPLIED
98
    final     %simpleDerivationSet; #IMPLIED
99
    id        ID       #IMPLIED
100
    %simpleTypeAttrs;>
101
<!-- name is required at top level -->
102
<!ELEMENT %restriction; ((%annotation;)?,
103
                         (%restriction1; |
104
                          ((%simpleType;)?,(%facet;)*)),
105
                         (%attrDecls;))>
106
<!ATTLIST %restriction;
107
    base      %QName;                  #IMPLIED
108
    id        ID       #IMPLIED
109
    %restrictionAttrs;>
110
<!--
111
        base and simpleType child are mutually exclusive,
112
        one is required.
113

    
114
        restriction is shared between simpleType and
115
        simpleContent and complexContent (in XMLSchema.xsd).
116
        restriction1 is for the latter cases, when this
117
        is restricting a complex type, as is attrDecls.
118
  -->
119
<!ELEMENT %list; ((%annotation;)?,(%simpleType;)?)>
120
<!ATTLIST %list;
121
    itemType      %QName;             #IMPLIED
122
    id        ID       #IMPLIED
123
    %listAttrs;>
124
<!--
125
        itemType and simpleType child are mutually exclusive,
126
        one is required
127
  -->
128
<!ELEMENT %union; ((%annotation;)?,(%simpleType;)*)>
129
<!ATTLIST %union;
130
    id            ID       #IMPLIED
131
    memberTypes   %QNames;            #IMPLIED
132
    %unionAttrs;>
133
<!--
134
        At least one item in memberTypes or one simpleType
135
        child is required
136
  -->
137

    
138
<!ELEMENT %maxExclusive; %facetModel;>
139
<!ATTLIST %maxExclusive;
140
        %facetAttr;
141
        %fixedAttr;
142
        %maxExclusiveAttrs;>
143
<!ELEMENT %minExclusive; %facetModel;>
144
<!ATTLIST %minExclusive;
145
        %facetAttr;
146
        %fixedAttr;
147
        %minExclusiveAttrs;>
148

    
149
<!ELEMENT %maxInclusive; %facetModel;>
150
<!ATTLIST %maxInclusive;
151
        %facetAttr;
152
        %fixedAttr;
153
        %maxInclusiveAttrs;>
154
<!ELEMENT %minInclusive; %facetModel;>
155
<!ATTLIST %minInclusive;
156
        %facetAttr;
157
        %fixedAttr;
158
        %minInclusiveAttrs;>
159

    
160
<!ELEMENT %totalDigits; %facetModel;>
161
<!ATTLIST %totalDigits;
162
        %facetAttr;
163
        %fixedAttr;
164
        %totalDigitsAttrs;>
165
<!ELEMENT %fractionDigits; %facetModel;>
166
<!ATTLIST %fractionDigits;
167
        %facetAttr;
168
        %fixedAttr;
169
        %fractionDigitsAttrs;>
170

    
171
<!ELEMENT %length; %facetModel;>
172
<!ATTLIST %length;
173
        %facetAttr;
174
        %fixedAttr;
175
        %lengthAttrs;>
176
<!ELEMENT %minLength; %facetModel;>
177
<!ATTLIST %minLength;
178
        %facetAttr;
179
        %fixedAttr;
180
        %minLengthAttrs;>
181
<!ELEMENT %maxLength; %facetModel;>
182
<!ATTLIST %maxLength;
183
        %facetAttr;
184
        %fixedAttr;
185
        %maxLengthAttrs;>
186

    
187
<!-- This one can be repeated -->
188
<!ELEMENT %enumeration; %facetModel;>
189
<!ATTLIST %enumeration;
190
        %facetAttr;
191
        %enumerationAttrs;>
192

    
193
<!ELEMENT %whiteSpace; %facetModel;>
194
<!ATTLIST %whiteSpace;
195
        %facetAttr;
196
        %fixedAttr;
197
        %whiteSpaceAttrs;>
198

    
199
<!-- This one can be repeated -->
200
<!ELEMENT %pattern; %facetModel;>
201
<!ATTLIST %pattern;
202
        %facetAttr;
203
        %patternAttrs;>
(2-2/2)