1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?>
2*b1cdbd2cSJim Jagielski<!--***********************************************************
3*b1cdbd2cSJim Jagielski *
4*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
5*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
6*b1cdbd2cSJim Jagielski * distributed with this work for additional information
7*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
8*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
9*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
10*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
11*b1cdbd2cSJim Jagielski *
12*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
13*b1cdbd2cSJim Jagielski *
14*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
15*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
16*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
18*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
19*b1cdbd2cSJim Jagielski * under the License.
20*b1cdbd2cSJim Jagielski *
21*b1cdbd2cSJim Jagielski ***********************************************************-->
22*b1cdbd2cSJim Jagielski<!-- ............................................................... -->
23*b1cdbd2cSJim Jagielski<!-- Locale data specification DTD ................................. -->
24*b1cdbd2cSJim Jagielski<!-- ............................................................... -->
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielski<!--
27*b1cdbd2cSJim Jagielski    ===========================================================================
28*b1cdbd2cSJim Jagielski    ATTENTION! PLEASE! HEADS UP! IMPORTANT!
29*b1cdbd2cSJim Jagielski    ===========================================================================
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski    Please validate your locale data contribution using a validating parser. A
32*b1cdbd2cSJim Jagielski    validating parser, for example, may be found at
33*b1cdbd2cSJim Jagielski    http://unicode.org/cldr/data/tools/java/org/unicode/cldr/util/XMLValidator.java
34*b1cdbd2cSJim Jagielski    Compile it into a class-jar and call it in the
35*b1cdbd2cSJim Jagielski    i18npool/source/localedata/data/ directory:
36*b1cdbd2cSJim Jagielski    java -cp <your_path>/XMLValidator.jar org.unicode.cldr.util.XMLValidator your_data.xml
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski
39*b1cdbd2cSJim Jagielski    A second possiblity is:
40*b1cdbd2cSJim Jagielski
41*b1cdbd2cSJim Jagielski    - temporarily (!) change the DOCTYPE of your file to read (all on one line)
42*b1cdbd2cSJim Jagielski      <!DOCTYPE Locale SYSTEM "http://hg.services.openoffice.org/DEV300/raw-file/tip/i18npool/source/localedata/data/locale.dtd">
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski    - upload it to the form available at http://www.validome.org/
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski    This will validate the file against the HEAD revision of locale.dtd on the
47*b1cdbd2cSJim Jagielski    DEV300 development code line, for other revisions you'll have to specify
48*b1cdbd2cSJim Jagielski    the corresponding tags or cws branch instead. For example, to validate
49*b1cdbd2cSJim Jagielski    against a modified locale.dtd in CWS locales33 you would use
50*b1cdbd2cSJim Jagielski
51*b1cdbd2cSJim Jagielski      <!DOCTYPE Locale SYSTEM "http://hg.services.openoffice.org/cws/locales33/raw-file/tip/i18npool/source/localedata/data/locale.dtd">
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim Jagielski
54*b1cdbd2cSJim Jagielski    Please test locale data files either in a non-product (!) build, which
55*b1cdbd2cSJim Jagielski    implements some checks and pops up assertion message boxes if the tests
56*b1cdbd2cSJim Jagielski    fail, or by setting the environment variable OOO_ENABLE_LOCALE_DATA_CHECKS
57*b1cdbd2cSJim Jagielski    to 'Y' or 'Yes' (or any other string starting with 'Y') or '1' before
58*b1cdbd2cSJim Jagielski    starting the application, which outputs the same messages to stderr and
59*b1cdbd2cSJim Jagielski    also works in a product build.
60*b1cdbd2cSJim Jagielski
61*b1cdbd2cSJim Jagielski    Then follow this procedure:
62*b1cdbd2cSJim Jagielski    1. Create a new spreadsheet document.
63*b1cdbd2cSJim Jagielski    2. On a cell use context menu -> Format Cells -> Numbers.
64*b1cdbd2cSJim Jagielski    3. Select the locale in the Language list box => MUST be assertion free.
65*b1cdbd2cSJim Jagielski    3.a. Assertions are only shown at the very first time a number formatter
66*b1cdbd2cSJim Jagielski         is created, respectively the first time a specific locale data is
67*b1cdbd2cSJim Jagielski         used.  To repeat steps 1.-3. you'd need to create another spreadsheet
68*b1cdbd2cSJim Jagielski         document.
69*b1cdbd2cSJim Jagielski
70*b1cdbd2cSJim Jagielski    ===========================================================================
71*b1cdbd2cSJim Jagielski    NOTE the FormatElement comments further down.
72*b1cdbd2cSJim Jagielski    ===========================================================================
73*b1cdbd2cSJim Jagielski
74*b1cdbd2cSJim Jagielski-->
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim Jagielski<!-- ............................................................... -->
77*b1cdbd2cSJim Jagielski<!-- Entities for characters and symbols ........................... -->
78*b1cdbd2cSJim Jagielski
79*b1cdbd2cSJim Jagielski<!ENTITY % UNOModule
80*b1cdbd2cSJim Jagielski        'unoid                  CDATA           #IMPLIED'>
81*b1cdbd2cSJim Jagielski
82*b1cdbd2cSJim Jagielski<!ENTITY % MessageID
83*b1cdbd2cSJim Jagielski        'msgid                  CDATA           #REQUIRED'>
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski<!ENTITY % RefLocale
86*b1cdbd2cSJim Jagielski        'ref                    CDATA           #IMPLIED'>
87*b1cdbd2cSJim Jagielski<!-- Where given, an element can be inherited from another locale, e.g.
88*b1cdbd2cSJim Jagielski     ref="en_US" -->
89*b1cdbd2cSJim Jagielski
90*b1cdbd2cSJim Jagielski<!ENTITY % LIBModule
91*b1cdbd2cSJim Jagielski        'module                 CDATA           #IMPLIED'>
92*b1cdbd2cSJim Jagielski<!-- The locale referred to for the sub categories, implementation detail. -->
93*b1cdbd2cSJim Jagielski
94*b1cdbd2cSJim Jagielski<!ENTITY % replaceFrom  'replaceFrom    CDATA #IMPLIED'>
95*b1cdbd2cSJim Jagielski<!ENTITY % replaceTo    'replaceTo      CDATA #IMPLIED'>
96*b1cdbd2cSJim Jagielski<!-- See below for the LC_FORMAT element. -->
97*b1cdbd2cSJim Jagielski
98*b1cdbd2cSJim Jagielski<!ELEMENT DefaultName  (#PCDATA)>
99*b1cdbd2cSJim Jagielski
100*b1cdbd2cSJim Jagielski<!-- Locale is made of different sub categories -->
101*b1cdbd2cSJim Jagielski<!ELEMENT Locale (LC_INFO, LC_CTYPE, LC_FORMAT, LC_FORMAT_1?, LC_COLLATION, LC_SEARCH, LC_INDEX, LC_CALENDAR, LC_CURRENCY,  LC_TRANSLITERATION, LC_MISC, LC_NumberingLevel, LC_OutLineNumberingLevel)>
102*b1cdbd2cSJim Jagielski<!ATTLIST Locale versionDTD CDATA #FIXED "2.0.3">
103*b1cdbd2cSJim Jagielski<!-- Version identifier to prevent mismatching data files being submitted
104*b1cdbd2cSJim Jagielski     because of older files being copied as templates. The version should be
105*b1cdbd2cSJim Jagielski     less than or equal to the OOo release, or the OOo release number plus some
106*b1cdbd2cSJim Jagielski     extension, like "2.0.enhanced", to be able to easily determine the
107*b1cdbd2cSJim Jagielski     corresponding OOo version. New versions of the DTD with new required
108*b1cdbd2cSJim Jagielski     elements SHOULD REALLY result in a new versionDTD here and
109*b1cdbd2cSJim Jagielski     LOCALE_VERSION_DTD in ../LocaleNode.cxx, and *.xml files MUST be adapted
110*b1cdbd2cSJim Jagielski     then, otherwise building the data or checking it with a validating parser
111*b1cdbd2cSJim Jagielski     will throw an error.
112*b1cdbd2cSJim Jagielski-->
113*b1cdbd2cSJim Jagielski<!ATTLIST Locale allowUpdateFromCLDR (yes|no) #REQUIRED>
114*b1cdbd2cSJim Jagielski<!-- Whether some data elements may be (automatically) updated from the Common
115*b1cdbd2cSJim Jagielski     Locale Data Repository, see http://cldr.unicode.org/
116*b1cdbd2cSJim Jagielski     Note: This mechanism currently (2010-02-21) is outdated.
117*b1cdbd2cSJim Jagielski-->
118*b1cdbd2cSJim Jagielski<!ATTLIST Locale  version CDATA #REQUIRED>
119*b1cdbd2cSJim Jagielski<!-- Valid number, may designate versioned data -->
120*b1cdbd2cSJim Jagielski
121*b1cdbd2cSJim Jagielski
122*b1cdbd2cSJim Jagielski<!ELEMENT LC_INFO (Language, Country, Platform?, Variant?)>
123*b1cdbd2cSJim Jagielski
124*b1cdbd2cSJim Jagielski<!ELEMENT Language (LangID, DefaultName) >
125*b1cdbd2cSJim Jagielski<!ELEMENT LangID (#PCDATA) >
126*b1cdbd2cSJim Jagielski<!-- LangID must be a valid two or three letter language identifier defined by
127*b1cdbd2cSJim Jagielski     ISO 639. Use ISO 639-1 two letter code where available, else ISO 639-2 or
128*b1cdbd2cSJim Jagielski     639-3 three letter code.
129*b1cdbd2cSJim Jagielski-->
130*b1cdbd2cSJim Jagielski
131*b1cdbd2cSJim Jagielski<!ELEMENT Country (CountryID, DefaultName) >
132*b1cdbd2cSJim Jagielski<!ELEMENT CountryID (#PCDATA) >
133*b1cdbd2cSJim Jagielski<!-- CountryID must be a valid two letter country identifier defined by ISO 3166. -->
134*b1cdbd2cSJim Jagielski
135*b1cdbd2cSJim Jagielski<!ELEMENT Platform (PlatformID) >
136*b1cdbd2cSJim Jagielski<!ELEMENT PlatformID (#PCDATA) >
137*b1cdbd2cSJim Jagielski<!-- Unused, deprecated, can be generic|unix|win32|macos, best Platform element
138*b1cdbd2cSJim Jagielski     be absent.
139*b1cdbd2cSJim Jagielski-->
140*b1cdbd2cSJim Jagielski
141*b1cdbd2cSJim Jagielski<!ELEMENT Variant (#PCDATA) >
142*b1cdbd2cSJim Jagielski<!-- Reserved for future use, currently unused. -->
143*b1cdbd2cSJim Jagielski
144*b1cdbd2cSJim Jagielski
145*b1cdbd2cSJim Jagielski<!-- The LC_FORMAT element contains number format codes and may actually appear
146*b1cdbd2cSJim Jagielski     twice (with the second ocurrence named LC_FORMAT_1). One section is
147*b1cdbd2cSJim Jagielski     mandatory and MUST contain at least all required format codes
148*b1cdbd2cSJim Jagielski     formatindex="0" to formatindex="47", MUST NOT contain formatindex 48 and
149*b1cdbd2cSJim Jagielski     49, and MAY contain other format codes. See below ATTLIST FormatElement
150*b1cdbd2cSJim Jagielski     formatindex.
151*b1cdbd2cSJim Jagielski
152*b1cdbd2cSJim Jagielski     A second LC_FORMAT_1 section may follow containing other format codes. The
153*b1cdbd2cSJim Jagielski     difference between the two sections is that they are inherited
154*b1cdbd2cSJim Jagielski     independently if a locale uses the RefLocale mechanism (ref="..."). This
155*b1cdbd2cSJim Jagielski     may be used to not offer locale dependent format codes to other locales
156*b1cdbd2cSJim Jagielski     that otherwise inherit the format codes.
157*b1cdbd2cSJim Jagielski
158*b1cdbd2cSJim Jagielski-->
159*b1cdbd2cSJim Jagielski<!ELEMENT LC_FORMAT (FormatElement*) >
160*b1cdbd2cSJim Jagielski<!-- All FormatElement elements must be given if the RefLocale mechanism is not used! -->
161*b1cdbd2cSJim Jagielski<!ATTLIST LC_FORMAT %RefLocale;>
162*b1cdbd2cSJim Jagielski<!ATTLIST LC_FORMAT %replaceFrom;>
163*b1cdbd2cSJim Jagielski<!-- Define placeholder for currency code, usually "[CURRENCY]" -->
164*b1cdbd2cSJim Jagielski<!ATTLIST LC_FORMAT %replaceTo;>
165*b1cdbd2cSJim Jagielski<!-- Currency code to be used to replace the placeholder, e.g. "[$R-1C09]".
166*b1cdbd2cSJim Jagielski     Note: The brackets and the leading $ character are mandatory, the
167*b1cdbd2cSJim Jagielski     hyphen-minus separates the currency symbol from the hexagesimal MS-LCID,
168*b1cdbd2cSJim Jagielski     letters contained in the LCID have to be in upper case, leading zeros are
169*b1cdbd2cSJim Jagielski     to be omitted. LCIDs are defined in i18npool/inc/i18npool/lang.h
170*b1cdbd2cSJim Jagielski-->
171*b1cdbd2cSJim Jagielski
172*b1cdbd2cSJim Jagielski<!ELEMENT LC_FORMAT_1 (FormatElement*) >
173*b1cdbd2cSJim Jagielski<!ATTLIST LC_FORMAT_1 %RefLocale;>
174*b1cdbd2cSJim Jagielski<!ATTLIST LC_FORMAT_1 %replaceFrom;>
175*b1cdbd2cSJim Jagielski<!ATTLIST LC_FORMAT_1 %replaceTo;>
176*b1cdbd2cSJim Jagielski
177*b1cdbd2cSJim Jagielski<!ELEMENT FormatElement   ( FormatCode, DefaultName?)>
178*b1cdbd2cSJim Jagielski<!ATTLIST FormatElement    %MessageID;>
179*b1cdbd2cSJim Jagielski<!ATTLIST FormatElement    default  (true|false)        #REQUIRED >
180*b1cdbd2cSJim Jagielski<!ATTLIST FormatElement    type     (short|medium|long) #REQUIRED >
181*b1cdbd2cSJim Jagielski<!--
182*b1cdbd2cSJim Jagielski    There may be up to three groups (type="short", type="medium", type="long")
183*b1cdbd2cSJim Jagielski    for each usage category defined. Each group, if defined, needs excactly one
184*b1cdbd2cSJim Jagielski    default. The type roughly determines the display string length, for example
185*b1cdbd2cSJim Jagielski    short, medium, and long date formats.
186*b1cdbd2cSJim Jagielski
187*b1cdbd2cSJim Jagielski    The number formatter determines an ultimate default format of a specific
188*b1cdbd2cSJim Jagielski    usage category by looking at the medium, long, and short default formats,
189*b1cdbd2cSJim Jagielski    in that very particular order.
190*b1cdbd2cSJim Jagielski-->
191*b1cdbd2cSJim Jagielski<!ATTLIST FormatElement    usage    (FIXED_NUMBER|FRACTION_NUMBER|PERCENT_NUMBER|SCIENTIFIC_NUMBER|CURRENCY|DATE|TIME|DATE_TIME) #REQUIRED >
192*b1cdbd2cSJim Jagielski<!ATTLIST FormatElement formatindex  CDATA #REQUIRED>
193*b1cdbd2cSJim Jagielski<!--
194*b1cdbd2cSJim Jagielski    The following FormatElements must follow specific rules:
195*b1cdbd2cSJim Jagielski
196*b1cdbd2cSJim Jagielski    All:
197*b1cdbd2cSJim Jagielski        The format indices 0..49 are reserved and, for backwards compatibility,
198*b1cdbd2cSJim Jagielski        MUST be used as stated in
199*b1cdbd2cSJim Jagielski        offapi/com/sun/star/i18n/NumberFormatIndex.idl.
200*b1cdbd2cSJim Jagielski        Note that indices 10 ("# ?/?"), 11 ("# ??/??"), 48 (BOOLEAN) and 49 (@
201*b1cdbd2cSJim Jagielski        Text) are generated internally, as they aren't locale dependent, and
202*b1cdbd2cSJim Jagielski        must not be used in locale data XML files. All other formats have to be
203*b1cdbd2cSJim Jagielski        present.
204*b1cdbd2cSJim Jagielski
205*b1cdbd2cSJim Jagielski        Note also that "must be used as stated" does not mean that the format
206*b1cdbd2cSJim Jagielski        codes must be identical, of course the meaning of a format code should
207*b1cdbd2cSJim Jagielski        match, for example en_US MM/DD/YY matches de_DE DD.MM.YY
208*b1cdbd2cSJim Jagielski        Just imagine the same index being used with another locale shouldn't
209*b1cdbd2cSJim Jagielski        change the meaning of representation significantly.
210*b1cdbd2cSJim Jagielski
211*b1cdbd2cSJim Jagielski        You'll notice differences of non-matching format codes only if
212*b1cdbd2cSJim Jagielski        documents use the Default language in number formats and either are
213*b1cdbd2cSJim Jagielski        stored in old SO5 binary file format and loaded on another system where
214*b1cdbd2cSJim Jagielski        languages/locales aren't the same, or if the default locale is switched
215*b1cdbd2cSJim Jagielski        under menu Tools.Options.LanguageSettings.Languages.LocaleSetting
216*b1cdbd2cSJim Jagielski        dialog, which exchanges formats on the fly in the spreadsheet
217*b1cdbd2cSJim Jagielski        application. Please check it out! So far only very few locale data file
218*b1cdbd2cSJim Jagielski        we received got that right, especially not in date formats!
219*b1cdbd2cSJim Jagielski
220*b1cdbd2cSJim Jagielski        For easier comparison between locales in future please sort the
221*b1cdbd2cSJim Jagielski        FormatElements by their formatindex="..." value within a usage group.
222*b1cdbd2cSJim Jagielski        This isn't necessary to be technically correct and isn't done in many
223*b1cdbd2cSJim Jagielski        locales yet, but will certainly help.
224*b1cdbd2cSJim Jagielski
225*b1cdbd2cSJim Jagielski    Of usage="FIXED_NUMBER":
226*b1cdbd2cSJim Jagielski        formatindex="0" MUST be the format containing the 'General' keyword.
227*b1cdbd2cSJim Jagielski        The keyword itself may be localized, it is good practice though to
228*b1cdbd2cSJim Jagielski        stick with a wording known from another spreadsheet application for
229*b1cdbd2cSJim Jagielski        better user experience. Like other format codes it may be prepended
230*b1cdbd2cSJim Jagielski        with a [NatNum1] modifier if values are to be displayed using native
231*b1cdbd2cSJim Jagielski        numbering if no specific format was applied. The format must have the
232*b1cdbd2cSJim Jagielski        default="true" and type="medium" attributes.
233*b1cdbd2cSJim Jagielski
234*b1cdbd2cSJim Jagielski    Of usage="DATE":
235*b1cdbd2cSJim Jagielski        formatindex="21" is used to edit already existing date data. In order
236*b1cdbd2cSJim Jagielski        to always edit the full century the long year YYYY code must be used.
237*b1cdbd2cSJim Jagielski        Furthermore, the format has to be of an editable type, of course, which
238*b1cdbd2cSJim Jagielski        means parseable. Therefore it should only contain DD, MM, YYYY and date
239*b1cdbd2cSJim Jagielski        separators, and the YMD default order is determined from the order
240*b1cdbd2cSJim Jagielski        encountered in this format.
241*b1cdbd2cSJim Jagielski        TODO: Future versions should make use of an edit="true" attribute
242*b1cdbd2cSJim Jagielski        instead of relying on this special requirement.
243*b1cdbd2cSJim Jagielski
244*b1cdbd2cSJim Jagielski        Formatindices 32 and 33 are always used for ISO 8601 YY-MM-DD
245*b1cdbd2cSJim Jagielski        respectively YYYY-MM-DD format codes.
246*b1cdbd2cSJim Jagielski
247*b1cdbd2cSJim Jagielski    Of usage="DATE_TIME":
248*b1cdbd2cSJim Jagielski        formatindex="47" is used to edit already existing combined date/time
249*b1cdbd2cSJim Jagielski        data. The requirements are the same as for formatindex="21" above.
250*b1cdbd2cSJim Jagielski
251*b1cdbd2cSJim Jagielski    Of usage="TIME":
252*b1cdbd2cSJim Jagielski        formatindices 43, 44, 45 are special in the sense that they are
253*b1cdbd2cSJim Jagielski        programmatically used to automatically display values that meet certain
254*b1cdbd2cSJim Jagielski        criteria:
255*b1cdbd2cSJim Jagielski        Formatindex="43" contains the [HH] format code that displays hour
256*b1cdbd2cSJim Jagielski        values greater than or equal to 24 (as opposed to a simple HH that
257*b1cdbd2cSJim Jagielski        displays modulo 24).
258*b1cdbd2cSJim Jagielski        Formatindex="44" uses no hour code but 100th seconds and the
259*b1cdbd2cSJim Jagielski        Time100SecSeparator.
260*b1cdbd2cSJim Jagielski        Formatindex="45" uses both [HH] hour code and 100th seconds to be able
261*b1cdbd2cSJim Jagielski        to edit such time values without loosing information.
262*b1cdbd2cSJim Jagielski
263*b1cdbd2cSJim Jagielski    Of usage="CURRENCY":
264*b1cdbd2cSJim Jagielski        formatindices 12, 13, 14, 15, 17 with [$xxx-yyy] notation must use the
265*b1cdbd2cSJim Jagielski        xxx currency symbol that has the attribute
266*b1cdbd2cSJim Jagielski        usedInCompatibleFormatCodes="true".  The hexadecimal yyy LANGID must be
267*b1cdbd2cSJim Jagielski        properly set. It can be found in project util module tools file
268*b1cdbd2cSJim Jagielski        tools/inc/lang.hxx.  You may verify the proper use of the xxx currency
269*b1cdbd2cSJim Jagielski        symbol with the AWK script
270*b1cdbd2cSJim Jagielski        i18npool/source/localedata/data/currency-check.awk, it mustn't display
271*b1cdbd2cSJim Jagielski        any output. If it does, then there's something wrong.
272*b1cdbd2cSJim Jagielski-->
273*b1cdbd2cSJim Jagielski<!ELEMENT FormatCode      (#PCDATA)>
274*b1cdbd2cSJim Jagielski
275*b1cdbd2cSJim Jagielski
276*b1cdbd2cSJim Jagielski<!-- The LC_CALENDAR element defines calendars used with a locale. -->
277*b1cdbd2cSJim Jagielski<!ELEMENT LC_CALENDAR (Calendar* ) >
278*b1cdbd2cSJim Jagielski<!-- At least one Calendar element must be given if the RefLocale mechanism is not used! -->
279*b1cdbd2cSJim Jagielski<!ATTLIST LC_CALENDAR %RefLocale;>
280*b1cdbd2cSJim Jagielski
281*b1cdbd2cSJim Jagielski<!ELEMENT Calendar (DaysOfWeek, MonthsOfYear, Eras, StartDayOfWeek, MinimalDaysInFirstWeek) >
282*b1cdbd2cSJim Jagielski<!ATTLIST Calendar %UNOModule;>
283*b1cdbd2cSJim Jagielski<!-- The unoid of a gregorian calendar MUST be lower case "gregorian",
284*b1cdbd2cSJim Jagielski     calendars MUST match the names defined in the OASIS OpenDocument Format
285*b1cdbd2cSJim Jagielski     (ODF) 1.2 or later specification. The implementation name registered with
286*b1cdbd2cSJim Jagielski     the OOo service resgistry MUST match, e.g.
287*b1cdbd2cSJim Jagielski     com.sun.star.i18n.Calendar_gregorian
288*b1cdbd2cSJim Jagielski-->
289*b1cdbd2cSJim Jagielski<!ATTLIST Calendar default (true|false) #REQUIRED >
290*b1cdbd2cSJim Jagielski<!-- Exactly one Calendar element has to be the default calendar. -->
291*b1cdbd2cSJim Jagielski
292*b1cdbd2cSJim Jagielski<!ELEMENT DaysOfWeek (Day*)>
293*b1cdbd2cSJim Jagielski<!-- All Day elements of a Calendar must be given if the RefLocale mechanism is not used! -->
294*b1cdbd2cSJim Jagielski<!ATTLIST DaysOfWeek %RefLocale;>
295*b1cdbd2cSJim Jagielski<!-- Sequence of days is important, MUST start with Sunday. -->
296*b1cdbd2cSJim Jagielski<!ELEMENT Day (DayID, DefaultAbbrvName, DefaultFullName)>
297*b1cdbd2cSJim Jagielski<!ELEMENT DayID (#PCDATA)>
298*b1cdbd2cSJim Jagielski<!-- Preferably the lower case abbreviated English name like sun for Sunday. -->
299*b1cdbd2cSJim Jagielski<!ELEMENT DefaultAbbrvName (#PCDATA)>
300*b1cdbd2cSJim Jagielski<!-- The abbreviated day name, e.g. Sun for Sunday. -->
301*b1cdbd2cSJim Jagielski<!ELEMENT DefaultFullName (#PCDATA)>
302*b1cdbd2cSJim Jagielski<!-- The full day name, e.g. Sunday for Sunday. -->
303*b1cdbd2cSJim Jagielski
304*b1cdbd2cSJim Jagielski<!ELEMENT MonthsOfYear (Month*)>
305*b1cdbd2cSJim Jagielski<!-- All Month elements of a Calendar must be given if the RefLocale mechanism is not used! -->
306*b1cdbd2cSJim Jagielski<!ATTLIST MonthsOfYear %RefLocale;>
307*b1cdbd2cSJim Jagielski<!-- Sequence of months is important, MUST start with the first month of a
308*b1cdbd2cSJim Jagielski     year, e.g. January in a Gregorian calendar.
309*b1cdbd2cSJim Jagielski -->
310*b1cdbd2cSJim Jagielski<!ELEMENT Month (MonthID, DefaultAbbrvName, DefaultFullName)>
311*b1cdbd2cSJim Jagielski<!ELEMENT MonthID (#PCDATA)>
312*b1cdbd2cSJim Jagielski<!-- Preferably the lower case abbreviated English name like jan for January. -->
313*b1cdbd2cSJim Jagielski
314*b1cdbd2cSJim Jagielski<!ELEMENT Eras (Era*)>
315*b1cdbd2cSJim Jagielski<!-- All Era elements of a Calendar must be given if the RefLocale mechanism is not used! -->
316*b1cdbd2cSJim Jagielski<!ATTLIST Eras %RefLocale;>
317*b1cdbd2cSJim Jagielski<!-- The eras MUST be in chronological order, e.g. first BC then AC. -->
318*b1cdbd2cSJim Jagielski<!ELEMENT Era (EraID, DefaultAbbrvName, DefaultFullName)>
319*b1cdbd2cSJim Jagielski<!ELEMENT EraID (#PCDATA)>
320*b1cdbd2cSJim Jagielski<!-- If a calendar has special eras (like zh_TW ROC or ja_JP Gengou calendar)
321*b1cdbd2cSJim Jagielski     and a date before those eras is undefined, a leading (first) dummy era
322*b1cdbd2cSJim Jagielski     with EraID="Dummy" has to be defined to enable the number formatter to
323*b1cdbd2cSJim Jagielski     fall back to a Gregorian calendar for those date values if the XCalendar
324*b1cdbd2cSJim Jagielski     implementation returns an era value of 0.
325*b1cdbd2cSJim Jagielski-->
326*b1cdbd2cSJim Jagielski
327*b1cdbd2cSJim Jagielski<!ELEMENT StartDayOfWeek (DayID)>
328*b1cdbd2cSJim Jagielski<!-- MUST exactly match (case significant!) one of the DayID of DaysOfWeek -->
329*b1cdbd2cSJim Jagielski
330*b1cdbd2cSJim Jagielski<!ELEMENT MinimalDaysInFirstWeek (#PCDATA)>
331*b1cdbd2cSJim Jagielski<!-- The number of days of a week that must reside in the beginning of a year
332*b1cdbd2cSJim Jagielski     to make a week the first week of the year. For example, a value of 4 means
333*b1cdbd2cSJim Jagielski     that at least 4 days of a week must be in the new year. So if the week
334*b1cdbd2cSJim Jagielski     starts on Monday, the first week of a year will be the week where Thursday
335*b1cdbd2cSJim Jagielski     is in the new year.
336*b1cdbd2cSJim Jagielski-->
337*b1cdbd2cSJim Jagielski
338*b1cdbd2cSJim Jagielski
339*b1cdbd2cSJim Jagielski<!-- The LC_CURRENCY element defines currencies used with a locale. -->
340*b1cdbd2cSJim Jagielski<!ELEMENT LC_CURRENCY (Currency* ) >
341*b1cdbd2cSJim Jagielski<!-- At least one Currency element must be given if the RefLocale mechanism is not used! -->
342*b1cdbd2cSJim Jagielski<!ATTLIST LC_CURRENCY %RefLocale;>
343*b1cdbd2cSJim Jagielski<!ELEMENT Currency (CurrencyID, CurrencySymbol, BankSymbol, CurrencyName, DecimalPlaces)>
344*b1cdbd2cSJim Jagielski<!ATTLIST Currency  default (true|false) #REQUIRED >
345*b1cdbd2cSJim Jagielski<!-- Exactly one Currency element has to be the default currency. -->
346*b1cdbd2cSJim Jagielski<!ATTLIST Currency  usedInCompatibleFormatCodes (true|false) #REQUIRED >
347*b1cdbd2cSJim Jagielski<!-- If this currency is the one used in compatible number format codes with
348*b1cdbd2cSJim Jagielski     <member>FormatElement::formatIndex</member> values in the range 12..17.
349*b1cdbd2cSJim Jagielski     Those format codes are used to generate some old style currency format
350*b1cdbd2cSJim Jagielski     codes for compatibility with StarOffice5 and StarOffice4.
351*b1cdbd2cSJim Jagielski     Every locale data file MUST contain exactly one currency having this set to "true",
352*b1cdbd2cSJim Jagielski     and that currency MUST be used in format codes 12..17.
353*b1cdbd2cSJim Jagielski     For European countries using the EURo it MUST be the old currency, for example, DM.
354*b1cdbd2cSJim Jagielski-->
355*b1cdbd2cSJim Jagielski<!ATTLIST Currency  legacyOnly (true|false) #IMPLIED >
356*b1cdbd2cSJim Jagielski<!-- If this Currency element exists only to be able to correctly load legacy
357*b1cdbd2cSJim Jagielski     documents and is not selectable in the UI otherwise. Defaults to "false"
358*b1cdbd2cSJim Jagielski     if not specified. If this attribute is "true", 'default' and
359*b1cdbd2cSJim Jagielski     'usedInCompatibleFormatCodes' must both be "false".
360*b1cdbd2cSJim Jagielski-->
361*b1cdbd2cSJim Jagielski<!ELEMENT CurrencyID (#PCDATA)>
362*b1cdbd2cSJim Jagielski<!-- The ISO 4217 three letter currency code, e.g. USD or EUR. -->
363*b1cdbd2cSJim Jagielski<!ELEMENT CurrencySymbol (#PCDATA)>
364*b1cdbd2cSJim Jagielski<!-- The currency symbol, e.g. $ or €. -->
365*b1cdbd2cSJim Jagielski<!ELEMENT BankSymbol (#PCDATA)>
366*b1cdbd2cSJim Jagielski<!-- The ISO 4217 three letter currency code, e.g. USD or EUR. -->
367*b1cdbd2cSJim Jagielski<!ELEMENT CurrencyName (#PCDATA)>
368*b1cdbd2cSJim Jagielski<!-- The native currency name, e.g. Dollar or Euro. -->
369*b1cdbd2cSJim Jagielski<!ELEMENT DecimalPlaces (#PCDATA)>
370*b1cdbd2cSJim Jagielski<!-- Number of decimal places used with the currency, usually 2 or 0, e.g. 2
371*b1cdbd2cSJim Jagielski     for cents.
372*b1cdbd2cSJim Jagielski-->
373*b1cdbd2cSJim Jagielski
374*b1cdbd2cSJim Jagielski
375*b1cdbd2cSJim Jagielski<!ELEMENT LC_CTYPE (Separators?, Markers?, TimeAM?, TimePM?,  MeasurementSystem?)>
376*b1cdbd2cSJim Jagielski<!-- All elements must be given if the RefLocale mechanism is not used! -->
377*b1cdbd2cSJim Jagielski<!ATTLIST LC_CTYPE  %RefLocale;>
378*b1cdbd2cSJim Jagielski<!ATTLIST LC_CTYPE  %UNOModule;>
379*b1cdbd2cSJim Jagielski
380*b1cdbd2cSJim Jagielski<!ELEMENT Separators (DateSeparator, ThousandSeparator, DecimalSeparator, TimeSeparator, Time100SecSeparator, ListSeparator, LongDateDayOfWeekSeparator, LongDateDaySeparator, LongDateMonthSeparator, LongDateYearSeparator)>
381*b1cdbd2cSJim Jagielski<!ELEMENT DateSeparator (#PCDATA)>
382*b1cdbd2cSJim Jagielski<!ELEMENT ThousandSeparator (#PCDATA)>
383*b1cdbd2cSJim Jagielski<!ELEMENT DecimalSeparator (#PCDATA)>
384*b1cdbd2cSJim Jagielski<!ELEMENT TimeSeparator (#PCDATA)>
385*b1cdbd2cSJim Jagielski<!ELEMENT Time100SecSeparator (#PCDATA)>
386*b1cdbd2cSJim Jagielski<!ELEMENT ListSeparator (#PCDATA)>
387*b1cdbd2cSJim Jagielski<!ELEMENT LongDateDayOfWeekSeparator (#PCDATA)>
388*b1cdbd2cSJim Jagielski<!ELEMENT LongDateDaySeparator (#PCDATA)>
389*b1cdbd2cSJim Jagielski<!ELEMENT LongDateMonthSeparator (#PCDATA)>
390*b1cdbd2cSJim Jagielski<!ELEMENT LongDateYearSeparator (#PCDATA)>
391*b1cdbd2cSJim Jagielski
392*b1cdbd2cSJim Jagielski<!ELEMENT Markers (QuotationStart, QuotationEnd, DoubleQuotationStart, DoubleQuotationEnd)>
393*b1cdbd2cSJim Jagielski<!ELEMENT QuotationStart (#PCDATA)>
394*b1cdbd2cSJim Jagielski<!ELEMENT QuotationEnd  (#PCDATA)>
395*b1cdbd2cSJim Jagielski<!ELEMENT DoubleQuotationStart (#PCDATA)>
396*b1cdbd2cSJim Jagielski<!ELEMENT DoubleQuotationEnd (#PCDATA)>
397*b1cdbd2cSJim Jagielski
398*b1cdbd2cSJim Jagielski<!ELEMENT TimeAM (#PCDATA)>
399*b1cdbd2cSJim Jagielski<!ELEMENT TimePM (#PCDATA)>
400*b1cdbd2cSJim Jagielski<!ELEMENT MeasurementSystem  (#PCDATA)>
401*b1cdbd2cSJim Jagielski
402*b1cdbd2cSJim Jagielski
403*b1cdbd2cSJim Jagielski<!ELEMENT LC_COLLATION (Collator*, CollationOptions?)>
404*b1cdbd2cSJim Jagielski<!-- All elements must be given if the RefLocale mechanism is not used! -->
405*b1cdbd2cSJim Jagielski<!ATTLIST LC_COLLATION %RefLocale;>
406*b1cdbd2cSJim Jagielski<!--
407*b1cdbd2cSJim Jagielski	Optional ICU tailoring.
408*b1cdbd2cSJim Jagielski
409*b1cdbd2cSJim Jagielski	See Collation Customization in ICU User Guide for syntax,
410*b1cdbd2cSJim Jagielski	http://www.icu-project.org/userguide/Collate_Customization.html
411*b1cdbd2cSJim Jagielski
412*b1cdbd2cSJim Jagielski	There are two ways to add language specific tailoring in OpenOffice.org.
413*b1cdbd2cSJim Jagielski	For small tailoring, you can directly add it in locale data here. For
414*b1cdbd2cSJim Jagielski	large tailoring, it is suggested to put the data under collator/data, so
415*b1cdbd2cSJim Jagielski	it will be compiled to a binary format in build time and improve performance
416*b1cdbd2cSJim Jagielski	in run time.
417*b1cdbd2cSJim Jagielski
418*b1cdbd2cSJim Jagielski-->
419*b1cdbd2cSJim Jagielski<!ELEMENT Collator (#PCDATA)>
420*b1cdbd2cSJim Jagielski<!ATTLIST Collator  %UNOModule;>
421*b1cdbd2cSJim Jagielski<!ATTLIST Collator  default (true|false) #REQUIRED >
422*b1cdbd2cSJim Jagielski<!ELEMENT CollationOptions (TransliterationModules+)>
423*b1cdbd2cSJim Jagielski<!ELEMENT TransliterationModules (#PCDATA)>
424*b1cdbd2cSJim Jagielski
425*b1cdbd2cSJim Jagielski
426*b1cdbd2cSJim Jagielski<!ELEMENT LC_SEARCH (SearchOptions?)>
427*b1cdbd2cSJim Jagielski<!-- All elements must be given if the RefLocale mechanism is not used! -->
428*b1cdbd2cSJim Jagielski<!ATTLIST LC_SEARCH %RefLocale;>
429*b1cdbd2cSJim Jagielski<!ELEMENT SearchOptions (TransliterationModules+)>
430*b1cdbd2cSJim Jagielski
431*b1cdbd2cSJim Jagielski
432*b1cdbd2cSJim Jagielski<!ELEMENT LC_INDEX (IndexKey*, UnicodeScript*, FollowPageWord*)>
433*b1cdbd2cSJim Jagielski<!ATTLIST LC_INDEX %RefLocale;>
434*b1cdbd2cSJim Jagielski
435*b1cdbd2cSJim Jagielski<!--
436*b1cdbd2cSJim Jagielski    The IndexKey element is optional, but should be given if the locale
437*b1cdbd2cSJim Jagielski    requires a specific sort order in Writer's index tables or entries are to
438*b1cdbd2cSJim Jagielski    be combined under keys.
439*b1cdbd2cSJim Jagielski
440*b1cdbd2cSJim Jagielski    Index key for the algorithm and language, like >A-Z< for English => A, B,
441*b1cdbd2cSJim Jagielski    C, ..., Y, Z. The letters specify under which key an entry goes and the
442*b1cdbd2cSJim Jagielski    order the keys are sorted. Keys may be reordered or letters inserted to
443*b1cdbd2cSJim Jagielski    form a specific order, for example (ve_ZA) >A-D Ḓ E-L Ḽ M N Ṋ Ṅ O-T Ṱ U-Z<
444*b1cdbd2cSJim Jagielski    Entries that don't match a defined key are appended to the index list. Used
445*b1cdbd2cSJim Jagielski    in Writer textprocessor.
446*b1cdbd2cSJim Jagielski
447*b1cdbd2cSJim Jagielski    The initial data was setup according to the ICU collation chart at
448*b1cdbd2cSJim Jagielski    http://oss.software.ibm.com/icu/charts/collation/
449*b1cdbd2cSJim Jagielski    Note: ICU site was moved to http://www.icu-project.org/ and as ICU per
450*b1cdbd2cSJim Jagielski    default uses CLDR, collation charts are available at
451*b1cdbd2cSJim Jagielski    http://unicode.org/cldr/comparison_charts.html#Collation
452*b1cdbd2cSJim Jagielski
453*b1cdbd2cSJim Jagielski    Possible notations in the syntax of the IndexKey element are:
454*b1cdbd2cSJim Jagielski
455*b1cdbd2cSJim Jagielski    '-' (dash): Ellipsis, all letters elided by the ellipsis are included as
456*b1cdbd2cSJim Jagielski    index keys in alphabetic order. For example, 'A-Z' includes all ASCII
457*b1cdbd2cSJim Jagielski    letters A to Z.
458*b1cdbd2cSJim Jagielski
459*b1cdbd2cSJim Jagielski    '[]' (square brackets): all letters included in square brackets are
460*b1cdbd2cSJim Jagielski    skipping letters. It is used for CTL languages, for example in Thai
461*b1cdbd2cSJim Jagielski    (th_TH), to skip prefix vowels or signs. For example, if ["] double quote
462*b1cdbd2cSJim Jagielski    is defined as skipping letter, index item '"Index"' will be under 'I', not
463*b1cdbd2cSJim Jagielski    '"'.
464*b1cdbd2cSJim Jagielski
465*b1cdbd2cSJim Jagielski    '{}' (curly brackets): define multiple letters index key, for example
466*b1cdbd2cSJim Jagielski    '{Cs}' is one of the index keys for Hungarian (hu_HU).
467*b1cdbd2cSJim Jagielski
468*b1cdbd2cSJim Jagielski    '()' (parentheses): define optional description for index key. If defined,
469*b1cdbd2cSJim Jagielski    the description will be shown as index key title, instead of the index key
470*b1cdbd2cSJim Jagielski    itself. For example, 'E(E, É)' in Hungarian adds entries with 'E' to the
471*b1cdbd2cSJim Jagielski    description 'E, É'.
472*b1cdbd2cSJim Jagielski
473*b1cdbd2cSJim Jagielski-->
474*b1cdbd2cSJim Jagielski<!ELEMENT IndexKey (#PCDATA)>
475*b1cdbd2cSJim Jagielski<!ATTLIST IndexKey  %UNOModule;>
476*b1cdbd2cSJim Jagielski<!ATTLIST IndexKey  %LIBModule;>
477*b1cdbd2cSJim Jagielski<!ATTLIST IndexKey  default (true|false) #REQUIRED >
478*b1cdbd2cSJim Jagielski<!ATTLIST IndexKey  phonetic (true|false) #REQUIRED >
479*b1cdbd2cSJim Jagielski
480*b1cdbd2cSJim Jagielski<!--
481*b1cdbd2cSJim Jagielski    The Unicode script types are those of
482*b1cdbd2cSJim Jagielski    offapi/com/sun/star/i18n/UnicodeScript.idl, they define the code range for
483*b1cdbd2cSJim Jagielski    the language.
484*b1cdbd2cSJim Jagielski-->
485*b1cdbd2cSJim Jagielski<!ELEMENT UnicodeScript (#PCDATA)>
486*b1cdbd2cSJim Jagielski
487*b1cdbd2cSJim Jagielski<!--
488*b1cdbd2cSJim Jagielski    The FollowPageWord entries were originally hard-coded in
489*b1cdbd2cSJim Jagielski    ../../indexentry/indexentrysupplier.cxx, most locales used the English
490*b1cdbd2cSJim Jagielski    ``p.'' and ``pp.'', valid data should be provided by native speakers.
491*b1cdbd2cSJim Jagielski    These words or abbreviations are used in the Writer's index table. The
492*b1cdbd2cSJim Jagielski    first FollowPageWord element is the abbreviation for "page" (p.), the
493*b1cdbd2cSJim Jagielski    second FollowPageWord element the abbreviation for "page and following
494*b1cdbd2cSJim Jagielski    pages" (pp.).
495*b1cdbd2cSJim Jagielski-->
496*b1cdbd2cSJim Jagielski<!ELEMENT FollowPageWord (#PCDATA)>
497*b1cdbd2cSJim Jagielski
498*b1cdbd2cSJim Jagielski
499*b1cdbd2cSJim Jagielski<!ELEMENT LC_TRANSLITERATION (Transliteration*)>
500*b1cdbd2cSJim Jagielski<!ATTLIST LC_TRANSLITERATION %RefLocale;>
501*b1cdbd2cSJim Jagielski<!ELEMENT Transliteration EMPTY>
502*b1cdbd2cSJim Jagielski<!ATTLIST Transliteration  %UNOModule;>
503*b1cdbd2cSJim Jagielski
504*b1cdbd2cSJim Jagielski<!ELEMENT LC_MISC (ForbiddenCharacters?, BreakIteratorRules?, ReservedWords?)>
505*b1cdbd2cSJim Jagielski<!ATTLIST LC_MISC %RefLocale;>
506*b1cdbd2cSJim Jagielski<!ELEMENT ForbiddenCharacters (ForbiddenLineBeginCharacters, ForbiddenLineEndCharacters, LineBreakHangingCharacters)>
507*b1cdbd2cSJim Jagielski<!ELEMENT ForbiddenLineBeginCharacters (#PCDATA)>
508*b1cdbd2cSJim Jagielski<!ELEMENT ForbiddenLineEndCharacters (#PCDATA)>
509*b1cdbd2cSJim Jagielski
510*b1cdbd2cSJim Jagielski<!-- optional break iterator rules for the languages.
511*b1cdbd2cSJim Jagielski     if defined, 5 rules should be all listed, each of them can be blank and default will be used.
512*b1cdbd2cSJim Jagielski     order of the rules is significant!
513*b1cdbd2cSJim Jagielski-->
514*b1cdbd2cSJim Jagielski<!ELEMENT BreakIteratorRules (EditMode, DictionaryMode, WordCountMode, CharacterMode, LineMode)>
515*b1cdbd2cSJim Jagielski<!ELEMENT EditMode (#PCDATA)>
516*b1cdbd2cSJim Jagielski<!ELEMENT DictionaryMode (#PCDATA)>
517*b1cdbd2cSJim Jagielski<!ELEMENT WordCountMode (#PCDATA)>
518*b1cdbd2cSJim Jagielski<!ELEMENT CharacterMode (#PCDATA)>
519*b1cdbd2cSJim Jagielski<!ELEMENT LineMode (#PCDATA)>
520*b1cdbd2cSJim Jagielski
521*b1cdbd2cSJim Jagielski<!ELEMENT ReservedWords  (trueWord, falseWord, quarter1Word, quarter2Word, quarter3Word, quarter4Word, aboveWord, belowWord, quarter1Abbreviation, quarter2Abbreviation, quarter3Abbreviation, quarter4Abbreviation)>
522*b1cdbd2cSJim Jagielski<!-- order is significant! -->
523*b1cdbd2cSJim Jagielski<!ELEMENT trueWord (#PCDATA)>
524*b1cdbd2cSJim Jagielski<!ELEMENT falseWord (#PCDATA)>
525*b1cdbd2cSJim Jagielski<!ELEMENT quarter1Word (#PCDATA)>
526*b1cdbd2cSJim Jagielski<!ELEMENT quarter2Word (#PCDATA)>
527*b1cdbd2cSJim Jagielski<!ELEMENT quarter3Word (#PCDATA)>
528*b1cdbd2cSJim Jagielski<!ELEMENT quarter4Word (#PCDATA)>
529*b1cdbd2cSJim Jagielski<!ELEMENT aboveWord (#PCDATA)>
530*b1cdbd2cSJim Jagielski<!ELEMENT belowWord (#PCDATA)>
531*b1cdbd2cSJim Jagielski<!-- aboveWord and belowWord are used as reference field content in Writer, it
532*b1cdbd2cSJim Jagielski     is a "physical" object relative position, not "numerical" relative.
533*b1cdbd2cSJim Jagielski-->
534*b1cdbd2cSJim Jagielski<!ELEMENT quarter1Abbreviation (#PCDATA)>    <!-- "Q1" (quarter), "T1" (trimestre), ... -->
535*b1cdbd2cSJim Jagielski<!ELEMENT quarter2Abbreviation (#PCDATA)>
536*b1cdbd2cSJim Jagielski<!ELEMENT quarter3Abbreviation (#PCDATA)>
537*b1cdbd2cSJim Jagielski<!ELEMENT quarter4Abbreviation (#PCDATA)>
538*b1cdbd2cSJim Jagielski
539*b1cdbd2cSJim Jagielski
540*b1cdbd2cSJim Jagielski<!--
541*b1cdbd2cSJim Jagielski    In numbering levels, the NumType attribute is a value of the constants
542*b1cdbd2cSJim Jagielski    defined in offapi/com/sun/star/style/NumberingType.idl
543*b1cdbd2cSJim Jagielski-->
544*b1cdbd2cSJim Jagielski
545*b1cdbd2cSJim Jagielski<!ELEMENT LC_NumberingLevel (NumberingLevel* )>
546*b1cdbd2cSJim Jagielski<!ATTLIST LC_NumberingLevel %RefLocale;>
547*b1cdbd2cSJim Jagielski<!ELEMENT NumberingLevel EMPTY>
548*b1cdbd2cSJim Jagielski<!ATTLIST NumberingLevel Prefix CDATA #REQUIRED>
549*b1cdbd2cSJim Jagielski<!ATTLIST NumberingLevel NumType CDATA #REQUIRED>
550*b1cdbd2cSJim Jagielski<!ATTLIST NumberingLevel Suffix CDATA  #REQUIRED>
551*b1cdbd2cSJim Jagielski<!ATTLIST NumberingLevel Transliteration CDATA #IMPLIED>
552*b1cdbd2cSJim Jagielski<!ATTLIST NumberingLevel NatNum CDATA #IMPLIED>
553*b1cdbd2cSJim Jagielski
554*b1cdbd2cSJim Jagielski
555*b1cdbd2cSJim Jagielski<!ELEMENT LC_OutLineNumberingLevel (OutlineStyle* )>
556*b1cdbd2cSJim Jagielski<!ATTLIST LC_OutLineNumberingLevel %RefLocale;>
557*b1cdbd2cSJim Jagielski<!ELEMENT OutlineStyle (OutLineNumberingLevel+)>
558*b1cdbd2cSJim Jagielski<!ELEMENT OutLineNumberingLevel EMPTY>
559*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel Prefix CDATA  #REQUIRED >
560*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel NumType CDATA  #REQUIRED >
561*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel Suffix CDATA  #REQUIRED >
562*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel BulletChar CDATA  #REQUIRED >
563*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel BulletFontName CDATA   #REQUIRED>
564*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel ParentNumbering CDATA  #REQUIRED >
565*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel LeftMargin CDATA   #REQUIRED>
566*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel SymbolTextDistance CDATA  #REQUIRED >
567*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel FirstLineOffset CDATA  #REQUIRED >
568*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel Transliteration CDATA #IMPLIED >
569*b1cdbd2cSJim Jagielski<!ATTLIST OutLineNumberingLevel NatNum CDATA #IMPLIED>
570