<!-- ............................................................... --> <!-- Entities for characters and symbols ........................... -->
<!ENTITY % UNOModule 'unoid CDATA #IMPLIED'>
<!ENTITY % MessageID 'msgid CDATA #REQUIRED'>
<!ENTITY % RefLocale 'ref CDATA #IMPLIED'> <!-- Where given, an element can be inherited from another locale, e.g.
ref="en_US" -->
<!ENTITY % LIBModule 'module CDATA #IMPLIED'> <!-- The locale referred to for the sub categories, implementation detail. -->
<!ENTITY % replaceFrom 'replaceFrom CDATA #IMPLIED'>
<!ENTITY % replaceTo 'replaceTo CDATA #IMPLIED'> <!-- See below for the LC_FORMAT element. -->
<!ELEMENT DefaultName (#PCDATA)>
<!-- Locale is made of different sub categories -->
<!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)>
<!ATTLIST Locale versionDTD CDATA #FIXED "2.0.3"> <!-- Version identifier to prevent mismatching data files being submitted becauseofolderfilesbeingcopiedastemplates.Theversionshouldbe lessthanorequaltotheLibreOfficerelease,ortheLibreOfficerelease numberplussomeextension,like"2.0.enhanced",tobeabletoeasily determinethecorrespondingLibreOfficeversion.NewversionsoftheDTD withnewrequiredelementsSHOULDREALLYresultinanewversionDTDhere andLOCALE_VERSION_DTDin../LocaleNode.cxx,and*.xmlfilesMUSTbe adaptedthen,otherwisebuildingthedataorcheckingitwithavalidating parserwillthrowanerror.
-->
<!ATTLIST Locale allowUpdateFromCLDR (yes|no) #REQUIRED> <!-- Whether some data elements may be (automatically) updated from the Common LocaleDataRepository,seehttp://cldr.unicode.org/ Note:Thismechanismcurrently(2010-02-21)isoutdated.
-->
<!ATTLIST Locale versionCDATA #REQUIRED> <!-- Valid number, may designate versioned data -->
<!ELEMENTLanguage (LangID, DefaultName) >
<!ELEMENT LangID (#PCDATA) > <!-- LangID must be a valid two or three letter language identifier defined by ISO639.UseISO639-1twolettercodewhereavailable,elseISO639-2or 639-3threelettercode.
<!ELEMENT Country (CountryID, DefaultName) >
<!ELEMENT CountryID (#PCDATA) > <!-- CountryID must be a valid two letter country identifier defined by ISO 3166. -->
<!ELEMENT Platform (PlatformID) >
<!ELEMENT PlatformID (#PCDATA) > <!-- Unused, deprecated, can be generic|unix|win32|macos, best Platform element beabsent.
-->
<!ELEMENT Variant (#PCDATA) > <!-- If the LangID element contains the value 'qlt' then the Variant element MUSTcontainthevalidBCP47languagetagofthelocale.IfLangIDis anotherISO639codethan'qlt'thentheVariantelementmustbeemptyor notpresent.
-->
<!-- The LC_FORMAT element contains number format codes and may actually appear twice(withthesecondoccurrencenamedLC_FORMAT_1).Onesectionis mandatoryandMUSTcontainatleastallrequiredformatcodes formatindex="0"toformatindex="47"(except10and11MUSTNOTbe defined),MUSTNOTcontainformatindex48and49,MUSTcontainformatindex 50,andMAYcontainotherformatcodes.SeebelowATTLISTFormatElement formatindex.
-->
<!ELEMENT LC_FORMAT (DateAcceptancePattern*, FormatElement*) > <!-- All FormatElement elements must be given if the RefLocale mechanism is not used! -->
<!ATTLIST LC_FORMAT %RefLocale;>
<!ATTLIST LC_FORMAT %replaceFrom;> <!-- Define placeholder for currency code, usually "[CURRENCY]" -->
<!ATTLIST LC_FORMAT %replaceTo;> <!-- Currency code to be used to replace the placeholder, e.g. "[$R-1C09]". Note:Thebracketsandtheleading$characteraremandatory,the hyphen-minusseparatesthecurrencysymbolfromthehexagesimalMS-LCID, letterscontainedintheLCIDhavetobeinuppercase,leadingzerosare tobeomitted.LCIDsaredefinedininclude/i18nlangtag/lang.h( https://opengrok.libreoffice.org/xref/core/include/i18nlangtag/lang.h)
-->
<!ELEMENT DateAcceptancePattern (#PCDATA)> <!-- Pattern that defines an input sequence match to be accepted as (abbreviated)date.Forexample,inen_USlocale"M/D"acceptsaninputof 11/23asCurrentYear-November-23whereas11/23/wouldnotbeadate.In de_DElocale"D.M."acceptsaninputof23.11.asCurrentYear-November-23 whereas23.11wouldnotbeadate.
<!-- The LC_CALENDAR element defines calendars used with a locale. -->
<!ELEMENT LC_CALENDAR (Calendar* ) > <!-- At least one Calendar element must be given if the RefLocale mechanism is not used! -->
<!ATTLIST LC_CALENDAR %RefLocale;>
<!ELEMENT Calendar (DaysOfWeek, MonthsOfYear, GenitiveMonths*, PartitiveMonths*, Eras, StartDayOfWeek, MinimalDaysInFirstWeek) >
<!ATTLIST Calendar %UNOModule;> <!-- The unoid of a gregorian calendar MUST be lower case "gregorian", calendarsMUSTmatchthenamesdefinedintheOASISOpenDocumentFormat (ODF)1.2orlaterspecification.Theimplementationnameregisteredwith theLibreOfficeserviceregistryMUSTmatch,e.g. com.sun.star.i18n.Calendar_gregorian
-->
<!ATTLIST Calendar default (true|false) #REQUIRED > <!-- Exactly one Calendar element has to be the default calendar. -->
<!ELEMENT DaysOfWeek (Day*)> <!-- All Day elements of a Calendar must be given if the RefLocale mechanism is not used! -->
<!ATTLIST DaysOfWeek %RefLocale;> <!-- Sequence of days is important, MUST start with Sunday. -->
<!ELEMENT Day (DayID, DefaultAbbrvName, DefaultFullName, DefaultNarrowName*)>
<!ELEMENT DayID (#PCDATA)> <!-- Preferably the lower case abbreviated English name like sun for Sunday. -->
<!ELEMENT DefaultAbbrvName (#PCDATA)> <!-- The abbreviated day name, e.g. Sun for Sunday. -->
<!ELEMENT DefaultFullName (#PCDATA)> <!-- The full day name, e.g. Sunday for Sunday. -->
<!ELEMENT DefaultNarrowName (#PCDATA)> <!-- The narrow day name, e.g. S for Sunday. Ifnotspecified,thefirstletterofthecorrespondingDefaultFullNameistaken.
-->
<!ELEMENT MonthsOfYear (Month*)> <!-- Nominative month names. AllMonthelementsofaCalendarmustbegiveniftheRefLocalemechanismisnotused!
-->
<!ATTLIST MonthsOfYear %RefLocale;> <!-- Sequence of months is important, MUST start with the first month of a year,e.g.JanuaryinaGregoriancalendar.
-->
<!ELEMENT GenitiveMonths (Month*)> <!-- Possessive genitive case month names, for example in Slavic locales. The elementisoptional,butifpresentallMonthelementsofaCalendarmust begiveniftheRefLocalemechanismisnotused!Ifnotspecified, theMonthsOfYearnameswillbeusedinthecontextofthenumber
formatter's genitive case. -->
<!ATTLIST GenitiveMonths %RefLocale;> <!-- Sequence of months is important, MUST start with the first month of a year,e.g.JanuaryinaGregoriancalendar.
-->
<!ELEMENT PartitiveMonths (Month*)> <!-- Partitive case month names, for example in Finnish locales. The elementisoptional,butifpresentallMonthelementsofaCalendarmust begiveniftheRefLocalemechanismisnotused!Ifnotspecified, GenitiveMonthsnameswillbeused,orifthosearenotspecifiedthen
MonthsOfYear, in the context of the number formatter's partitive case. -->
<!ATTLIST PartitiveMonths %RefLocale;> <!-- Sequence of months is important, MUST start with the first month of a year,e.g.JanuaryinaGregoriancalendar.
-->
<!-- Rules for use of nominative / genitive / partitive case month names in numberformatterwhenencounteringMMMorMMMM:
<!ELEMENT Month (MonthID, DefaultAbbrvName, DefaultFullName, DefaultNarrowName*)>
<!ELEMENT MonthID (#PCDATA)> <!-- Preferably the lower case abbreviated English name like jan for January. -->
<!ELEMENT Eras (Era*)> <!-- All Era elements of a Calendar must be given if the RefLocale mechanism is not used! -->
<!ATTLIST Eras %RefLocale;> <!-- The eras MUST be in chronological order, e.g. first BC then AC. -->
<!ELEMENT Era (EraID, DefaultAbbrvName, DefaultFullName)>
<!ELEMENT EraID (#PCDATA)> <!-- If a calendar has special eras (like zh_TW ROC or ja_JP Gengou calendar) andadatebeforethoseerasisundefined,aleading(first)dummyera withEraID="Dummy"hastobedefinedtoenablethenumberformatterto fallbacktoaGregoriancalendarforthosedatevaluesiftheXCalendar implementationreturnsaneravalueof0.
-->
<!ELEMENT StartDayOfWeek (DayID)> <!-- MUST exactly match (case significant!) one of the DayID of DaysOfWeek -->
<!ELEMENT MinimalDaysInFirstWeek (#PCDATA)> <!-- The number of days of a week that must reside in the beginning of a year tomakeaweekthefirstweekoftheyear.Forexample,avalueof4means thatatleast4daysofaweekmustbeinthenewyear.Soiftheweek startsonMonday,thefirstweekofayearwillbetheweekwhereThursday isinthenewyear.
-->
<!-- The LC_CURRENCY element defines currencies used with a locale. -->
<!ELEMENT LC_CURRENCY (Currency* ) > <!-- At least one Currency element must be given if the RefLocale mechanism is not used! -->
<!ATTLIST LC_CURRENCY %RefLocale;>
<!ELEMENT Currency (CurrencyID, CurrencySymbol, BankSymbol, CurrencyName, DecimalPlaces)>
<!ATTLIST Currency default (true|false) #REQUIRED > <!-- Exactly one Currency element has to be the default currency. -->
<!ATTLIST Currency usedInCompatibleFormatCodes (true|false) #REQUIRED > <!-- If this currency is the one used in compatible number format codes with <member>FormatElement::formatIndex</member>valuesintherange12..17. Thoseformatcodesareusedtogeneratesomeoldstylecurrencyformat codesforcompatibilitywithStarOffice5andStarOffice4. EverylocaledatafileMUSTcontainexactlyonecurrencyhavingthissetto"true", andthatcurrencyMUSTbeusedinformatcodes12..17. ForEuropeancountriesusingEURitMUSTbetheoldcurrency,forexample,DM.
-->
<!ATTLIST Currency legacyOnly (true|false) #IMPLIED > <!-- If this Currency element exists only to be able to correctly load legacy documentsandisnotselectableintheUIotherwise.Defaultsto"false" ifnotspecified.Ifthisattributeis"true",'default'and 'usedInCompatibleFormatCodes'mustbothbe"false".
Currencyelementsmustnotbechangedtocontainonlyadifferent CurrencySymbolelementwithoutchangingtheCurrencyIDandBankSymbol elements,insteadtheentireCurrencyelementmustbeduplicated,theold elementneedsthis'legacyOnly'attributebeaddedand'default'and 'usedInCompatibleFormatCodes'attributesmustbesetto"false",andonly inthenewduplicatedCurrencyelementtheCurrencySymbolelementbe changed.
-->
<!ELEMENT CurrencyID (#PCDATA)> <!-- The ISO 4217 three letter currency code, e.g. USD or EUR. -->
<!ELEMENT CurrencySymbol (#PCDATA)> <!-- The currency symbol, e.g. $ or €. -->
<!ELEMENT BankSymbol (#PCDATA)> <!-- The ISO 4217 three letter currency code, e.g. USD or EUR. -->
<!ELEMENT CurrencyName (#PCDATA)> <!-- The native currency name, e.g. Dollar or Euro. -->
<!ELEMENT DecimalPlaces (#PCDATA)> <!-- Number of decimal places used with the currency, usually 2 or 0, e.g. 2 forcents.
-->
<!ELEMENT LC_CTYPE (Separators?, Markers?, TimeAM?, TimePM?, MeasurementSystem?)> <!-- All elements must be given if the RefLocale mechanism is not used! -->
<!ATTLIST LC_CTYPE %RefLocale;>
<!ATTLIST LC_CTYPE %UNOModule;>
<!ELEMENT LC_COLLATION (Collator*, CollationOptions?)> <!-- All elements must be given if the RefLocale mechanism is not used! -->
<!ATTLIST LC_COLLATION %RefLocale;> <!-- OptionalICUtailoring.
<!ELEMENT LC_SEARCH (SearchOptions?)> <!-- All elements must be given if the RefLocale mechanism is not used! -->
<!ATTLIST LC_SEARCH %RefLocale;>
<!ELEMENT SearchOptions (TransliterationModules+)>
<!ELEMENT ReservedWords (trueWord, falseWord, quarter1Word, quarter2Word, quarter3Word, quarter4Word, aboveWord, belowWord, quarter1Abbreviation, quarter2Abbreviation, quarter3Abbreviation, quarter4Abbreviation)> <!-- order is significant! --> <!-- trueWord and falseWord are displayed (uppercased) for the BOOLEAN number
format keyword. "true", "false" -->
<!ELEMENT trueWord (#PCDATA)>
<!ELEMENT falseWord (#PCDATA)> <!-- quarter1Word,... are displayed for the QQ number format keyword.
"1st quarter", "2nd quarter", ...; "1er trimestre", "2e trimestre", ... -->
<!ELEMENT quarter1Word (#PCDATA)>
<!ELEMENT quarter2Word (#PCDATA)>
<!ELEMENT quarter3Word (#PCDATA)>
<!ELEMENT quarter4Word (#PCDATA)> <!-- aboveWord and belowWord are used as reference field content in Writer, it isa"physical"objectrelativeposition,not"numerical"relative.
Like section "above" and section "below". -->
<!ELEMENT aboveWord (#PCDATA)>
<!ELEMENT belowWord (#PCDATA)> <!-- quarter1Abbreviation,... are displayed for the Q number format keyword.
"Q1" (quarter), "T1" (trimestre), ... -->
<!ELEMENT quarter1Abbreviation (#PCDATA)>
<!ELEMENT quarter2Abbreviation (#PCDATA)>
<!ELEMENT quarter3Abbreviation (#PCDATA)>
<!ELEMENT quarter4Abbreviation (#PCDATA)>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.