1*b1cdbd2cSJim Jagielski<!--***********************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski ***********************************************************-->
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski<!-- data styles -->
25*b1cdbd2cSJim Jagielski<!ENTITY % any-number "( number:number | number:scientific-number | number:fraction )">
26*b1cdbd2cSJim Jagielski<!ENTITY % number-style-content "( (number:text,(%any-number;,number:text?)?) | (%any-number;,number:text?) )">
27*b1cdbd2cSJim Jagielski<!ELEMENT number:number-style ( style:properties?, %number-style-content;, style:map* )>
28*b1cdbd2cSJim Jagielski<!ELEMENT number:number EMPTY>
29*b1cdbd2cSJim Jagielski<!ELEMENT number:scientific-number EMPTY>
30*b1cdbd2cSJim Jagielski<!ELEMENT number:fraction EMPTY>
31*b1cdbd2cSJim Jagielski
32*b1cdbd2cSJim Jagielski<!ENTITY % currency-symbol-and-text "number:currency-symbol,number:text?">
33*b1cdbd2cSJim Jagielski<!ENTITY % number-and-text "number:number,number:text?">
34*b1cdbd2cSJim Jagielski<!ENTITY % currency-symbol-and-number "((%number-and-text;),(%currency-symbol-and-text;)?) | ((%currency-symbol-and-text;),(%number-and-text;)?)">
35*b1cdbd2cSJim Jagielski<!ENTITY % currency-style-content "number:text?, (%currency-symbol-and-number;)?">
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski<!ELEMENT number:currency-style ( style:properties?, (%currency-style-content;), style:map* )>
38*b1cdbd2cSJim Jagielski<!ELEMENT number:currency-symbol (#PCDATA)>
39*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-symbol number:language CDATA #IMPLIED>
40*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-symbol number:country CDATA #IMPLIED>
41*b1cdbd2cSJim Jagielski
42*b1cdbd2cSJim Jagielski<!ENTITY % percentage-style-content "( (number:text,(%number-and-text;)?) | (%number-and-text;) )">
43*b1cdbd2cSJim Jagielski<!ELEMENT number:percentage-style ( style:properties?, %percentage-style-content;, style:map* )>
44*b1cdbd2cSJim Jagielski
45*b1cdbd2cSJim Jagielski<!ENTITY % any-date "( number:day | number:month | number:year | number:era | number:day-of-week | number:week-of-year | number:quarter| number:hours | number:am-pm | number:minutes | number:seconds )">
46*b1cdbd2cSJim Jagielski<!ENTITY % date-style-content "( (number:text,(%any-date;,number:text?)+) | (%any-date;,number:text?)+ )">
47*b1cdbd2cSJim Jagielski<!ELEMENT number:date-style ( style:properties?, %date-style-content;, style:map* )>
48*b1cdbd2cSJim Jagielski<!ELEMENT number:day EMPTY>
49*b1cdbd2cSJim Jagielski<!ATTLIST number:day number:style (short|long) "short">
50*b1cdbd2cSJim Jagielski<!ATTLIST number:day number:calendar CDATA #IMPLIED>
51*b1cdbd2cSJim Jagielski<!ELEMENT number:month EMPTY>
52*b1cdbd2cSJim Jagielski<!ATTLIST number:month number:textual %boolean; "false">
53*b1cdbd2cSJim Jagielski<!ATTLIST number:month number:style (short|long) "short">
54*b1cdbd2cSJim Jagielski<!ATTLIST number:month number:calendar CDATA #IMPLIED>
55*b1cdbd2cSJim Jagielski<!ELEMENT number:year EMPTY>
56*b1cdbd2cSJim Jagielski<!ATTLIST number:year number:style (short|long) "short">
57*b1cdbd2cSJim Jagielski<!ATTLIST number:year number:calendar CDATA #IMPLIED>
58*b1cdbd2cSJim Jagielski<!ELEMENT number:era EMPTY>
59*b1cdbd2cSJim Jagielski<!ATTLIST number:era number:style (short|long) "short">
60*b1cdbd2cSJim Jagielski<!ATTLIST number:era number:calendar CDATA #IMPLIED>
61*b1cdbd2cSJim Jagielski<!ELEMENT number:day-of-week EMPTY>
62*b1cdbd2cSJim Jagielski<!ATTLIST number:day-of-week number:style (short|long) "short">
63*b1cdbd2cSJim Jagielski<!ATTLIST number:day-of-week number:calendar CDATA #IMPLIED>
64*b1cdbd2cSJim Jagielski<!ELEMENT number:week-of-year EMPTY>
65*b1cdbd2cSJim Jagielski<!ATTLIST number:week-of-year number:calendar CDATA #IMPLIED>
66*b1cdbd2cSJim Jagielski<!ELEMENT number:quarter EMPTY>
67*b1cdbd2cSJim Jagielski<!ATTLIST number:quarter number:style (short|long) "short">
68*b1cdbd2cSJim Jagielski<!ATTLIST number:quarter number:calendar CDATA #IMPLIED>
69*b1cdbd2cSJim Jagielski
70*b1cdbd2cSJim Jagielski<!ENTITY % any-time "( number:hours | number:am-pm | number:minutes | number:seconds )">
71*b1cdbd2cSJim Jagielski<!ENTITY % time-style-content "( (number:text,(%any-time;,number:text?)+) | (%any-time;,number:text?)+)">
72*b1cdbd2cSJim Jagielski<!ELEMENT number:time-style ( style:properties?, %time-style-content;, style:map* )>
73*b1cdbd2cSJim Jagielski<!ELEMENT number:hours EMPTY>
74*b1cdbd2cSJim Jagielski<!ATTLIST number:hours number:style (short|long) "short">
75*b1cdbd2cSJim Jagielski<!ELEMENT number:minutes EMPTY>
76*b1cdbd2cSJim Jagielski<!ATTLIST number:minutes number:style (short|long) "short">
77*b1cdbd2cSJim Jagielski<!ELEMENT number:seconds EMPTY>
78*b1cdbd2cSJim Jagielski<!ATTLIST number:seconds number:style (short|long) "short">
79*b1cdbd2cSJim Jagielski<!ATTLIST number:seconds number:decimal-places %integer; "0">
80*b1cdbd2cSJim Jagielski<!ELEMENT number:am-pm EMPTY>
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielski<!ENTITY % boolean-style-content "( (number:text,(number:boolean,number:text?)?) | (number:boolean,number:text?) )">
83*b1cdbd2cSJim Jagielski<!ELEMENT number:boolean-style ( style:properties?,%boolean-style-content;, style:map* )>
84*b1cdbd2cSJim Jagielski<!ELEMENT number:boolean EMPTY>
85*b1cdbd2cSJim Jagielski
86*b1cdbd2cSJim Jagielski<!ENTITY % text-style-content "( (number:text,(number:text-content,number:text?)?) | (number:text-content,number:text?) )">
87*b1cdbd2cSJim Jagielski<!ELEMENT number:text-style ( style:properties?,%text-style-content;, style:map* )>
88*b1cdbd2cSJim Jagielski<!ELEMENT number:text (#PCDATA)>
89*b1cdbd2cSJim Jagielski<!ELEMENT number:text-content EMPTY>
90*b1cdbd2cSJim Jagielski
91*b1cdbd2cSJim Jagielski<!ATTLIST number:number-style style:name %styleName; #REQUIRED>
92*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-style style:name %styleName; #REQUIRED>
93*b1cdbd2cSJim Jagielski<!ATTLIST number:percentage-style style:name %styleName; #REQUIRED>
94*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style style:name %styleName; #REQUIRED>
95*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style style:name %styleName; #REQUIRED>
96*b1cdbd2cSJim Jagielski<!ATTLIST number:boolean-style style:name %styleName; #REQUIRED>
97*b1cdbd2cSJim Jagielski<!ATTLIST number:text-style style:name %styleName; #REQUIRED>
98*b1cdbd2cSJim Jagielski
99*b1cdbd2cSJim Jagielski<!ATTLIST number:number-style style:family CDATA #REQUIRED>
100*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-style style:family CDATA #REQUIRED>
101*b1cdbd2cSJim Jagielski<!ATTLIST number:percentage-style style:family CDATA #REQUIRED>
102*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style style:family CDATA #REQUIRED>
103*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style style:family CDATA #REQUIRED>
104*b1cdbd2cSJim Jagielski<!ATTLIST number:boolean-style style:family CDATA #REQUIRED>
105*b1cdbd2cSJim Jagielski<!ATTLIST number:text-style style:family CDATA #REQUIRED>
106*b1cdbd2cSJim Jagielski
107*b1cdbd2cSJim Jagielski<!ATTLIST number:number-style number:language CDATA #IMPLIED>
108*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-style number:language CDATA #IMPLIED>
109*b1cdbd2cSJim Jagielski<!ATTLIST number:percentage-style number:language CDATA #IMPLIED>
110*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style number:language CDATA #IMPLIED>
111*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style number:language CDATA #IMPLIED>
112*b1cdbd2cSJim Jagielski<!ATTLIST number:boolean-style number:language CDATA #IMPLIED>
113*b1cdbd2cSJim Jagielski<!ATTLIST number:text-style number:language CDATA #IMPLIED>
114*b1cdbd2cSJim Jagielski
115*b1cdbd2cSJim Jagielski<!ATTLIST number:number-style number:country CDATA #IMPLIED>
116*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-style number:country CDATA #IMPLIED>
117*b1cdbd2cSJim Jagielski<!ATTLIST number:percentage-style number:country CDATA #IMPLIED>
118*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style number:country CDATA #IMPLIED>
119*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style number:country CDATA #IMPLIED>
120*b1cdbd2cSJim Jagielski<!ATTLIST number:boolean-style number:country CDATA #IMPLIED>
121*b1cdbd2cSJim Jagielski<!ATTLIST number:text-style number:country CDATA #IMPLIED>
122*b1cdbd2cSJim Jagielski
123*b1cdbd2cSJim Jagielski<!ATTLIST number:number-style number:title CDATA #IMPLIED>
124*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-style number:title CDATA #IMPLIED>
125*b1cdbd2cSJim Jagielski<!ATTLIST number:percentage-style number:title CDATA #IMPLIED>
126*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style number:title CDATA #IMPLIED>
127*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style number:title CDATA #IMPLIED>
128*b1cdbd2cSJim Jagielski<!ATTLIST number:boolean-style number:title CDATA #IMPLIED>
129*b1cdbd2cSJim Jagielski<!ATTLIST number:text-style number:title CDATA #IMPLIED>
130*b1cdbd2cSJim Jagielski
131*b1cdbd2cSJim Jagielski<!ATTLIST number:number-style style:volatile %boolean; #IMPLIED>
132*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-style style:volatile %boolean; #IMPLIED>
133*b1cdbd2cSJim Jagielski<!ATTLIST number:percentage-style style:volatile %boolean; #IMPLIED>
134*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style style:volatile %boolean; #IMPLIED>
135*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style style:volatile %boolean; #IMPLIED>
136*b1cdbd2cSJim Jagielski<!ATTLIST number:boolean-style style:volatile %boolean; #IMPLIED>
137*b1cdbd2cSJim Jagielski<!ATTLIST number:text-style style:volatile %boolean; #IMPLIED>
138*b1cdbd2cSJim Jagielski
139*b1cdbd2cSJim Jagielski<!ATTLIST number:currency-style number:automatic-order %boolean; "false">
140*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style number:automatic-order %boolean; "false">
141*b1cdbd2cSJim Jagielski
142*b1cdbd2cSJim Jagielski<!ATTLIST number:date-style number:format-source (fixed|language) "fixed">
143*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style number:format-source (fixed|language) "fixed">
144*b1cdbd2cSJim Jagielski
145*b1cdbd2cSJim Jagielski<!ATTLIST number:time-style number:truncate-on-overflow %boolean; "true">
146*b1cdbd2cSJim Jagielski
147*b1cdbd2cSJim Jagielski<!ATTLIST number:number number:decimal-places %integer; #IMPLIED>
148*b1cdbd2cSJim Jagielski<!ATTLIST number:scientific-number number:decimal-places %integer; #IMPLIED>
149*b1cdbd2cSJim Jagielski
150*b1cdbd2cSJim Jagielski<!ATTLIST number:number number:min-integer-digits %integer; #IMPLIED>
151*b1cdbd2cSJim Jagielski<!ATTLIST number:scientific-number number:min-integer-digits %integer; #IMPLIED>
152*b1cdbd2cSJim Jagielski<!ATTLIST number:fraction number:min-integer-digits %integer; #IMPLIED>
153*b1cdbd2cSJim Jagielski
154*b1cdbd2cSJim Jagielski<!ATTLIST number:number number:grouping %boolean; "false">
155*b1cdbd2cSJim Jagielski<!ATTLIST number:scientific-number number:grouping %boolean; "false">
156*b1cdbd2cSJim Jagielski<!ATTLIST number:fraction number:grouping %boolean; "false">
157*b1cdbd2cSJim Jagielski
158*b1cdbd2cSJim Jagielski<!ATTLIST number:number number:decimal-replacement CDATA #IMPLIED>
159*b1cdbd2cSJim Jagielski
160*b1cdbd2cSJim Jagielski<!ATTLIST number:scientific-number number:min-exponent-digits %integer; #IMPLIED>
161*b1cdbd2cSJim Jagielski
162*b1cdbd2cSJim Jagielski<!ATTLIST number:fraction number:min-numerator-digits %integer; #IMPLIED>
163*b1cdbd2cSJim Jagielski
164*b1cdbd2cSJim Jagielski<!ATTLIST number:fraction number:min-denominator-digits %integer; #IMPLIED>
165