diff options
author | roubert@google.com <roubert@google.com@ee073f10-1060-11df-b6a4-87a95322a99c> | 2012-07-04 10:08:41 +0000 |
---|---|---|
committer | roubert@google.com <roubert@google.com@ee073f10-1060-11df-b6a4-87a95322a99c> | 2012-07-04 10:08:41 +0000 |
commit | 684d2c3e3fd41e973909a5459249bd5ec1ddfbdd (patch) | |
tree | 4500b2a690e4ce1b01b1d358e28366b8a2e395c9 | |
parent | d23484166c26864aa5e76c1732a210194e9c1f5a (diff) | |
download | resources-684d2c3e3fd41e973909a5459249bd5ec1ddfbdd.tar.gz |
Port MetadataManager and data files to open source.
Review URL: https://codereview.appspot.com/6345053
git-svn-id: http://libphonenumber.googlecode.com/svn/trunk/resources@486 ee073f10-1060-11df-b6a4-87a95322a99c
-rw-r--r-- | PhoneNumberAlternateFormats.xml | 807 |
1 files changed, 807 insertions, 0 deletions
diff --git a/PhoneNumberAlternateFormats.xml b/PhoneNumberAlternateFormats.xml new file mode 100644 index 0000000..a119bf1 --- /dev/null +++ b/PhoneNumberAlternateFormats.xml @@ -0,0 +1,807 @@ +<!-- Copyright (C) 2011 The Libphonenumber Authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + @author: Lara Rennie + @author: Shaopeng Jia + + Additional Phone Number Formatting information, containing alternative + formats that are commonly used when writing phone numbers in certain + countries. Note that this is in addition to the formatting information + provided by the main PhoneNumberMetaData.xml file - formatting patterns + should not be duplicated. + + Note also that only the most specific leading-digits pattern is present for + each pattern - the less specific ones are used only by the + AsYouTypeFormatter, and the AsYouTypeFormatter does not require information + on alternate formatting patterns. + + For regions that share a country calling code, only the region with + mainCountryForCode set to true in PhoneNumberMetaData.xml should be present + here. + + Note: Territories are in alphabetical order by their IDs, which are based on ISO 3166-1 + two-letter country codes. The country names in the comments are the official short names + in English according to ISO 3166-1. + + For more information on what each element represents, see + phonemetadata.proto +--> + +<!DOCTYPE phoneNumberMetadata [ + <!ELEMENT phoneNumberMetadata (territories)> + <!ELEMENT territories (territory+)> + <!ELEMENT territory (availableFormats)> + <!ELEMENT numberFormat (leadingDigits*, format, intlFormat*)> + <!ELEMENT leadingDigits (#PCDATA)> + <!ELEMENT format (#PCDATA)> + <!ELEMENT intlFormat (#PCDATA)> + + <!ATTLIST territory countryCode CDATA #REQUIRED> + <!ATTLIST numberFormat pattern CDATA #REQUIRED> +]> + +<phoneNumberMetadata> + <territories> + <!-- Australia (AU) --> + <territory countryCode="61"> + <availableFormats> + <numberFormat pattern="(1[389]\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + 1(?: + [38]00| + 90 + ) + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(1[389]\d{2})(\d{6})"> + <leadingDigits> + 1(?: + [38]00| + 90 + ) + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="([2378])(\d{8})"> + <leadingDigits>[2378]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + </territory> + + <!-- Brazil (BR) --> + <territory countryCode="55"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{8})" > + <leadingDigits>[1-9][1-9]</leadingDigits> + <format>$1 $2</format> + </numberFormat> + </availableFormats> + </territory> + + <!-- Germany (DE) --> + <territory countryCode="49"> + <availableFormats> + <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})"> + <leadingDigits> + 3[02]| + 40| + [68]9 + </leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + 3[02]| + 40| + [68]9 + </leadingDigits> + <format>$1/$2 $3 $4 $5</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{4})(\d{3,4})"> + <leadingDigits> + 3[02]| + 40| + [68]9 + </leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + 3[02]| + 40| + [68]9 + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{2})(\d{3})(\d{3})(\d{2,3})"> + <leadingDigits> + 3[02]| + 40| + [68]9 + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <!-- 3 digit area codes. --> + <numberFormat pattern="(\d{3})(\d{3})(\d{2,4})"> + <leadingDigits> + 2(?: + \d1| + 0[2389]| + 1[24]| + 28| + 34 + )| + 3(?: + [3-9][15]| + 40 + )| + [4-8][1-9]1| + 9(?: + 06| + [1-9]1 + ) + </leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})(\d{3,4})"> + <leadingDigits> + 2(?: + \d1| + 0[2389]| + 1[24]| + 28| + 34 + )| + 3(?: + [3-9][15]| + 40 + )| + [4-8][1-9]1| + 9(?: + 06| + [1-9]1 + ) + </leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + 2(?: + \d1| + 0[2389]| + 1[24]| + 28| + 34 + )| + 3(?: + [3-9][15]| + 40 + )| + [4-8][1-9]1| + 9(?: + 06| + [1-9]1 + ) + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{2})(\d{2})(\d)"> + <leadingDigits> + 2(?: + \d1| + 0[2389]| + 1[24]| + 28| + 34 + )| + 3(?: + [3-9][15]| + 40 + )| + [4-8][1-9]1| + 9(?: + 06| + [1-9]1 + ) + </leadingDigits> + <format>$1/$2 $3 $4 $5</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{3})(\d{2,3})"> + <leadingDigits> + 2(?: + \d1| + 0[2389]| + 1[24]| + 28| + 34 + )| + 3(?: + [3-9][15]| + 40 + )| + [4-8][1-9]1| + 9(?: + 06| + [1-9]1 + ) + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <!-- 4 digit area codes. --> + <numberFormat pattern="(\d{4})(\d{3})(\d{3,4})"> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + 3(?: + 0[1-467]| + 2[127-9]| + 3[124578]| + [46][1246]| + 7[1257-9]| + 8[1256]| + 9[145] + )| + 4(?: + 2[135]| + 3[1357]| + 4[13578]| + 6[1246]| + 7[1356]| + 9[1346] + )| + 5(?: + 0[14]| + 2[1-3589]| + 3[1357]| + 4[1246]| + 6[1-4]| + 7[1346]| + 8[13568]| + 9[1246] + )| + 6(?: + 0[356]| + 2[1-489]| + 3[124-6]| + 4[1347]| + 6[13]| + 7[12579]| + 8[1-356]| + 9[135] + )| + 7(?: + 2[1-7]| + 3[1357]| + 4[145]| + 6[1-5]| + 7[1-4] + )| + 8(?: + 21| + 3[1468]| + 4[1347]| + 6[0135-9]| + 7[1467]| + 8[136] + )| + 9(?: + 0[12479]| + 2[1358]| + 3[1357]| + 4[134679]| + 6[1-9]| + 7[136]| + 8[147]| + 9[1468] + ) + ) + </leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{4})(\d{1,4})"> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + 3(?: + 0[1-467]| + 2[127-9]| + 3[124578]| + [46][1246]| + 7[1257-9]| + 8[1256]| + 9[145] + )| + 4(?: + 2[135]| + 3[1357]| + 4[13578]| + 6[1246]| + 7[1356]| + 9[1346] + )| + 5(?: + 0[14]| + 2[1-3589]| + 3[1357]| + 4[1246]| + 6[1-4]| + 7[1346]| + 8[13568]| + 9[1246] + )| + 6(?: + 0[356]| + 2[1-489]| + 3[124-6]| + 4[1347]| + 6[13]| + 7[12579]| + 8[1-356]| + 9[135] + )| + 7(?: + 2[1-7]| + 3[1357]| + 4[145]| + 6[1-5]| + 7[1-4] + )| + 8(?: + 21| + 3[1468]| + 4[1347]| + 6[0135-9]| + 7[1467]| + 8[136] + )| + 9(?: + 0[12479]| + 2[1358]| + 3[1357]| + 4[134679]| + 6[1-9]| + 7[136]| + 8[147]| + 9[1468] + ) + ) + </leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{3})(\d{3})(\d{3})"> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + 3(?: + 0[1-467]| + 2[127-9]| + 3[124578]| + [46][1246]| + 7[1257-9]| + 8[1256]| + 9[145] + )| + 4(?: + 2[135]| + 3[1357]| + 4[13578]| + 6[1246]| + 7[1356]| + 9[1346] + )| + 5(?: + 0[14]| + 2[1-3589]| + 3[1357]| + 4[1246]| + 6[1-4]| + 7[1346]| + 8[13568]| + 9[1246] + )| + 6(?: + 0[356]| + 2[1-489]| + 3[124-6]| + 4[1347]| + 6[13]| + 7[12579]| + 8[1-356]| + 9[135] + )| + 7(?: + 2[1-7]| + 3[1357]| + 4[145]| + 6[1-5]| + 7[1-4] + )| + 8(?: + 21| + 3[1468]| + 4[1347]| + 6[0135-9]| + 7[1467]| + 8[136] + )| + 9(?: + 0[12479]| + 2[1358]| + 3[1357]| + 4[134679]| + 6[1-9]| + 7[136]| + 8[147]| + 9[1468] + ) + ) + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{2})(\d{3})(\d{2})"> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + 3(?: + 0[1-467]| + 2[127-9]| + 3[124578]| + [46][1246]| + 7[1257-9]| + 8[1256]| + 9[145] + )| + 4(?: + 2[135]| + 3[1357]| + 4[13578]| + 6[1246]| + 7[1356]| + 9[1346] + )| + 5(?: + 0[14]| + 2[1-3589]| + 3[1357]| + 4[1246]| + 6[1-4]| + 7[1346]| + 8[13568]| + 9[1246] + )| + 6(?: + 0[356]| + 2[1-489]| + 3[124-6]| + 4[1347]| + 6[13]| + 7[12579]| + 8[1-356]| + 9[135] + )| + 7(?: + 2[1-7]| + 3[1357]| + 4[145]| + 6[1-5]| + 7[1-4] + )| + 8(?: + 21| + 3[1468]| + 4[1347]| + 6[0135-9]| + 7[1467]| + 8[136] + )| + 9(?: + 0[12479]| + 2[1358]| + 3[1357]| + 4[134679]| + 6[1-9]| + 7[136]| + 8[147]| + 9[1468] + ) + ) + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{3})(\d{2})(\d{2})"> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + 3(?: + 0[1-467]| + 2[127-9]| + 3[124578]| + [46][1246]| + 7[1257-9]| + 8[1256]| + 9[145] + )| + 4(?: + 2[135]| + 3[1357]| + 4[13578]| + 6[1246]| + 7[1356]| + 9[1346] + )| + 5(?: + 0[14]| + 2[1-3589]| + 3[1357]| + 4[1246]| + 6[1-4]| + 7[1346]| + 8[13568]| + 9[1246] + )| + 6(?: + 0[356]| + 2[1-489]| + 3[124-6]| + 4[1347]| + 6[13]| + 7[12579]| + 8[1-356]| + 9[135] + )| + 7(?: + 2[1-7]| + 3[1357]| + 4[145]| + 6[1-5]| + 7[1-4] + )| + 8(?: + 21| + 3[1468]| + 4[1347]| + 6[0135-9]| + 7[1467]| + 8[136] + )| + 9(?: + 0[12479]| + 2[1358]| + 3[1357]| + 4[134679]| + 6[1-9]| + 7[136]| + 8[147]| + 9[1468] + ) + ) + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{2})(\d{2})(\d{2,3})"> + <leadingDigits> + [24-6]| + [7-9](?: + \d[1-9]| + [1-9]\d + )| + 3(?: + 3(?: + 0[1-467]| + 2[127-9]| + 3[124578]| + [46][1246]| + 7[1257-9]| + 8[1256]| + 9[145] + )| + 4(?: + 2[135]| + 3[1357]| + 4[13578]| + 6[1246]| + 7[1356]| + 9[1346] + )| + 5(?: + 0[14]| + 2[1-3589]| + 3[1357]| + 4[1246]| + 6[1-4]| + 7[1346]| + 8[13568]| + 9[1246] + )| + 6(?: + 0[356]| + 2[1-489]| + 3[124-6]| + 4[1347]| + 6[13]| + 7[12579]| + 8[1-356]| + 9[135] + )| + 7(?: + 2[1-7]| + 3[1357]| + 4[145]| + 6[1-5]| + 7[1-4] + )| + 8(?: + 21| + 3[1468]| + 4[1347]| + 6[0135-9]| + 7[1467]| + 8[136] + )| + 9(?: + 0[12479]| + 2[1358]| + 3[1357]| + 4[134679]| + 6[1-9]| + 7[136]| + 8[147]| + 9[1468] + ) + ) + </leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <!-- 5 digit area codes. --> + <numberFormat pattern="(\d{5})(\d{3})(\d{3,4})"> + <leadingDigits>3</leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{5})(\d{4})(\d{3,4})"> + <leadingDigits>3</leadingDigits> + <format>$1/$2 $3</format> + </numberFormat> + <numberFormat pattern="(\d{5})(\d{3})(\d{3})(\d{3})"> + <leadingDigits>3</leadingDigits> + <format>$1/$2 $3 $4</format> + </numberFormat> + <numberFormat pattern="([18]\d{2})(\d{2,3})(\d{3})(\d{2})"> + <leadingDigits> + 1[5-7]| + 800 + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d)(\d{3})(\d{3,4})"> + <leadingDigits> + 180| + 900[1359] + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d)(\d{4})(\d{3,4})"> + <leadingDigits> + 180| + 900[1359] + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + <numberFormat pattern="(\d{4})(\d{4,10})"> + <leadingDigits> + 180| + 900[1359] + </leadingDigits> + <format>$1 $2</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})(\d{2})"> + <leadingDigits> + 900[1359] + </leadingDigits> + <format>$1 $2 $3 $4</format> + </numberFormat> + </availableFormats> + </territory> + + <!-- Great Britain (GB) --> + <territory countryCode="44" > + <availableFormats> + <!-- London. --> + <numberFormat pattern="(\d{3})(\d{3})(\d{4})"> + <leadingDigits>20</leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <!-- 7ddd (not 70, 76) with 10 digits. Note: DOES include 7624 when used for IM. Also + includes the four-digit fixed-line codes. --> + <numberFormat pattern="(\d{4})(\d{3})(\d{3})"> + <leadingDigits> + 1[2-48][02-9]| + 7(?: + [1-5789]| + 624 + ) + </leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <!-- 7ddd (not 70, 76) with 10 digits.--> + <numberFormat pattern="(\d{3})(\d{4})(\d{3})"> + <leadingDigits>7[1-5789]</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + <numberFormat pattern="(80\d)(\d{3,4})(\d{3})"> + <leadingDigits>80</leadingDigits> + <format>$1 $2 $3</format> + </numberFormat> + </availableFormats> + </territory> + + <!-- Japan (JP) --> + <territory countryCode="81" > + <availableFormats> + <!-- Toll-free, premium-rate and UAN numbers --> + <numberFormat pattern="(\d{3})(\d{2})(\d{4})"> + <leadingDigits> + (?: + 12| + 57| + 99 + )0 + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})"> + <leadingDigits> + (?: + 12| + 57| + 99 + )0 + </leadingDigits> + <format>$1-$2-$3-$4</format> + </numberFormat> + <numberFormat pattern="(\d{3})(\d{4})(\d{2})"> + <leadingDigits> + (?: + 12| + 57| + 99 + )0 + </leadingDigits> + <format>$1-$2-$3</format> + </numberFormat> + </availableFormats> + </territory> + </territories> +</phoneNumberMetadata> |