<xs:complexType name="Phone">
<xs:annotation>
<xs:documentation>
The main type information for the phone type uses a
restriction applied to the string datatype to limit the
valid characters to the set of number representation
characters '0'-'9'.
This restriction results in the suppression of additional
characters often seen in representations of telephone
numbers.
Characters like '.', '(' ')' and others are used as
separators between the elements for human recognition.
Characters like '-', ' '(space) and '+' have a more
general use and may appear in certain standards bodies
references. However, in all cases, there is no important
information imparted in these characters and their use is
determined by local convention.
The whitespace and '+' suppression, along with
restricting the use of other characters are part of a
simplification choice made for several reasons:
1. The restriction to enforce the use of characters
other than numbers is more difficult to understand
and may not be properly supported in all tools.
2. Representations of the complete number are
locale specific. A telephone number is presented
differently based on culture.
3. Resolution between the stringnumeric and legacy
systems should be simplified. For string
representations, it is conversion by restriction. An
unparsed phone in a legacy system may have the form
+1 (888) 555-1212. This and other permutations should
be easily converted to the form presented here
<country-code>1</country-code>
<area-code>888</area-code>
<local-number>5551212</local-number>
</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="preference-order" type="commons:preferenceOrderType">
<xs:annotation>
<xs:documentation>
Indicates the preference order within all the ContactMethods.
Highest preference is 0.
</xs:documentation>
<xs:appinfo>
<retsid>100049</retsid>
<example>
</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="phone-preference-order" type="commons:preferenceOrderType">
<xs:annotation>
<xs:documentation>
Indicates the preference order within all the Phones.
Highest preference is 0.
</xs:documentation>
<xs:appinfo>
<retsid>100050</retsid>
<example>
</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="prefix" type="commons:affix">
<xs:annotation>
<xs:documentation>
The prefix is the first portion of a telephone
number.
The prefix may be any string of values and
represents the access code to a telephone system.
This may be used to carry the call over an
alternate carrier or may be necessary when dialing
international or national calls. They may also be
necessary to connect to alternate phone systems
like satellite phone systems.
Generally, the access code is not represented in
domestic telephone number use.
Examples of access codes are:
0
00
9201010
</xs:documentation>
<xs:appinfo>
<retsid>100051</retsid>
<example>
</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="country-code" type="commons:stringnumeric">
<xs:annotation>
<xs:documentation>
The country-code comes after the prefix and before
the area code.
The well-known ITU-T country calling codes as
defined in E.164. The schema does not enforce the
use of valid codes.
Additionally, the schema suppresses whitespace that
is normally present in printed examples.
Finally, the schema suppresses the '+' that is
normally present in printed examples.
Here are some examples of the country code and
location
+1 for the US
+1 444 for Bermuda
+44 for the UK
</xs:documentation>
<xs:appinfo>
<retsid>100052</retsid>
<example>1</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="area-code" type="commons:stringnumeric">
<xs:annotation>
<xs:documentation>
The area-code comes after the country code and
precedes the local-number.
The regional identifier (or overlay identifier)
applied by the national carrier regulation
authority.
In some locales, the use of area code is mandatory
for dialing all numbers while in other it is only
necessary for dialing outside of the local calling
area.
The schema does not enforce the use of valid codes.
Additionally, the schema suppresses parentheses
that are normally present in printed examples.
Here are some examples of the country code and
location
(312) for the Chicago-IL US overlay
(020) for Amsterdam, the Netherlands calls
originating from within the country directed
to Amsterdam.
Within this schema, the example values will be
312
020
</xs:documentation>
<xs:appinfo>
<retsid>100053</retsid>
<example>888</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="local-number" type="commons:stringnumeric">
<xs:annotation>
<xs:documentation>
The access number to connect to a telephone. It
comes after the area-code.
The number of digits depends on the location. In
the North American Numbering Plan area, the number
is 7, while in other areas, there may be fewer or
more digits.
An example is 555-1212.
Within this schema, the example will be 5551212
</xs:documentation>
<xs:appinfo>
<retsid>100054</retsid>
<example>5551212</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="extension" type="commons:stringnumeric">
<xs:annotation>
<xs:documentation>
The extension is optional and comes after the
local-number.
It represents a more specific location, typically
the direct desk phone of a person within an office.
</xs:documentation>
<xs:appinfo>
<retsid>100055</retsid>
<example>
</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="suffix" type="commons:affix" />
<xs:element name="phone-type" type="commons:PhoneTypeEnum">
<xs:annotation>
<xs:appinfo>
<retsid>100056</retsid>
<example>
</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="category" type="commons:PhoneCategoryEnum">
<xs:annotation>
<xs:appinfo>
<retsid>100057</retsid>
<example>
</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
<xs:element name="description" type="commons:desc">
<xs:annotation>
<xs:appinfo>
<retsid>100058</retsid>
<example>
</example>
</xs:appinfo>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute ref="commons:privacyType" use="optional">
<xs:annotation>
<xs:documentation>
Provide a level of privacy for this phone number.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
|