]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/acr/schemas/datatypes.dtd
Introduce CMS JShell
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / acr / schemas / datatypes.dtd
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;>