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