make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java
Print this page
*** 153,162 ****
--- 153,165 ----
pushStringArrayEntry(qName, attributes, prefix + "MonthNames/" + getContainerKey(), 13);
break;
case "abbreviated":
pushStringArrayEntry(qName, attributes, prefix + "MonthAbbreviations/" + getContainerKey(), 13);
break;
+ case "narrow":
+ pushStringArrayEntry(qName, attributes, prefix + "MonthNarrows/" + getContainerKey(), 13);
+ break;
default:
pushIgnoredContainer(qName);
break;
}
}
*** 189,198 ****
--- 192,204 ----
pushStringArrayEntry(qName, attributes, prefix + "DayNames/" + getContainerKey(), 7);
break;
case "abbreviated":
pushStringArrayEntry(qName, attributes, prefix + "DayAbbreviations/" + getContainerKey(), 7);
break;
+ case "narrow":
+ pushStringArrayEntry(qName, attributes, prefix + "DayNarrows/" + getContainerKey(), 7);
+ break;
default:
pushIgnoredContainer(qName);
break;
}
}
*** 217,235 ****
}
break;
case "dayPeriodWidth":
// for FormatData
// create string array entry for am/pm. only keeping wide
! if ("wide".equals(attributes.getValue("type"))) {
pushStringArrayEntry(qName, attributes, "AmPmMarkers/" + getContainerKey(), 2);
! } else {
pushIgnoredContainer(qName);
}
break;
case "dayPeriod":
// for FormatData
// add to string array entry of AmPmMarkers element
switch (attributes.getValue("type")) {
case "am":
pushStringArrayElement(qName, attributes, 0);
break;
case "pm":
--- 223,248 ----
}
break;
case "dayPeriodWidth":
// for FormatData
// create string array entry for am/pm. only keeping wide
! switch (attributes.getValue("type")) {
! case "wide":
pushStringArrayEntry(qName, attributes, "AmPmMarkers/" + getContainerKey(), 2);
! break;
! case "narrow":
! pushStringArrayEntry(qName, attributes, "narrow.AmPmMarkers/" + getContainerKey(), 2);
! break;
! default:
pushIgnoredContainer(qName);
+ break;
}
break;
case "dayPeriod":
// for FormatData
// add to string array entry of AmPmMarkers element
+ if (attributes.getValue("alt") == null) {
switch (attributes.getValue("type")) {
case "am":
pushStringArrayElement(qName, attributes, 0);
break;
case "pm":
*** 237,246 ****
--- 250,263 ----
break;
default:
pushIgnoredContainer(qName);
break;
}
+ } else {
+ // discard alt values
+ pushIgnoredContainer(qName);
+ }
break;
case "eraNames":
// CLDR era names are inconsistent in terms of their lengths. For example,
// the full names of Japanese imperial eras are eraAbbr, while the full names
// of the Julian eras are eraNames.
*** 267,277 ****
// mainly used for the Japanese imperial calendar
if (currentCalendarType == null) {
assert currentContainer instanceof IgnoredContainer;
pushIgnoredContainer(qName);
} else {
! String key = currentCalendarType.keyElementName() + "short.Eras";
pushStringArrayEntry(qName, attributes, key, currentCalendarType.getEraLength(qName));
}
break;
case "era":
// for FormatData
--- 284,294 ----
// mainly used for the Japanese imperial calendar
if (currentCalendarType == null) {
assert currentContainer instanceof IgnoredContainer;
pushIgnoredContainer(qName);
} else {
! String key = currentCalendarType.keyElementName() + "narrow.Eras";
pushStringArrayEntry(qName, attributes, key, currentCalendarType.getEraLength(qName));
}
break;
case "era":
// for FormatData
*** 299,317 ****
case "timeZoneNames":
pushContainer(qName, attributes);
break;
case "zone":
{
! String zone = attributes.getValue("type");
zonePrefix = CLDRConverter.TIMEZONE_ID_PREFIX;
! put(zonePrefix + zone, new HashMap<String, String>());
! pushKeyContainer(qName, attributes, zone);
}
break;
case "metazone":
{
! String zone = attributes.getValue("type");
zonePrefix = CLDRConverter.METAZONE_ID_PREFIX;
put(zonePrefix + zone, new HashMap<String, String>());
pushKeyContainer(qName, attributes, zone);
}
break;
--- 316,334 ----
case "timeZoneNames":
pushContainer(qName, attributes);
break;
case "zone":
{
! String tzid = attributes.getValue("type"); // Olson tz id
zonePrefix = CLDRConverter.TIMEZONE_ID_PREFIX;
! put(zonePrefix + tzid, new HashMap<String, String>());
! pushKeyContainer(qName, attributes, tzid);
}
break;
case "metazone":
{
! String zone = attributes.getValue("type"); // LDML meta zone id
zonePrefix = CLDRConverter.METAZONE_ID_PREFIX;
put(zonePrefix + zone, new HashMap<String, String>());
pushKeyContainer(qName, attributes, zone);
}
break;
*** 321,340 ****
break;
case "short":
zoneNameStyle = "short";
pushContainer(qName, attributes);
break;
! case "generic": // not used in JDK
! pushIgnoredContainer(qName);
! break;
! case "standard": // standard time
! pushStringEntry(qName, attributes, CLDRConverter.TIMEZONE_NAME_PREFIX + "standard." + zoneNameStyle);
! break;
! case "daylight":
! pushStringEntry(qName, attributes, CLDRConverter.TIMEZONE_NAME_PREFIX + "daylight." + zoneNameStyle);
break;
! case "exemplarCity":
pushIgnoredContainer(qName);
break;
//
// Number format information
--- 338,353 ----
break;
case "short":
zoneNameStyle = "short";
pushContainer(qName, attributes);
break;
! case "generic": // generic name
! case "standard": // standard time name
! case "daylight": // daylight saving (summer) time name
! pushStringEntry(qName, attributes, CLDRConverter.ZONE_NAME_PREFIX + qName + "." + zoneNameStyle);
break;
! case "exemplarCity": // not used in JDK
pushIgnoredContainer(qName);
break;
//
// Number format information
*** 528,537 ****
--- 541,551 ----
break;
case "timeZoneNames":
zonePrefix = null;
break;
+ case "generic":
case "standard":
case "daylight":
if (zonePrefix != null && (currentContainer instanceof Entry)) {
@SuppressWarnings("unchecked")
Map<String, String> valmap = (Map<String, String>) get(zonePrefix + getContainerKey());