From d2bc59f71cccffd67ea793e62dad63aeba3aed64 Mon Sep 17 00:00:00 2001 From: Hugo van der Merwe <17109322+hugovdm@users.noreply.github.com> Date: Tue, 25 Feb 2020 18:14:22 +0100 Subject: [PATCH 1/2] ldml2icu for unitPreferences, outputting into units.txt --- icu4c/source/data/misc/supplementalData.txt | 379 ----- icu4c/source/data/misc/units.txt | 1404 +++++++++++++++++ .../icu/tool/cldrtoicu/LdmlConverter.java | 4 +- .../main/resources/ldml2icu_supplemental.txt | 30 +- 4 files changed, 1432 insertions(+), 385 deletions(-) diff --git a/icu4c/source/data/misc/supplementalData.txt b/icu4c/source/data/misc/supplementalData.txt index e4ae04607c1..0a9ea3b40ae 100644 --- a/icu4c/source/data/misc/supplementalData.txt +++ b/icu4c/source/data/misc/supplementalData.txt @@ -35596,385 +35596,6 @@ supplementalData:table(nofallback){ preferred{"H"} } } - unitPreferenceData{ - "area"{ - "geograph"{ - 001{ - { - unit{"square-kilometer"} - } - } - GB{ - { - unit{"square-mile"} - } - } - US{ - { - unit{"square-mile"} - } - } - } - "land-agricult"{ - 001{ - { - unit{"hectare"} - } - } - GB{ - { - unit{"acre"} - } - } - US{ - { - unit{"acre"} - } - } - } - "land-commercl"{ - 001{ - { - unit{"hectare"} - } - } - GB{ - { - unit{"acre"} - } - } - US{ - { - unit{"acre"} - } - } - } - "land-residntl"{ - 001{ - { - unit{"hectare"} - } - } - GB{ - { - unit{"acre"} - } - } - US{ - { - unit{"acre"} - } - } - } - _default{ - 001{ - { - unit{"square-kilometer"} - } - { - unit{"hectare"} - } - { - unit{"square-meter"} - } - { - unit{"square-centimeter"} - } - } - } - } - "duration"{ - "music-track"{ - 001{ - { - unit{"minute+second"} - } - { - unit{"second"} - } - } - } - "person-age"{ - 001{ - { - unit{"year-person+month-person"} - } - { - unit{"month-person"} - } - } - } - "tv-program"{ - 001{ - { - unit{"minute+second"} - } - { - unit{"second"} - } - } - } - _default{ - 001{ - { - unit{"year"} - } - { - unit{"month"} - } - { - unit{"day"} - } - { - unit{"hour"} - } - { - unit{"minute"} - } - { - unit{"second"} - } - { - unit{"millisecond"} - } - { - unit{"microsecond"} - } - { - unit{"nanosecond"} - } - } - } - } - "length"{ - "road"{ - 001{ - { - unit{"kilometer"} - } - } - GB{ - { - unit{"mile"} - } - } - SE{ - { - unit{"mile-scandinavian"} - } - } - US{ - { - unit{"mile"} - } - } - _small{ - 001{ - { - unit{"meter"} - } - } - GB{ - { - unit{"yard"} - } - } - US{ - { - unit{"foot"} - } - } - } - } - "road-travel"{ - 001{ - { - geq{"0.975"} - unit{"kilometer"} - } - { - geq{"300"} - skeleton{"precision-increment/50"} - unit{"meter"} - } - { - skeleton{"precision-increment/10"} - unit{"meter"} - } - } - GB{ - { - geq{"0.095"} - unit{"mile"} - } - { - geq{"300"} - skeleton{"precision-increment/50"} - unit{"yard"} - } - { - skeleton{"precision-increment/10"} - unit{"yard"} - } - } - US{ - { - geq{"0.095"} - unit{"mile"} - } - { - geq{"300"} - skeleton{"precision-increment/50"} - unit{"foot"} - } - { - skeleton{"precision-increment/10"} - unit{"foot"} - } - } - } - _default{ - 001{ - { - unit{"kilometer"} - } - { - unit{"meter"} - } - { - unit{"centimeter"} - } - { - unit{"millimeter"} - } - { - unit{"micrometer"} - } - { - unit{"nanometer"} - } - } - GB{ - { - geq{"0.475"} - unit{"mile"} - } - { - unit{"foot"} - } - { - unit{"inch"} - } - } - US{ - { - geq{"0.475"} - unit{"mile"} - } - { - unit{"foot"} - } - { - unit{"inch"} - } - } - } - } - "mass"{ - _default{ - 001{ - { - unit{"metric-ton"} - } - { - unit{"kilogram"} - } - { - unit{"gram"} - } - { - unit{"milligram"} - } - { - unit{"microgram"} - } - } - GB{ - { - unit{"stone"} - } - { - unit{"pound"} - } - { - unit{"ounce"} - } - } - US{ - { - unit{"ton"} - } - { - unit{"pound"} - } - { - unit{"ounce"} - } - } - } - } - "power"{ - _default{ - 001{ - { - unit{"gigawatt"} - } - { - unit{"megawatt"} - } - { - unit{"kilowatt"} - } - { - unit{"watt"} - } - { - unit{"milliwatt"} - } - } - } - } - "pressure"{ - _default{ - 001{ - { - unit{"megapascal"} - } - { - unit{"kilopascal"} - } - { - unit{"pascal"} - } - } - } - } - "volume"{ - _default{ - 001{ - { - unit{"cubic-meter"} - } - { - unit{"liter"} - } - { - unit{"milliliter"} - } - } - } - } - } weekData{ 001:intvector{ 2, diff --git a/icu4c/source/data/misc/units.txt b/icu4c/source/data/misc/units.txt index 07e877dc4e9..6cbde3c8de1 100644 --- a/icu4c/source/data/misc/units.txt +++ b/icu4c/source/data/misc/units.txt @@ -374,4 +374,1408 @@ units:table(nofallback){ gravity{"9.80665"} lb2kg{"0.45359237"} } + unitPreferenceData{ + "area"{ + "default"{ + 001{ + { + unit{"square-kilometer"} + } + { + unit{"hectare"} + } + { + unit{"square-meter"} + } + { + unit{"square-centimeter"} + } + } + GB{ + { + unit{"square-mile"} + } + { + unit{"acre"} + } + { + unit{"square-foot"} + } + { + unit{"square-inch"} + } + } + US{ + { + unit{"square-mile"} + } + { + unit{"acre"} + } + { + unit{"square-foot"} + } + { + unit{"square-inch"} + } + } + } + "geograph"{ + 001{ + { + unit{"square-kilometer"} + } + } + GB{ + { + unit{"square-mile"} + } + } + US{ + { + unit{"square-mile"} + } + } + } + "land"{ + 001{ + { + unit{"hectare"} + } + } + GB{ + { + unit{"acre"} + } + } + US{ + { + unit{"acre"} + } + } + } + } + "concentration"{ + "blood-glucose"{ + AG{ + { + unit{"millimole-per-liter"} + } + } + AI{ + { + unit{"millimole-per-liter"} + } + } + AO{ + { + unit{"millimole-per-liter"} + } + } + AU{ + { + unit{"millimole-per-liter"} + } + } + BA{ + { + unit{"millimole-per-liter"} + } + } + BG{ + { + unit{"millimole-per-liter"} + } + } + BH{ + { + unit{"millimole-per-liter"} + } + } + BM{ + { + unit{"millimole-per-liter"} + } + } + BN{ + { + unit{"millimole-per-liter"} + } + } + BW{ + { + unit{"millimole-per-liter"} + } + } + BY{ + { + unit{"millimole-per-liter"} + } + } + CA{ + { + unit{"millimole-per-liter"} + } + } + CH{ + { + unit{"millimole-per-liter"} + } + } + CM{ + { + unit{"millimole-per-liter"} + } + } + CN{ + { + unit{"millimole-per-liter"} + } + } + CZ{ + { + unit{"millimole-per-liter"} + } + } + DK{ + { + unit{"millimole-per-liter"} + } + } + DM{ + { + unit{"millimole-per-liter"} + } + } + EE{ + { + unit{"millimole-per-liter"} + } + } + FI{ + { + unit{"millimole-per-liter"} + } + } + FJ{ + { + unit{"millimole-per-liter"} + } + } + GB{ + { + unit{"millimole-per-liter"} + } + } + GD{ + { + unit{"millimole-per-liter"} + } + } + HK{ + { + unit{"millimole-per-liter"} + } + } + HR{ + { + unit{"millimole-per-liter"} + } + } + HU{ + { + unit{"millimole-per-liter"} + } + } + IE{ + { + unit{"millimole-per-liter"} + } + } + IM{ + { + unit{"millimole-per-liter"} + } + } + IS{ + { + unit{"millimole-per-liter"} + } + } + KE{ + { + unit{"millimole-per-liter"} + } + } + KN{ + { + unit{"millimole-per-liter"} + } + } + KW{ + { + unit{"millimole-per-liter"} + } + } + KZ{ + { + unit{"millimole-per-liter"} + } + } + LC{ + { + unit{"millimole-per-liter"} + } + } + LI{ + { + unit{"millimole-per-liter"} + } + } + LT{ + { + unit{"millimole-per-liter"} + } + } + LU{ + { + unit{"millimole-per-liter"} + } + } + LV{ + { + unit{"millimole-per-liter"} + } + } + ME{ + { + unit{"millimole-per-liter"} + } + } + MG{ + { + unit{"millimole-per-liter"} + } + } + MK{ + { + unit{"millimole-per-liter"} + } + } + MO{ + { + unit{"millimole-per-liter"} + } + } + MS{ + { + unit{"millimole-per-liter"} + } + } + MT{ + { + unit{"millimole-per-liter"} + } + } + MU{ + { + unit{"millimole-per-liter"} + } + } + MY{ + { + unit{"millimole-per-liter"} + } + } + MZ{ + { + unit{"millimole-per-liter"} + } + } + NA{ + { + unit{"millimole-per-liter"} + } + } + NL{ + { + unit{"millimole-per-liter"} + } + } + NO{ + { + unit{"millimole-per-liter"} + } + } + NZ{ + { + unit{"millimole-per-liter"} + } + } + OM{ + { + unit{"millimole-per-liter"} + } + } + PG{ + { + unit{"millimole-per-liter"} + } + } + RS{ + { + unit{"millimole-per-liter"} + } + } + RU{ + { + unit{"millimole-per-liter"} + } + } + SE{ + { + unit{"millimole-per-liter"} + } + } + SG{ + { + unit{"millimole-per-liter"} + } + } + SI{ + { + unit{"millimole-per-liter"} + } + } + SK{ + { + unit{"millimole-per-liter"} + } + } + TC{ + { + unit{"millimole-per-liter"} + } + } + TO{ + { + unit{"millimole-per-liter"} + } + } + UA{ + { + unit{"millimole-per-liter"} + } + } + UG{ + { + unit{"millimole-per-liter"} + } + } + VC{ + { + unit{"millimole-per-liter"} + } + } + VG{ + { + unit{"millimole-per-liter"} + } + } + VN{ + { + unit{"millimole-per-liter"} + } + } + VU{ + { + unit{"millimole-per-liter"} + } + } + ZA{ + { + unit{"millimole-per-liter"} + } + } + } + "default"{ + 001{ + { + unit{"item-per-cubic-meter"} + } + } + } + } + "consumption"{ + "default"{ + 001{ + { + unit{"liter-per-100-kilometer"} + } + } + } + "vehicle-fuel"{ + 001{ + { + unit{"liter-per-100-kilometer"} + } + } + BR{ + { + unit{"liter-per-kilometer"} + } + } + IT{ + { + unit{"liter-per-kilometer"} + } + } + JP{ + { + unit{"liter-per-kilometer"} + } + } + KR{ + { + unit{"liter-per-kilometer"} + } + } + MX{ + { + unit{"liter-per-kilometer"} + } + } + MY{ + { + unit{"liter-per-kilometer"} + } + } + NL{ + { + unit{"liter-per-kilometer"} + } + } + TH{ + { + unit{"liter-per-kilometer"} + } + } + TR{ + { + unit{"liter-per-kilometer"} + } + } + } + } + "consumption-inverse"{ + "default"{ + 001{ + { + unit{"kilometer-per-centiliter"} + } + } + } + "vehicle-fuel"{ + 001{ + { + unit{"kilometer-per-centiliter"} + } + } + CA{ + { + unit{"mile-per-gallon-imperial"} + } + } + GB{ + { + unit{"mile-per-gallon-imperial"} + } + } + US{ + { + unit{"mile-per-gallon"} + } + } + } + } + "duration"{ + "default"{ + 001{ + { + unit{"day"} + } + { + unit{"hour"} + } + { + unit{"minute"} + } + { + unit{"second"} + } + { + unit{"millisecond"} + } + { + unit{"microsecond"} + } + { + unit{"nanosecond"} + } + } + } + "media"{ + 001{ + { + unit{"minute-and-second"} + } + { + unit{"second"} + } + } + } + } + "energy"{ + "default"{ + 001{ + { + unit{"kilowatt-hour"} + } + } + } + "food"{ + 001{ + { + unit{"kilocalorie"} + } + } + US{ + { + unit{"foodcalorie"} + } + } + } + } + "length"{ + "default"{ + 001{ + { + unit{"kilometer"} + } + { + unit{"meter"} + } + { + unit{"centimeter"} + } + } + GB{ + { + unit{"mile"} + } + { + unit{"foot"} + } + { + unit{"inch"} + } + } + US{ + { + unit{"mile"} + } + { + unit{"foot"} + } + { + unit{"inch"} + } + } + } + "person"{ + 001{ + { + unit{"centimeter"} + } + } + CA{ + { + unit{"inch"} + } + } + GB{ + { + unit{"inch"} + } + } + IN{ + { + unit{"inch"} + } + } + US{ + { + unit{"inch"} + } + } + } + "person-height"{ + 001{ + { + unit{"centimeter"} + } + } + AT{ + { + unit{"meter-and-centimeter"} + } + } + BE{ + { + unit{"meter-and-centimeter"} + } + } + BR{ + { + unit{"meter-and-centimeter"} + } + } + CA{ + { + geq{"3.0"} + unit{"foot-and-inch"} + } + } + CN{ + { + unit{"meter-and-centimeter"} + } + } + DE{ + { + unit{"meter-and-centimeter"} + } + } + DK{ + { + unit{"meter-and-centimeter"} + } + } + DZ{ + { + unit{"meter-and-centimeter"} + } + } + EG{ + { + unit{"meter-and-centimeter"} + } + } + ES{ + { + unit{"meter-and-centimeter"} + } + } + FR{ + { + unit{"meter-and-centimeter"} + } + } + GB{ + { + geq{"3.0"} + unit{"foot-and-inch"} + } + } + HK{ + { + unit{"meter-and-centimeter"} + } + } + ID{ + { + unit{"meter-and-centimeter"} + } + } + IL{ + { + unit{"meter-and-centimeter"} + } + } + IN{ + { + geq{"3.0"} + unit{"foot-and-inch"} + } + } + IT{ + { + unit{"meter-and-centimeter"} + } + } + JO{ + { + unit{"meter-and-centimeter"} + } + } + MX{ + { + unit{"meter-and-centimeter"} + } + } + MY{ + { + unit{"meter-and-centimeter"} + } + } + NL{ + { + unit{"meter-and-centimeter"} + } + } + NO{ + { + unit{"meter-and-centimeter"} + } + } + PL{ + { + unit{"meter-and-centimeter"} + } + } + PT{ + { + unit{"meter-and-centimeter"} + } + } + RU{ + { + unit{"meter-and-centimeter"} + } + } + SA{ + { + unit{"meter-and-centimeter"} + } + } + SE{ + { + unit{"meter-and-centimeter"} + } + } + TR{ + { + unit{"meter-and-centimeter"} + } + } + US{ + { + geq{"3.0"} + unit{"foot-and-inch"} + } + } + VN{ + { + unit{"meter-and-centimeter"} + } + } + } + "rainfall"{ + 001{ + { + unit{"millimeter"} + } + } + BR{ + { + unit{"centimeter"} + } + } + US{ + { + unit{"inch"} + } + } + } + "road"{ + 001{ + { + geq{"0.9"} + unit{"kilometer"} + } + { + geq{"300.0"} + skeleton{"precision-increment/50"} + unit{"meter"} + } + { + skeleton{"precision-increment/10"} + unit{"meter"} + } + { + unit{"meter"} + } + } + GB{ + { + geq{"0.5"} + unit{"mile"} + } + { + geq{"100.0"} + skeleton{"precision-increment/50"} + unit{"yard"} + } + { + unit{"yard"} + } + } + SE{ + { + geq{"0.1"} + unit{"mile-scandinavian"} + } + } + US{ + { + geq{"0.5"} + unit{"mile"} + } + { + geq{"100.0"} + skeleton{"precision-increment/50"} + unit{"foot"} + } + { + skeleton{"precision-increment/10"} + unit{"foot"} + } + } + } + "snowfall"{ + 001{ + { + unit{"centimeter"} + } + } + US{ + { + unit{"inch"} + } + } + } + "vehicle"{ + 001{ + { + unit{"meter"} + } + } + GB{ + { + unit{"foot-and-inch"} + } + } + MX{ + { + unit{"meter-and-centimeter"} + } + } + US{ + { + unit{"foot-and-inch"} + } + } + } + "visiblty"{ + 001{ + { + geq{"0.1"} + unit{"kilometer"} + } + { + unit{"meter"} + } + } + DE{ + { + unit{"meter"} + } + } + GB{ + { + unit{"mile"} + } + { + unit{"foot"} + } + } + NL{ + { + unit{"meter"} + } + } + US{ + { + unit{"mile"} + } + { + unit{"foot"} + } + } + } + } + "mass"{ + "default"{ + 001{ + { + unit{"metric-ton"} + } + { + unit{"kilogram"} + } + { + unit{"gram"} + } + { + unit{"milligram"} + } + { + unit{"microgram"} + } + } + GB{ + { + unit{"ton"} + } + { + unit{"pound"} + } + { + unit{"ounce"} + } + } + US{ + { + unit{"ton"} + } + { + unit{"pound"} + } + { + unit{"ounce"} + } + } + } + "person"{ + 001{ + { + unit{"kilogram"} + } + { + unit{"gram"} + } + } + DZ{ + { + unit{"kilogram-and-gram"} + } + } + EG{ + { + unit{"kilogram-and-gram"} + } + } + ES{ + { + unit{"kilogram-and-gram"} + } + } + GB{ + { + unit{"stone-and-pound"} + } + { + unit{"pound-and-ounce"} + } + } + HK{ + { + unit{"pound-and-ounce"} + } + } + JO{ + { + unit{"kilogram-and-gram"} + } + } + SA{ + { + unit{"kilogram-and-gram"} + } + } + US{ + { + unit{"pound"} + } + { + unit{"pound-and-ounce"} + } + } + } + } + "mass-density"{ + "blood-glucose"{ + 001{ + { + unit{"milligram-per-deciliter"} + } + } + } + "default"{ + 001{ + { + unit{"kilogram-per-cubic-meter"} + } + } + } + } + "power"{ + "default"{ + 001{ + { + unit{"gigawatt"} + } + { + unit{"megawatt"} + } + { + unit{"kilowatt"} + } + { + unit{"watt"} + } + { + unit{"milliwatt"} + } + } + } + "engine"{ + 001{ + { + unit{"kilowatt"} + } + } + GB{ + { + unit{"horsepower"} + } + } + US{ + { + unit{"horsepower"} + } + } + } + } + "pressure"{ + "baromtrc"{ + 001{ + { + unit{"hectopascal"} + } + } + BR{ + { + unit{"millibar"} + } + } + EG{ + { + unit{"millibar"} + } + } + GB{ + { + unit{"millibar"} + } + } + IL{ + { + unit{"millibar"} + } + } + IN{ + { + unit{"inch-hg"} + } + } + MX{ + { + unit{"millimeter-of-mercury"} + } + } + RU{ + { + unit{"millimeter-of-mercury"} + } + } + TH{ + { + unit{"millibar"} + } + } + US{ + { + unit{"inch-hg"} + } + } + } + "default"{ + 001{ + { + unit{"megapascal"} + } + { + unit{"pascal"} + } + } + GB{ + { + unit{"pound-force-per-square-inch"} + } + } + US{ + { + unit{"pound-force-per-square-inch"} + } + } + } + } + "speed"{ + "default"{ + 001{ + { + unit{"kilometer-per-hour"} + } + } + GB{ + { + unit{"mile-per-hour"} + } + } + US{ + { + unit{"mile-per-hour"} + } + } + } + "wind"{ + 001{ + { + unit{"kilometer-per-hour"} + } + } + FI{ + { + unit{"meter-per-second"} + } + } + KR{ + { + unit{"meter-per-second"} + } + } + NO{ + { + unit{"meter-per-second"} + } + } + PL{ + { + unit{"meter-per-second"} + } + } + RU{ + { + unit{"meter-per-second"} + } + } + SE{ + { + unit{"meter-per-second"} + } + } + US{ + { + unit{"mile-per-hour"} + } + } + } + } + "temperature"{ + "default"{ + 001{ + { + unit{"celsius"} + } + } + US{ + { + unit{"fahrenheit"} + } + } + } + "weather"{ + 001{ + { + unit{"celsius"} + } + } + BS{ + { + unit{"fahrenheit"} + } + } + BZ{ + { + unit{"fahrenheit"} + } + } + KY{ + { + unit{"fahrenheit"} + } + } + PR{ + { + unit{"fahrenheit"} + } + } + PW{ + { + unit{"fahrenheit"} + } + } + US{ + { + unit{"fahrenheit"} + } + } + } + } + "volume"{ + "default"{ + 001{ + { + unit{"cubic-meter"} + } + { + unit{"cubic-centimeter"} + } + } + GB{ + { + unit{"cubic-foot"} + } + { + unit{"cubic-inch"} + } + } + US{ + { + unit{"cubic-foot"} + } + { + unit{"cubic-inch"} + } + } + } + "fluid"{ + 001{ + { + unit{"liter"} + } + { + unit{"milliliter"} + } + } + GB{ + { + unit{"gallon-imperial"} + } + { + unit{"fluid-ounce-imperial"} + } + } + US{ + { + unit{"gallon"} + } + { + unit{"quart"} + } + { + unit{"pint"} + } + { + unit{"cup"} + } + { + unit{"fluid-ounce"} + } + { + unit{"tablespoon"} + } + { + unit{"teaspoon"} + } + } + } + "oil"{ + 001{ + { + unit{"barrel"} + } + } + } + "vehicle"{ + 001{ + { + unit{"liter"} + } + } + US{ + { + unit{"gallon"} + } + } + } + } + "year-duration"{ + "default"{ + 001{ + { + unit{"year"} + } + { + unit{"month"} + } + } + } + "person-age"{ + 001{ + { + geq{"2.5"} + unit{"year-person"} + } + { + unit{"year-person-and-month-person"} + } + { + unit{"month-person"} + } + } + } + } + } } diff --git a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java index c43143e70c6..8f7cbfd6202 100644 --- a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java +++ b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java @@ -106,13 +106,13 @@ public final class LdmlConverter { "territoryContainment", "territoryInfo", "timeData", - "unitPreferenceData", "weekData", "weekOfPreference"); private static final PathMatcher UNITS_DATA_PATHS = supplementalMatcher( "convertUnits", - "unitConstants"); + "unitConstants", + "unitPreferenceData"); private static final PathMatcher CURRENCY_DATA_PATHS = supplementalMatcher("currencyData"); private static final PathMatcher NUMBERING_SYSTEMS_PATHS = diff --git a/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt b/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt index fcc96f9b3db..dfd0a0ecbbc 100644 --- a/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt +++ b/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt @@ -98,10 +98,32 @@ //supplementalData/measurementData/paperSize[@type="A4"][@territories="(%W)"] ; /measurementData/$1/PaperSize:intvector ; values=297 210 //supplementalData/measurementData/paperSize[@type="US-Letter"][@territories="(%W)"] ; /measurementData/$1/PaperSize:intvector ; values=279 216 -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"][@scope="small"]/unitPreference[@regions="(%A)"][@alt="informal"] ; /unitPreferenceData/$3/$1-$2-small-informal -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"][@scope="small"]/unitPreference[@regions="(%A)"] ; /unitPreferenceData/$3/$1-$2-small -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"]/unitPreference[@regions="(%A)"][@alt="informal"] ; /unitPreferenceData/$3/$1-$2-informal -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"]/unitPreference[@regions="(%A)"] ; /unitPreferenceData/$3/$1-$2 +# Quoting "$1" and "$2" in the output lets $3 expand space-separated regions: only the first unquoted output supports such expansion. +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"]/unitPreference[@regions="(%A)"] + ; /unitPreferenceData/"$1"/"$2"/$3//unit +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"]/unitPreference[@regions="(%A)"][@geq="(%A)"] + ; /unitPreferenceData/"$1"/"$2"/$3//unit + ; /unitPreferenceData/"$1"/"$2"/$3//geq ; values=$4 +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"]/unitPreference[@regions="(%A)"][@skeleton="(%A)"] + ; /unitPreferenceData/"$1"/"$2"/$3//unit + ; /unitPreferenceData/"$1"/"$2"/$3//skeleton ; values=$4 +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"][@usage="(%A)"]/unitPreference[@regions="(%A)"][@geq="(%A)"][@skeleton="(%A)"] + ; /unitPreferenceData/"$1"/"$2"/$3//unit + ; /unitPreferenceData/"$1"/"$2"/$3//geq ; values=$4 + ; /unitPreferenceData/"$1"/"$2"/$3//skeleton ; values=$5 +# No usage -> category default +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"] + ; /unitPreferenceData/"$1"/_default/$2//unit +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"][@geq="(%A)"] + ; /unitPreferenceData/"$1"/_default/$2//unit + ; /unitPreferenceData/"$1"/_default/$2//geq ; values=$3 +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"][@skeleton=="(%A)"] + ; /unitPreferenceData/"$1"/_default/$2//unit + ; /unitPreferenceData/"$1"/_default/$2//skeleton ; values=$3 +//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"][@geq="(%A)"][@skeleton=="(%A)"] + ; /unitPreferenceData/"$1"/_default/$2//unit + ; /unitPreferenceData/"$1"/_default/$2//geq ; values=$3 + ; /unitPreferenceData/"$1"/_default/$2//skeleton ; values=$4 //supplementalData/territoryInfo/territory[@type="(%W)"][@gdp="(%N)"][@literacyPercent="(%N)"][@population="(%N)"]/languagePopulation[@type="(%W)"][@writingPercent="(%N)"][@populationPercent="(%N)"][@officialStatus="(%W)"](?:[@references="%W"])? ; /territoryInfo/$1/territoryF:intvector ; values=&exp($2) &exp($3,-2) &exp($4) ; base_xpath=//supplementalData/territoryInfo/territory[@type="$1"] From d5ed4edca3370e304dc1e980f9acab9352741f58 Mon Sep 17 00:00:00 2001 From: Hugo van der Merwe <17109322+hugovdm@users.noreply.github.com> Date: Tue, 25 Feb 2020 21:07:15 +0100 Subject: [PATCH 2/2] ldml2icu unitPReferences: drop rules for missing usage, usage is always present. --- .../src/main/resources/ldml2icu_supplemental.txt | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt b/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt index dfd0a0ecbbc..ca2385add7a 100644 --- a/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt +++ b/tools/cldr/cldr-to-icu/src/main/resources/ldml2icu_supplemental.txt @@ -111,19 +111,6 @@ ; /unitPreferenceData/"$1"/"$2"/$3//unit ; /unitPreferenceData/"$1"/"$2"/$3//geq ; values=$4 ; /unitPreferenceData/"$1"/"$2"/$3//skeleton ; values=$5 -# No usage -> category default -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"] - ; /unitPreferenceData/"$1"/_default/$2//unit -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"][@geq="(%A)"] - ; /unitPreferenceData/"$1"/_default/$2//unit - ; /unitPreferenceData/"$1"/_default/$2//geq ; values=$3 -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"][@skeleton=="(%A)"] - ; /unitPreferenceData/"$1"/_default/$2//unit - ; /unitPreferenceData/"$1"/_default/$2//skeleton ; values=$3 -//supplementalData/unitPreferenceData/unitPreferences[@category="(%W)"]/unitPreference[@regions="(%A)"][@geq="(%A)"][@skeleton=="(%A)"] - ; /unitPreferenceData/"$1"/_default/$2//unit - ; /unitPreferenceData/"$1"/_default/$2//geq ; values=$3 - ; /unitPreferenceData/"$1"/_default/$2//skeleton ; values=$4 //supplementalData/territoryInfo/territory[@type="(%W)"][@gdp="(%N)"][@literacyPercent="(%N)"][@population="(%N)"]/languagePopulation[@type="(%W)"][@writingPercent="(%N)"][@populationPercent="(%N)"][@officialStatus="(%W)"](?:[@references="%W"])? ; /territoryInfo/$1/territoryF:intvector ; values=&exp($2) &exp($3,-2) &exp($4) ; base_xpath=//supplementalData/territoryInfo/territory[@type="$1"]