rfc7852v3.txt | rfc7852.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) R. Gellens | Internet Engineering Task Force (IETF) R. Gellens | |||
Request for Comments: 7852 | Request for Comments: 7852 | |||
Updates: 6443, 6881 B. Rosen | Updates: 6443, 6881 B. Rosen | |||
Category: Standards Track NeuStar | Category: Standards Track NeuStar | |||
ISSN: 2070-1721 H. Tschofenig | ISSN: 2070-1721 H. Tschofenig | |||
R. Marshall | R. Marshall | |||
TeleCommunication Systems, Inc. | TeleCommunication Systems, Inc. | |||
J. Winterbottom | J. Winterbottom | |||
April 2016 | June 2016 | |||
Additional Data Related to an Emergency Call | Additional Data Related to an Emergency Call | |||
Abstract | Abstract | |||
When an emergency call is sent to a Public Safety Answering Point | When an emergency call is sent to a Public Safety Answering Point | |||
(PSAP), the originating device, the access network provider to which | (PSAP), the originating device, the access network provider to which | |||
the device is connected, and all service providers in the path of the | the device is connected, and all service providers in the path of the | |||
call have information about the call, the caller, or the location, | call have information about the call, the caller, or the location, | |||
which is helpful for the PSAP to have in handling the emergency. | which is helpful for the PSAP to have in handling the emergency. | |||
skipping to change at page 3, line 29 | skipping to change at page 3, line 29 | |||
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 40 | 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 40 | |||
8. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 53 | 8. XML Schemas . . . . . . . . . . . . . . . . . . . . . . . . . 53 | |||
8.1. EmergencyCallData.ProviderInfo XML Schema . . . . . . . . 53 | 8.1. EmergencyCallData.ProviderInfo XML Schema . . . . . . . . 53 | |||
8.2. EmergencyCallData.ServiceInfo XML Schema . . . . . . . . 55 | 8.2. EmergencyCallData.ServiceInfo XML Schema . . . . . . . . 55 | |||
8.3. EmergencyCallData.DeviceInfo XML Schema . . . . . . . . . 56 | 8.3. EmergencyCallData.DeviceInfo XML Schema . . . . . . . . . 56 | |||
8.4. EmergencyCallData.SubscriberInfo XML Schema . . . . . . . 58 | 8.4. EmergencyCallData.SubscriberInfo XML Schema . . . . . . . 58 | |||
8.5. EmergencyCallData.Comment XML Schema . . . . . . . . . . 60 | 8.5. EmergencyCallData.Comment XML Schema . . . . . . . . . . 60 | |||
8.6. provided-by XML Schema . . . . . . . . . . . . . . . . . 61 | 8.6. provided-by XML Schema . . . . . . . . . . . . . . . . . 61 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 62 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 62 | |||
10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 64 | 10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 64 | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 67 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 66 | |||
11.1. Emergency Call Additional Data Registry . . . . . . . . 67 | 11.1. Emergency Call Additional Data Registry . . . . . . . . 67 | |||
11.1.1. Provider ID Series Registry . . . . . . . . . . . . 67 | 11.1.1. Provider ID Series Registry . . . . . . . . . . . . 67 | |||
11.1.2. Service Environment Registry . . . . . . . . . . . . 68 | 11.1.2. Service Environment Registry . . . . . . . . . . . . 68 | |||
11.1.3. Service Type Registry . . . . . . . . . . . . . . . 68 | 11.1.3. Service Type Registry . . . . . . . . . . . . . . . 68 | |||
11.1.4. Service Mobility Registry . . . . . . . . . . . . . 68 | 11.1.4. Service Mobility Registry . . . . . . . . . . . . . 68 | |||
11.1.5. Type of Provider Registry . . . . . . . . . . . . . 69 | 11.1.5. Type of Provider Registry . . . . . . . . . . . . . 69 | |||
11.1.6. Device Classification Registry . . . . . . . . . . . 69 | 11.1.6. Device Classification Registry . . . . . . . . . . . 69 | |||
11.1.7. Device ID Type Registry . . . . . . . . . . . . . . 69 | 11.1.7. Device ID Type Registry . . . . . . . . . . . . . . 69 | |||
11.1.8. Device/Service Data Type Registry . . . . . . . . . 70 | 11.1.8. Device/Service Data Type Registry . . . . . . . . . 70 | |||
11.1.9. Emergency Call Data Types Registry . . . . . . . . . 70 | 11.1.9. Emergency Call Data Types Registry . . . . . . . . . 70 | |||
11.2. 'EmergencyCallData' Purpose Parameter Value . . . . . . 72 | 11.2. 'EmergencyCallData' Purpose Parameter Value . . . . . . 71 | |||
11.3. URN Sub-Namespace Registration for <provided-by> | 11.3. URN Sub-Namespace Registration for <provided-by> | |||
Registry Entry . . . . . . . . . . . . . . . . . . . . . 72 | Registry Entry . . . . . . . . . . . . . . . . . . . . . 72 | |||
11.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 72 | 11.4. MIME Registrations . . . . . . . . . . . . . . . . . . . 72 | |||
11.4.1. MIME Content-Type Registration for | 11.4.1. MIME Content-Type Registration for | |||
'application/EmergencyCallData.ProviderInfo+xml' . . 72 | 'application/EmergencyCallData.ProviderInfo+xml' . . 72 | |||
11.4.2. MIME Content-Type Registration for | 11.4.2. MIME Content-Type Registration for | |||
'application/EmergencyCallData.ServiceInfo+xml' . . 73 | 'application/EmergencyCallData.ServiceInfo+xml' . . 73 | |||
11.4.3. MIME Content-Type Registration for | 11.4.3. MIME Content-Type Registration for | |||
'application/EmergencyCallData.DeviceInfo+xml' . . . 74 | 'application/EmergencyCallData.DeviceInfo+xml' . . . 74 | |||
11.4.4. MIME Content-Type Registration for | 11.4.4. MIME Content-Type Registration for | |||
'application/EmergencyCallData.SubscriberInfo+xml' . 75 | 'application/EmergencyCallData.SubscriberInfo+xml' . 75 | |||
11.4.5. MIME Content-Type Registration for | 11.4.5. MIME Content-Type Registration for | |||
'application/EmergencyCallData.Comment+xml' . . . . 76 | 'application/EmergencyCallData.Comment+xml' . . . . 76 | |||
11.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 77 | 11.5. URN Sub-Namespace Registration . . . . . . . . . . . . . 77 | |||
11.5.1. Registration for | 11.5.1. Registration for | |||
urn:ietf:params:xml:ns:EmergencyCallData . . . . . . 78 | urn:ietf:params:xml:ns:EmergencyCallData . . . . . . 77 | |||
11.5.2. Registration for | 11.5.2. Registration for | |||
urn:ietf:params:xml:ns:EmergencyCallData:ProviderInf | urn:ietf:params:xml:ns:EmergencyCallData:ProviderInf | |||
o . . . . . . . . . . . . . . . . . . . . . . . . . 78 | o . . . . . . . . . . . . . . . . . . . . . . . . . 78 | |||
11.5.3. Registration for | 11.5.3. Registration for | |||
urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo 79 | urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo 79 | |||
11.5.4. Registration for | 11.5.4. Registration for | |||
urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo 80 | urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo 80 | |||
11.5.5. Registration for | 11.5.5. Registration for | |||
urn:ietf:params:xml:ns:EmergencyCallData:SubscriberI | urn:ietf:params:xml:ns:EmergencyCallData:SubscriberI | |||
nfo . . . . . . . . . . . . . . . . . . . . . . . . 81 | nfo . . . . . . . . . . . . . . . . . . . . . . . . 81 | |||
11.5.6. Registration for | 11.5.6. Registration for | |||
urn:ietf:params:xml:ns:EmergencyCallData:Comment . . 82 | urn:ietf:params:xml:ns:EmergencyCallData:Comment . . 82 | |||
11.6. Schema Registrations . . . . . . . . . . . . . . . . . . 83 | 11.6. Schema Registrations . . . . . . . . . . . . . . . . . . 83 | |||
11.7. vCard Parameter Value Registration . . . . . . . . . . . 84 | 11.7. vCard Parameter Value Registration . . . . . . . . . . . 84 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 84 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 84 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . 84 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 84 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . 86 | 12.2. Informative References . . . . . . . . . . . . . . . . . 86 | |||
Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 89 | Appendix A. XML Schema for vCard/xCard . . . . . . . . . . . . . 89 | |||
Appendix B. XML Validation . . . . . . . . . . . . . . . . . . . 112 | Appendix B. XML Validation . . . . . . . . . . . . . . . . . . . 111 | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 112 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 112 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 113 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 112 | |||
1. Introduction | 1. Introduction | |||
When an IP-based emergency call is initiated, a rich set of data from | When an IP-based emergency call is initiated, a rich set of data from | |||
multiple data sources is conveyed to the Public Safety Answering | multiple data sources is conveyed to the Public Safety Answering | |||
Point (PSAP). This data includes information about the calling party | Point (PSAP). This data includes information about the calling party | |||
identity, the multimedia capabilities of the device, the request for | identity, the multimedia capabilities of the device, the request for | |||
emergency services, location information, and metadata about the | emergency services, location information, and metadata about the | |||
sources of the data. In addition, the device, the access network | sources of the data. In addition, the device, the access network | |||
provider, and any service provider in the call path has even more | provider, and any service provider in the call path has even more | |||
skipping to change at page 59, line 4 | skipping to change at page 59, line 4 | |||
<xs:any namespace="##other" processContents="lax" | <xs:any namespace="##other" processContents="lax" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:schema> | </xs:schema> | |||
Figure 21: EmergencyCallData.DeviceInfo XML Schema | Figure 21: EmergencyCallData.DeviceInfo XML Schema | |||
8.4. EmergencyCallData.SubscriberInfo XML Schema | 8.4. EmergencyCallData.SubscriberInfo XML Schema | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | |||
<xs:schema | <xs:schema | |||
targetNamespace= | targetNamespace= | |||
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | |||
xmlns:xs="http://www.w3.org/2001/XMLSchema" | xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||
xmlns:sub= | xmlns:sub= | |||
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | "urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | |||
xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0" | xmlns:xc="urn:ietf:params:xml:ns:vcard-4.0" | |||
xmlns:xml="http://www.w3.org/XML/1998/namespace" | xmlns:xml="http://www.w3.org/XML/1998/namespace" | |||
elementFormDefault="qualified" | elementFormDefault="qualified" | |||
attributeFormDefault="unqualified"> | attributeFormDefault="unqualified"> | |||
<xs:import namespace="http://www.w3.org/XML/1998/namespace" | <xs:import namespace="http://www.w3.org/XML/1998/namespace" | |||
schemaLocation="http://www.w3.org/2001/xml.xsd"/> | schemaLocation="http://www.w3.org/2001/xml.xsd"/> | |||
<xs:import namespace="urn:ietf:params:xml:ns:vcard-4.0" | <xs:import namespace="urn:ietf:params:xml:ns:vcard-4.0" | |||
schemaLocation="vcard.xsd"/> | schemaLocation="vcard.xsd"/> | |||
<xs:element name="EmergencyCallData.SubscriberInfo" | <xs:element name="EmergencyCallData.SubscriberInfo" | |||
type="sub:SubscriberInfoType"/> | type="sub:SubscriberInfoType"/> | |||
<xs:complexType name="SubscriberInfoType"> | <xs:complexType name="SubscriberInfoType"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="DataProviderReference" type="xs:token" | <xs:element name="DataProviderReference" type="xs:token" | |||
minOccurs="1" maxOccurs="1"/> | minOccurs="1" maxOccurs="1"/> | |||
<xs:element name="SubscriberData"> | <xs:element name="SubscriberData"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="xc:vcard" | <xs:element ref="xc:vcard" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:any namespace="##other" processContents="lax" | <xs:any namespace="##other" processContents="lax" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</xs:sequence> | </xs:sequence> | |||
<xs:attribute name="privacyRequested" | <xs:attribute name="privacyRequested" | |||
type="xs:boolean" use="required"/> | type="xs:boolean" use="required"/> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:schema> | </xs:schema> | |||
Figure 22: EmergencyCallData.SubscriberInfo XML Schema | Figure 22: EmergencyCallData.SubscriberInfo XML Schema | |||
8.5. EmergencyCallData.Comment XML Schema | 8.5. EmergencyCallData.Comment XML Schema | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | |||
<xs:schema | <xs:schema | |||
targetNamespace= | targetNamespace= | |||
"urn:ietf:params:xml:ns:EmergencyCallData:Comment" | "urn:ietf:params:xml:ns:EmergencyCallData:Comment" | |||
xmlns:xs="http://www.w3.org/2001/XMLSchema" | xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||
skipping to change at page 61, line 11 | skipping to change at page 61, line 11 | |||
</xs:schema> | </xs:schema> | |||
Figure 23: EmergencyCallData.Comment XML Schema | Figure 23: EmergencyCallData.Comment XML Schema | |||
8.6. provided-by XML Schema | 8.6. provided-by XML Schema | |||
This section defines the provided-by schema. | This section defines the provided-by schema. | |||
<?xml version="1.0"?> | <?xml version="1.0"?> | |||
<xs:schema | <xs:schema | |||
targetNamespace= | targetNamespace="urn:ietf:params:xml:ns:EmergencyCallData" | |||
"urn:ietf:params:xml:ns:EmergencyCallData" | xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||
xmlns:xs="http://www.w3.org/2001/XMLSchema" | xmlns:ad="urn:ietf:params:xml:ns:EmergencyCallData" | |||
xmlns:ad="urn:ietf:params:xml:ns:EmergencyCallData" | xmlns:xml="http://www.w3.org/XML/1998/namespace" | |||
xmlns:xml="http://www.w3.org/XML/1998/namespace" | xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" | |||
xmlns:pi="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" | xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" | |||
xmlns:svc="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" | xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" | |||
xmlns:dev="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" | xmlns:sub="urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | |||
xmlns:sub= | xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment" | |||
"urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | elementFormDefault="qualified" | |||
xmlns:com="urn:ietf:params:xml:ns:EmergencyCallData:Comment" | attributeFormDefault="unqualified"> | |||
elementFormDefault="qualified" | ||||
attributeFormDefault="unqualified"> | ||||
<xs:import | <xs:import | |||
namespace="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" | namespace="urn:ietf:params:xml:ns:EmergencyCallData:ProviderInfo" | |||
schemaLocation="ProviderInfo.xsd"/> | schemaLocation="ProviderInfo.xsd"/> | |||
<xs:import | <xs:import | |||
namespace="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" | namespace="urn:ietf:params:xml:ns:EmergencyCallData:ServiceInfo" | |||
schemaLocation="ServiceInfo.xsd"/> | schemaLocation="ServiceInfo.xsd"/> | |||
<xs:import | <xs:import | |||
namespace="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" | namespace="urn:ietf:params:xml:ns:EmergencyCallData:DeviceInfo" | |||
schemaLocation="DeviceInfo.xsd"/> | schemaLocation="DeviceInfo.xsd"/> | |||
<xs:import | <xs:import | |||
namespace="urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | namespace="urn:ietf:params:xml:ns:EmergencyCallData:SubscriberInfo" | |||
schemaLocation="SubscriberInfo.xsd"/> | schemaLocation="SubscriberInfo.xsd"/> | |||
<xs:import | <xs:import | |||
namespace="urn:ietf:params:xml:ns:EmergencyCallData:Comment" | namespace="urn:ietf:params:xml:ns:EmergencyCallData:Comment" | |||
schemaLocation="Comment.xsd"/> | schemaLocation="Comment.xsd"/> | |||
<xs:element name="EmergencyCallDataReference" type="ad:ByRefType"/> | <xs:element name="EmergencyCallDataReference" type="ad:ByRefType"/> | |||
<xs:element name="EmergencyCallDataValue" | <xs:element name="EmergencyCallDataValue" | |||
type="ad:EmergencyCallDataValueType"/> | type="ad:EmergencyCallDataValueType"/> | |||
<!-- Additional Data By Reference --> | <!-- Additional Data By Reference --> | |||
<xs:complexType name="ByRefType"> | <xs:complexType name="ByRefType"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:any namespace="##other" processContents="lax" | <xs:any namespace="##other" processContents="lax" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</xs:sequence> | </xs:sequence> | |||
<xs:attribute name="purpose" type="xs:token" use="required"/> | <xs:attribute name="purpose" type="xs:token" use="required"/> | |||
<xs:attribute name="ref" type="xs:anyURI" use="required"/> | <xs:attribute name="ref" type="xs:anyURI" use="required"/> | |||
</xs:complexType> | </xs:complexType> | |||
<!-- Additional Data By Value --> | <!-- Additional Data By Value --> | |||
<xs:complexType name="EmergencyCallDataValueType"> | <xs:complexType name="EmergencyCallDataValueType"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="EmergencyCallData.ProviderInfo" | <xs:element name="EmergencyCallData.ProviderInfo" | |||
type="pi:ProviderInfoType" minOccurs="0" | type="pi:ProviderInfoType" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
<xs:element name="EmergencyCallData.ServiceInfo" | <xs:element name="EmergencyCallData.ServiceInfo" | |||
type="svc:ServiceInfoType" minOccurs="0" | type="svc:ServiceInfoType" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
<xs:element name="EmergencyCallData.DeviceInfo" | <xs:element name="EmergencyCallData.DeviceInfo" | |||
type="dev:DeviceInfoType" minOccurs="0" | type="dev:DeviceInfoType" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
<xs:element name="EmergencyCallData.SubscriberInfo" | <xs:element name="EmergencyCallData.SubscriberInfo" | |||
type="sub:SubscriberInfoType" minOccurs="0" | type="sub:SubscriberInfoType" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
<xs:element name="EmergencyCallData.Comment" | <xs:element name="EmergencyCallData.Comment" | |||
type="com:CommentType" minOccurs="0" | type="com:CommentType" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
<xs:any namespace="##other" processContents="lax" | <xs:any namespace="##other" processContents="lax" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:schema> | </xs:schema> | |||
Figure 24: provided-by XML Schema | Figure 24: provided-by XML Schema | |||
9. Security Considerations | 9. Security Considerations | |||
The data structures described in this document contain information | The data structures described in this document contain information | |||
usually considered private. When information is provided by value, | usually considered private. When information is provided by value, | |||
entities that are a party to the SIP signaling (such as proxy servers | entities that are a party to the SIP signaling (such as proxy servers | |||
and back-to-back user agents) will have access to it and need to | and back-to-back user agents) will have access to it and need to | |||
skipping to change at page 89, line 25 | skipping to change at page 89, line 25 | |||
Appendix A. XML Schema for vCard/xCard | Appendix A. XML Schema for vCard/xCard | |||
This section contains the vCard/xCard XML schema version of the Relax | This section contains the vCard/xCard XML schema version of the Relax | |||
NG schema defined in RFC 6351 [RFC6351] for use with the XML schemas | NG schema defined in RFC 6351 [RFC6351] for use with the XML schemas | |||
defined in this document. In addition to mapping the Relax NG schema | defined in this document. In addition to mapping the Relax NG schema | |||
to an XML schema, this specification applies an erratum raised for | to an XML schema, this specification applies an erratum raised for | |||
RFC 6351 regarding the type definition; see RFC Erratum ID 3047 | RFC 6351 regarding the type definition; see RFC Erratum ID 3047 | |||
[Err3047]. | [Err3047]. | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<xs:schema | <xs:schema | |||
targetNamespace="urn:ietf:params:xml:ns:vcard-4.0" | targetNamespace="urn:ietf:params:xml:ns:vcard-4.0" | |||
xmlns:xs="http://www.w3.org/2001/XMLSchema" | xmlns:xs="http://www.w3.org/2001/XMLSchema" | |||
xmlns:ns1="urn:ietf:params:xml:ns:vcard-4.0" | xmlns:ns1="urn:ietf:params:xml:ns:vcard-4.0" | |||
elementFormDefault="qualified"> | elementFormDefault="qualified"> | |||
<!-- | <!-- | |||
3.3 | ||||
iana-token = xsd:string { pattern = "[a-zA-Z0-9-]+" } | ||||
x-name = xsd:string { pattern = "x-[a-zA-Z0-9-]+" } | ||||
--> | ||||
<xs:simpleType name="iana-token"> | ||||
<xs:annotation> | ||||
<xs:documentation>Section 3.3: vCard Format Specification | ||||
</xs:documentation> | ||||
</xs:annotation> | ||||
<xs:restriction base="xs:string"/> | ||||
</xs:simpleType> | ||||
<xs:simpleType name="x-name"> | ||||
<xs:restriction base="xs:string"/> | ||||
</xs:simpleType> | ||||
<!-- | ||||
4.1 | 3.3 | |||
--> | iana-token = xsd:string { pattern = "[a-zA-Z0-9-]+" } | |||
<xs:element name="text" type="xs:string"/> | x-name = xsd:string { pattern = "x-[a-zA-Z0-9-]+" } | |||
<xs:group name="value-text-list"> | --> | |||
<xs:sequence> | <xs:simpleType name="iana-token"> | |||
<xs:element ref="ns1:text" maxOccurs="unbounded"/> | <xs:annotation> | |||
</xs:sequence> | <xs:documentation>Section 3.3: vCard Format Specification | |||
</xs:group> | </xs:documentation> | |||
<!-- 4.2 --> | </xs:annotation> | |||
<xs:element name="uri" type="xs:anyURI"/> | <xs:restriction base="xs:string"/> | |||
<!-- 4.3.1 --> | </xs:simpleType> | |||
<xs:element name="date" | <xs:simpleType name="x-name"> | |||
substitutionGroup="ns1:value-date-and-or-time"> | <xs:restriction base="xs:string"/> | |||
<xs:simpleType> | </xs:simpleType> | |||
<xs:restriction base="xs:string"> | <!-- | |||
<xs:pattern | ||||
value="\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d"/> | ||||
</xs:restriction> | ||||
</xs:simpleType> | ||||
</xs:element> | ||||
<!-- 4.3.2 --> | ||||
<xs:element name="time" | ||||
substitutionGroup="ns1:value-date-and-or-time"> | ||||
<xs:simpleType> | ||||
<xs:restriction base="xs:string"> | ||||
<xs:pattern value= | ||||
"(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)(Z|[+\-]\d\d(\d\d)?)?"/> | ||||
</xs:restriction> | ||||
</xs:simpleType> | ||||
</xs:element> | ||||
<!-- 4.3.3 --> | ||||
<xs:element name="date-time" | ||||
substitutionGroup="ns1:value-date-and-or-time"> | ||||
<xs:simpleType> | ||||
<xs:restriction base="xs:string"> | ||||
<xs:pattern value= | ||||
"(\d{8}|--\d{4}|---\d\d)T\d\d(\d\d(\d\d)?)?(Z|[+\-]\d\d(\d\d)?)?"/> | ||||
</xs:restriction> | ||||
</xs:simpleType> | ||||
</xs:element> | ||||
<!-- 4.3.4 --> | ||||
<xs:element name="value-date-and-or-time" abstract="true"/> | ||||
<!-- 4.3.5 --> | ||||
<xs:complexType name="value-timestamp"> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:timestamp"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
<xs:element name="timestamp"> | ||||
<xs:simpleType> | ||||
<xs:restriction base="xs:string"> | ||||
<xs:pattern value="\d{8}T\d{6}(Z|[+\-]\d\d(\d\d)?)?"/> | ||||
</xs:restriction> | 4.1 | |||
</xs:simpleType> | --> | |||
</xs:element> | <xs:element name="text" type="xs:string"/> | |||
<!-- 4.4 --> | <xs:group name="value-text-list"> | |||
<xs:element name="boolean" type="xs:boolean"/> | <xs:sequence> | |||
<!-- 4.5 --> | <xs:element ref="ns1:text" maxOccurs="unbounded"/> | |||
<xs:element name="integer" type="xs:integer"/> | </xs:sequence> | |||
<!-- 4.6 --> | </xs:group> | |||
<xs:element name="float" type="xs:float"/> | <!-- 4.2 --> | |||
<!-- 4.7 --> | <xs:element name="uri" type="xs:anyURI"/> | |||
<xs:element name="utc-offset"> | <!-- 4.3.1 --> | |||
<xs:simpleType> | <xs:element name="date" | |||
<xs:restriction base="xs:string"> | substitutionGroup="ns1:value-date-and-or-time"> | |||
<xs:pattern value="[+\-]\d\d(\d\d)?"/> | <xs:simpleType> | |||
</xs:restriction> | <xs:restriction base="xs:string"> | |||
</xs:simpleType> | <xs:pattern | |||
</xs:element> | value="\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d"/> | |||
<!-- 4.8 --> | </xs:restriction> | |||
<xs:element name="language-tag"> | </xs:simpleType> | |||
<xs:simpleType> | </xs:element> | |||
<xs:restriction base="xs:string"> | <!-- 4.3.2 --> | |||
<xs:pattern value= | <xs:element name="time" | |||
"([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})(-[a-z]{4})? | substitutionGroup="ns1:value-date-and-or-time"> | |||
(-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}|\d[0-9a-z]{3}))* | <xs:simpleType> | |||
(-[0-9a-wyz](-[0-9a-z]{2,8})+)*(-x(-[0-9a-z]{1,8})+)? | <xs:restriction base="xs:string"> | |||
|x(-[0-9a-z]{1,8})+|[a-z]{1,3}(-[0-9a-z]{2,8}){1,2}"/> | <xs:pattern value= | |||
</xs:restriction> | "(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)(Z|[+\-]\d\d(\d\d)?)?"/> | |||
</xs:simpleType> | </xs:restriction> | |||
</xs:element> | </xs:simpleType> | |||
<!-- | </xs:element> | |||
<!-- 4.3.3 --> | ||||
<xs:element name="date-time" | ||||
substitutionGroup="ns1:value-date-and-or-time"> | ||||
<xs:simpleType> | ||||
<xs:restriction base="xs:string"> | ||||
<xs:pattern value= | ||||
"(\d{8}|--\d{4}|---\d\d)T\d\d(\d\d(\d\d)?)?(Z|[+\-]\d\d(\d\d)?)?"/> | ||||
</xs:restriction> | ||||
</xs:simpleType> | ||||
</xs:element> | ||||
<!-- 4.3.4 --> | ||||
<xs:element name="value-date-and-or-time" abstract="true"/> | ||||
<!-- 4.3.5 --> | ||||
<xs:complexType name="value-timestamp"> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:timestamp"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
<xs:element name="timestamp"> | ||||
<xs:simpleType> | ||||
<xs:restriction base="xs:string"> | ||||
<xs:pattern value="\d{8}T\d{6}(Z|[+\-]\d\d(\d\d)?)?"/> | ||||
5.1 | </xs:restriction> | |||
--> | </xs:simpleType> | |||
<xs:group name="param-language"> | </xs:element> | |||
<xs:annotation> | <!-- 4.4 --> | |||
<xs:documentation>Section 5: Parameters</xs:documentation> | <xs:element name="boolean" type="xs:boolean"/> | |||
</xs:annotation> | <!-- 4.5 --> | |||
<xs:sequence> | <xs:element name="integer" type="xs:integer"/> | |||
<xs:element ref="ns1:language" minOccurs="0"/> | <!-- 4.6 --> | |||
</xs:sequence> | <xs:element name="float" type="xs:float"/> | |||
</xs:group> | <!-- 4.7 --> | |||
<xs:element name="language"> | <xs:element name="utc-offset"> | |||
<xs:complexType> | <xs:simpleType> | |||
<xs:sequence> | <xs:restriction base="xs:string"> | |||
<xs:element ref="ns1:language-tag"/> | <xs:pattern value="[+\-]\d\d(\d\d)?"/> | |||
</xs:sequence> | </xs:restriction> | |||
</xs:complexType> | </xs:simpleType> | |||
</xs:element> | </xs:element> | |||
<!-- 5.2 --> | <!-- 4.8 --> | |||
<xs:group name="param-pref"> | <xs:element name="language-tag"> | |||
<xs:sequence> | <xs:simpleType> | |||
<xs:element ref="ns1:pref" minOccurs="0"/> | <xs:restriction base="xs:string"> | |||
</xs:sequence> | <xs:pattern value= | |||
</xs:group> | "([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})(-[a-z]{4})? | |||
<xs:element name="pref"> | (-([a-z]{2}|\d{3}))?(-([0-9a-z]{5,8}|\d[0-9a-z]{3}))* | |||
<xs:complexType> | (-[0-9a-wyz](-[0-9a-z]{2,8})+)*(-x(-[0-9a-z]{1,8})+)? | |||
<xs:sequence> | |x(-[0-9a-z]{1,8})+|[a-z]{1,3}(-[0-9a-z]{2,8}){1,2}"/> | |||
<xs:element name="integer"> | </xs:restriction> | |||
<xs:simpleType> | </xs:simpleType> | |||
<xs:restriction base="xs:integer"> | </xs:element> | |||
<xs:minInclusive value="1"/> | <!-- | |||
<xs:maxInclusive value="100"/> | ||||
</xs:restriction> | ||||
</xs:simpleType> | ||||
</xs:element> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 5.4 --> | ||||
<xs:group name="param-altid"> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:altid" minOccurs="0"/> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<xs:element name="altid"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:text"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 5.5 --> | ||||
<xs:group name="param-pid"> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:pid" minOccurs="0"/> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<xs:element name="pid"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element name="text" maxOccurs="unbounded"> | ||||
<xs:simpleType> | ||||
<xs:restriction base="xs:string"> | ||||
<xs:pattern value="\d+(\.\d+)?"/> | ||||
</xs:restriction> | ||||
</xs:simpleType> | ||||
</xs:element> | 5.1 | |||
</xs:sequence> | --> | |||
</xs:complexType> | <xs:group name="param-language"> | |||
</xs:element> | <xs:annotation> | |||
<!-- 5.6 --> | <xs:documentation>Section 5: Parameters</xs:documentation> | |||
<xs:group name="param-type"> | </xs:annotation> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="ns1:type" minOccurs="0"/> | <xs:element ref="ns1:language" minOccurs="0"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:group> | </xs:group> | |||
<xs:element name="type"> | <xs:element name="language"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="text" maxOccurs="unbounded"> | <xs:element ref="ns1:language-tag"/> | |||
<xs:simpleType> | </xs:sequence> | |||
<xs:restriction base="xs:token"> | </xs:complexType> | |||
<xs:enumeration value="work"/> | </xs:element> | |||
<xs:enumeration value="home"/> | <!-- 5.2 --> | |||
</xs:restriction> | <xs:group name="param-pref"> | |||
</xs:simpleType> | <xs:sequence> | |||
</xs:element> | <xs:element ref="ns1:pref" minOccurs="0"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:group> | |||
</xs:element> | <xs:element name="pref"> | |||
<!-- 5.7 --> | <xs:complexType> | |||
<xs:group name="param-mediatype"> | <xs:sequence> | |||
<xs:sequence> | <xs:element name="integer"> | |||
<xs:element ref="ns1:mediatype" minOccurs="0"/> | <xs:simpleType> | |||
</xs:sequence> | <xs:restriction base="xs:integer"> | |||
</xs:group> | <xs:minInclusive value="1"/> | |||
<xs:element name="mediatype"> | <xs:maxInclusive value="100"/> | |||
<xs:complexType> | </xs:restriction> | |||
<xs:sequence> | </xs:simpleType> | |||
<xs:element ref="ns1:text"/> | </xs:element> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 5.8 --> | <!-- 5.4 --> | |||
<xs:group name="param-calscale"> | <xs:group name="param-altid"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="ns1:calscale" minOccurs="0"/> | <xs:element ref="ns1:altid" minOccurs="0"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:group> | </xs:group> | |||
<xs:element name="calscale"> | <xs:element name="altid"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="text"> | <xs:element ref="ns1:text"/> | |||
<xs:simpleType> | </xs:sequence> | |||
<xs:restriction base="xs:token"> | </xs:complexType> | |||
<xs:enumeration value="gregorian"/> | </xs:element> | |||
</xs:restriction> | <!-- 5.5 --> | |||
</xs:simpleType> | <xs:group name="param-pid"> | |||
</xs:element> | <xs:sequence> | |||
</xs:sequence> | <xs:element ref="ns1:pid" minOccurs="0"/> | |||
</xs:complexType> | </xs:sequence> | |||
</xs:element> | </xs:group> | |||
<!-- 5.9 --> | <xs:element name="pid"> | |||
<xs:group name="param-sort-as"> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="ns1:sort-as" minOccurs="0"/> | <xs:element name="text" maxOccurs="unbounded"> | |||
</xs:sequence> | <xs:simpleType> | |||
</xs:group> | <xs:restriction base="xs:string"> | |||
<xs:element name="sort-as"> | <xs:pattern value="\d+(\.\d+)?"/> | |||
<xs:complexType> | </xs:restriction> | |||
<xs:sequence> | </xs:simpleType> | |||
<xs:element ref="ns1:text" maxOccurs="unbounded"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 5.10 --> | ||||
<xs:group name="param-geo"> | ||||
<xs:sequence> | ||||
<xs:element name="geo" minOccurs="0"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:uri"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<!-- 5.11 --> | ||||
<xs:group name="param-tz"> | ||||
<xs:sequence> | ||||
<xs:element name="tz" minOccurs="0"> | ||||
<xs:complexType> | ||||
<xs:choice> | ||||
<xs:element ref="ns1:text"/> | ||||
<xs:element ref="ns1:uri"/> | ||||
</xs:choice> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<!-- | ||||
6.1.3 | </xs:element> | |||
--> | </xs:sequence> | |||
<xs:element name="source"> | </xs:complexType> | |||
<xs:complexType> | </xs:element> | |||
<xs:sequence> | <!-- 5.6 --> | |||
<xs:element name="parameters"> | <xs:group name="param-type"> | |||
<xs:complexType> | <xs:sequence> | |||
<xs:sequence> | <xs:element ref="ns1:type" minOccurs="0"/> | |||
<xs:group ref="ns1:param-altid"/> | </xs:sequence> | |||
<xs:group ref="ns1:param-pid"/> | </xs:group> | |||
<xs:group ref="ns1:param-pref"/> | <xs:element name="type"> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:complexType> | |||
</xs:sequence> | <xs:sequence> | |||
</xs:complexType> | <xs:element name="text" maxOccurs="unbounded"> | |||
</xs:element> | <xs:simpleType> | |||
<xs:element ref="ns1:uri"/> | <xs:restriction base="xs:token"> | |||
</xs:sequence> | <xs:enumeration value="work"/> | |||
</xs:complexType> | <xs:enumeration value="home"/> | |||
</xs:element> | </xs:restriction> | |||
<!-- 6.1.4 --> | </xs:simpleType> | |||
<xs:element name="kind"> | </xs:element> | |||
<xs:complexType> | </xs:sequence> | |||
<xs:sequence> | </xs:complexType> | |||
<xs:annotation> | </xs:element> | |||
<xs:documentation> | <!-- 5.7 --> | |||
The text value must be one of: individual, group, org, | <xs:group name="param-mediatype"> | |||
location or a ns1:x-name or a ns1:iana-token value | <xs:sequence> | |||
</xs:documentation> | <xs:element ref="ns1:mediatype" minOccurs="0"/> | |||
</xs:annotation> | </xs:sequence> | |||
<xs:element name="text" type="xs:token" | </xs:group> | |||
minOccurs="1" maxOccurs="1"/> | <xs:element name="mediatype"> | |||
</xs:sequence> | <xs:complexType> | |||
</xs:complexType> | <xs:sequence> | |||
</xs:element> | <xs:element ref="ns1:text"/> | |||
<!-- 6.2.1 --> | </xs:sequence> | |||
<xs:element name="fn"> | </xs:complexType> | |||
<xs:complexType> | </xs:element> | |||
<xs:sequence> | <!-- 5.8 --> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:group name="param-calscale"> | |||
<xs:complexType> | <xs:sequence> | |||
<xs:sequence> | <xs:element ref="ns1:calscale" minOccurs="0"/> | |||
<xs:group ref="ns1:param-language"/> | </xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | </xs:group> | |||
<xs:group ref="ns1:param-pid"/> | <xs:element name="calscale"> | |||
<xs:group ref="ns1:param-pref"/> | <xs:complexType> | |||
<xs:group ref="ns1:param-type"/> | <xs:sequence> | |||
</xs:sequence> | <xs:element name="text"> | |||
</xs:complexType> | <xs:simpleType> | |||
<xs:restriction base="xs:token"> | ||||
<xs:enumeration value="gregorian"/> | ||||
</xs:restriction> | ||||
</xs:simpleType> | ||||
</xs:element> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 5.9 --> | ||||
<xs:group name="param-sort-as"> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:sort-as" minOccurs="0"/> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<xs:element name="sort-as"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:text" maxOccurs="unbounded"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 5.10 --> | ||||
<xs:group name="param-geo"> | ||||
<xs:sequence> | ||||
<xs:element name="geo" minOccurs="0"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:uri"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<!-- 5.11 --> | ||||
<xs:group name="param-tz"> | ||||
<xs:sequence> | ||||
<xs:element name="tz" minOccurs="0"> | ||||
<xs:complexType> | ||||
<xs:choice> | ||||
<xs:element ref="ns1:text"/> | ||||
<xs:element ref="ns1:uri"/> | ||||
</xs:choice> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<!-- | ||||
6.1.3 | ||||
--> | ||||
<xs:element name="source"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element name="parameters"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:group ref="ns1:param-altid"/> | ||||
<xs:group ref="ns1:param-pid"/> | ||||
<xs:group ref="ns1:param-pref"/> | ||||
<xs:group ref="ns1:param-mediatype"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<xs:element ref="ns1:uri"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 6.1.4 --> | ||||
<xs:element name="kind"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:annotation> | ||||
<xs:documentation> | ||||
The text value must be one of: individual, group, org, | ||||
location or a ns1:x-name or a ns1:iana-token value | ||||
</xs:documentation> | ||||
</xs:annotation> | ||||
<xs:element name="text" type="xs:token" | ||||
minOccurs="1" maxOccurs="1"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 6.2.1 --> | ||||
<xs:element name="fn"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element name="parameters" minOccurs="0"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:group ref="ns1:param-language"/> | ||||
<xs:group ref="ns1:param-altid"/> | ||||
<xs:group ref="ns1:param-pid"/> | ||||
<xs:group ref="ns1:param-pref"/> | ||||
<xs:group ref="ns1:param-type"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.2.2 --> | <!-- 6.2.2 --> | |||
<xs:element name="n"> | <xs:element name="n"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-language"/> | <xs:group ref="ns1:param-language"/> | |||
<xs:group ref="ns1:param-sort-as"/> | <xs:group ref="ns1:param-sort-as"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:surname" | <xs:element ref="ns1:surname" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:given" | <xs:element ref="ns1:given" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:additional" | <xs:element ref="ns1:additional" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:prefix" | <xs:element ref="ns1:prefix" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:suffix" | <xs:element ref="ns1:suffix" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element name="surname" type="xs:string"/> | <xs:element name="surname" type="xs:string"/> | |||
<xs:element name="given" type="xs:string"/> | <xs:element name="given" type="xs:string"/> | |||
<xs:element name="additional" type="xs:string"/> | <xs:element name="additional" type="xs:string"/> | |||
<xs:element name="prefix" type="xs:string"/> | <xs:element name="prefix" type="xs:string"/> | |||
<xs:element name="suffix" type="xs:string"/> | <xs:element name="suffix" type="xs:string"/> | |||
<!-- 6.2.3 --> | <!-- 6.2.3 --> | |||
<xs:element name="nickname"> | <xs:element name="nickname"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-language"/> | <xs:group ref="ns1:param-language"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:group ref="ns1:value-text-list"/> | <xs:group ref="ns1:value-text-list"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.2.4 --> | <!-- 6.2.4 --> | |||
<xs:element name="photo"> | <xs:element name="photo"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:group ref="ns1:param-mediatype"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:uri"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.2.5 --> | <!-- 6.2.5 --> | |||
<xs:element name="bday"> | <xs:element name="bday"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-calscale"/> | <xs:group ref="ns1:param-calscale"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:choice> | <xs:choice> | |||
<xs:element ref="ns1:value-date-and-or-time"/> | <xs:element ref="ns1:value-date-and-or-time"/> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
</xs:choice> | </xs:choice> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.2.6 --> | <!-- 6.2.6 --> | |||
<xs:element name="anniversary"> | <xs:element name="anniversary"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-calscale"/> | <xs:group ref="ns1:param-calscale"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:choice> | <xs:choice> | |||
<xs:element ref="ns1:value-date-and-or-time"/> | <xs:element ref="ns1:value-date-and-or-time"/> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
</xs:choice> | </xs:choice> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.2.7 --> | <!-- 6.2.7 --> | |||
<xs:element name="gender"> | <xs:element name="gender"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="ns1:sex"/> | <xs:element ref="ns1:sex"/> | |||
<xs:element ref="ns1:identity" minOccurs="0"/> | <xs:element ref="ns1:identity" minOccurs="0"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element name="sex"> | <xs:element name="sex"> | |||
<xs:simpleType> | <xs:simpleType> | |||
<xs:restriction base="xs:token"> | <xs:restriction base="xs:token"> | |||
<xs:enumeration value=""/> | <xs:enumeration value=""/> | |||
<xs:enumeration value="M"/> | <xs:enumeration value="M"/> | |||
<xs:enumeration value="F"/> | <xs:enumeration value="F"/> | |||
<xs:enumeration value="O"/> | <xs:enumeration value="O"/> | |||
<xs:enumeration value="N"/> | <xs:enumeration value="N"/> | |||
<xs:enumeration value="U"/> | <xs:enumeration value="U"/> | |||
</xs:restriction> | </xs:restriction> | |||
</xs:simpleType> | </xs:simpleType> | |||
</xs:element> | </xs:element> | |||
<xs:element name="identity" type="xs:string"/> | <xs:element name="identity" type="xs:string"/> | |||
<!-- 6.3.1 --> | <!-- 6.3.1 --> | |||
<xs:group name="param-label"> | <xs:group name="param-label"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="ns1:label" minOccurs="0"/> | <xs:element ref="ns1:label" minOccurs="0"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:group> | </xs:group> | |||
<xs:element name="label"> | <xs:element name="label"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element name="adr"> | <xs:element name="adr"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-language"/> | <xs:group ref="ns1:param-language"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group ref="ns1:param-geo"/> | <xs:group ref="ns1:param-geo"/> | |||
<xs:group ref="ns1:param-tz"/> | <xs:group ref="ns1:param-tz"/> | |||
<xs:group ref="ns1:param-label"/> | <xs:group ref="ns1:param-label"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:pobox" | <xs:element ref="ns1:pobox" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:ext" | <xs:element ref="ns1:ext" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:street" | <xs:element ref="ns1:street" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:locality" | <xs:element ref="ns1:locality" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:region" | <xs:element ref="ns1:region" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:code" | <xs:element ref="ns1:code" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:country" | <xs:element ref="ns1:country" | |||
minOccurs="0" maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element name="pobox" type="xs:string"/> | <xs:element name="pobox" type="xs:string"/> | |||
<xs:element name="ext" type="xs:string"/> | <xs:element name="ext" type="xs:string"/> | |||
<xs:element name="street" type="xs:string"/> | <xs:element name="street" type="xs:string"/> | |||
<xs:element name="locality" type="xs:string"/> | <xs:element name="locality" type="xs:string"/> | |||
<xs:element name="region" type="xs:string"/> | <xs:element name="region" type="xs:string"/> | |||
<xs:element name="code" type="xs:string"/> | <xs:element name="code" type="xs:string"/> | |||
<xs:element name="country" type="xs:string"/> | <xs:element name="country" type="xs:string"/> | |||
<!-- 6.4.1 --> | <!-- 6.4.1 --> | |||
<xs:element name="tel"> | <xs:element name="tel"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid" | <xs:group ref="ns1:param-altid" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<xs:group ref="ns1:param-pid" | <xs:group ref="ns1:param-pid" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<xs:group ref="ns1:param-pref" | <xs:group ref="ns1:param-pref" | |||
minOccurs="0"/> | minOccurs="0"/> | |||
<xs:element name="type" minOccurs="0"> | <xs:element name="type" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="text" | <xs:element name="text" | |||
type="xs:string" | type="xs:string" | |||
maxOccurs="unbounded"> | maxOccurs="unbounded"> | |||
</xs:element> | </xs:element> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:group ref="ns1:param-mediatype"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:choice> | <xs:choice> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:uri"/> | |||
</xs:choice> | </xs:choice> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.4.2 --> | <!-- 6.4.2 --> | |||
<xs:element name="email"> | <xs:element name="email"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.4.3 --> | <!-- 6.4.3 --> | |||
<xs:element name="impp"> | <xs:element name="impp"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:group ref="ns1:param-mediatype"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:uri"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.4.4 --> | <!-- 6.4.4 --> | |||
<xs:element name="lang"> | <xs:element name="lang"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:language-tag"/> | <xs:element ref="ns1:language-tag"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.5.1 --> | <!-- 6.5.1 --> | |||
<xs:group name="property-tz"> | <xs:group name="property-tz"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="tz"> | <xs:element name="tz"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group | <xs:group | |||
ref="ns1:param-mediatype"/> | ref="ns1:param-mediatype"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:choice> | <xs:choice> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:uri"/> | |||
<xs:element ref="ns1:utc-offset"/> | <xs:element ref="ns1:utc-offset"/> | |||
</xs:choice> | </xs:choice> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:group> | </xs:group> | |||
<!-- 6.5.2 --> | <!-- 6.5.2 --> | |||
<xs:group name="property-geo"> | <xs:group name="property-geo"> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="geo"> | <xs:element name="geo"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group | <xs:group | |||
ref="ns1:param-mediatype"/> | ref="ns1:param-mediatype"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:uri"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:group> | </xs:group> | |||
<!-- 6.6.1 --> | <!-- 6.6.1 --> | |||
<xs:element name="title"> | <xs:element name="title"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-language"/> | <xs:group ref="ns1:param-language"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.6.2 --> | <!-- 6.6.2 --> | |||
<xs:element name="role"> | <xs:element name="role"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-language"/> | <xs:group ref="ns1:param-language"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:text"/> | <xs:element ref="ns1:text"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.6.3 --> | <!-- 6.6.3 --> | |||
<xs:element name="logo"> | <xs:element name="logo"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-language"/> | <xs:group ref="ns1:param-language"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:group ref="ns1:param-mediatype"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:uri"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.6.4 --> | <!-- 6.6.4 --> | |||
<xs:element name="org"> | <xs:element name="org"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-language"/> | <xs:group ref="ns1:param-language"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group ref="ns1:param-sort-as"/> | <xs:group ref="ns1:param-sort-as"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:group ref="ns1:value-text-list"/> | <xs:group ref="ns1:value-text-list"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.6.5 --> | <!-- 6.6.5 --> | |||
<xs:element name="member"> | <xs:element name="member"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:group ref="ns1:param-mediatype"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:uri"/> | |||
</xs:sequence> | </xs:sequence> | |||
</xs:complexType> | </xs:complexType> | |||
</xs:element> | </xs:element> | |||
<!-- 6.6.6 --> | <!-- 6.6.6 --> | |||
<xs:element name="related"> | <xs:element name="related"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:group ref="ns1:param-altid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:param-pid"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:group ref="ns1:param-pref"/> | |||
<xs:element name="type" minOccurs="0"> | <xs:element name="type" minOccurs="0"> | |||
<xs:complexType> | <xs:complexType> | |||
<xs:sequence> | <xs:sequence> | |||
<xs:element name="text" | <xs:element name="text" maxOccurs="unbounded"> | |||
maxOccurs="unbounded"> | <xs:simpleType> | |||
<xs:simpleType> | <xs:restriction base="xs:token"> | |||
<xs:restriction | <xs:enumeration value="work"/> | |||
base="xs:token"> | <xs:enumeration value="home"/> | |||
<xs:enumeration | <xs:enumeration value="contact"/> | |||
value="work"/> | <xs:enumeration value="acquaintance"/> | |||
<xs:enumeration | <xs:enumeration value="friend"/> | |||
value="home"/> | <xs:enumeration value="met"/> | |||
<xs:enumeration | <xs:enumeration value="co-worker"/> | |||
value="contact"/> | <xs:enumeration value="colleague"/> | |||
<xs:enumeration | <xs:enumeration value="co-resident"/> | |||
value="acquaintance"/> | <xs:enumeration value="neighbor"/> | |||
<xs:enumeration | <xs:enumeration value="child"/> | |||
value="friend"/> | <xs:enumeration value="parent"/> | |||
<xs:enumeration | <xs:enumeration value="sibling"/> | |||
value="met"/> | <xs:enumeration value="spouse"/> | |||
<xs:enumeration | <xs:enumeration value="kin"/> | |||
value="co-worker"/> | <xs:enumeration value="muse"/> | |||
<xs:enumeration | <xs:enumeration value="crush"/> | |||
value="colleague"/> | <xs:enumeration value="date"/> | |||
<xs:enumeration | <xs:enumeration value="sweetheart"/> | |||
value="co-resident"/> | <xs:enumeration value="me"/> | |||
<xs:enumeration | <xs:enumeration value="agent"/> | |||
value="neighbor"/> | <xs:enumeration value="emergency"/> | |||
<xs:enumeration | </xs:restriction> | |||
value="child"/> | </xs:simpleType> | |||
<xs:enumeration | </xs:element> | |||
value="parent"/> | </xs:sequence> | |||
<xs:enumeration | </xs:complexType> | |||
value="sibling"/> | </xs:element> | |||
<xs:enumeration | <xs:group ref="ns1:param-mediatype"/> | |||
value="spouse"/> | </xs:sequence> | |||
<xs:enumeration | </xs:complexType> | |||
value="kin"/> | </xs:element> | |||
<xs:enumeration | <xs:choice> | |||
value="muse"/> | <xs:element ref="ns1:uri"/> | |||
<xs:enumeration | <xs:element ref="ns1:text"/> | |||
value="crush"/> | </xs:choice> | |||
<xs:enumeration | </xs:sequence> | |||
value="date"/> | </xs:complexType> | |||
<xs:enumeration | </xs:element> | |||
value="sweetheart"/> | <!-- 6.7.1 --> | |||
<xs:enumeration | <xs:element name="categories"> | |||
value="me"/> | <xs:complexType> | |||
<xs:enumeration | <xs:sequence> | |||
value="agent"/> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:enumeration | <xs:complexType> | |||
value="emergency"/> | <xs:sequence> | |||
</xs:restriction> | <xs:group ref="ns1:param-altid"/> | |||
</xs:simpleType> | <xs:group ref="ns1:param-pid"/> | |||
</xs:element> | <xs:group ref="ns1:param-pref"/> | |||
</xs:sequence> | <xs:group ref="ns1:param-type"/> | |||
</xs:complexType> | </xs:sequence> | |||
</xs:element> | </xs:complexType> | |||
<xs:group ref="ns1:param-mediatype"/> | </xs:element> | |||
</xs:sequence> | <xs:group ref="ns1:value-text-list"/> | |||
</xs:complexType> | </xs:sequence> | |||
</xs:element> | </xs:complexType> | |||
<xs:choice> | </xs:element> | |||
<xs:element ref="ns1:uri"/> | <!-- 6.7.2 --> | |||
<xs:element ref="ns1:text"/> | <xs:element name="note"> | |||
</xs:choice> | <xs:complexType> | |||
</xs:sequence> | <xs:sequence> | |||
</xs:complexType> | <xs:element name="parameters" minOccurs="0"> | |||
</xs:element> | <xs:complexType> | |||
<!-- 6.7.1 --> | <xs:sequence> | |||
<xs:element name="categories"> | <xs:group ref="ns1:param-language"/> | |||
<xs:complexType> | <xs:group ref="ns1:param-altid"/> | |||
<xs:sequence> | <xs:group ref="ns1:param-pid"/> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:group ref="ns1:param-pref"/> | |||
<xs:complexType> | <xs:group ref="ns1:param-type"/> | |||
<xs:sequence> | </xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | </xs:complexType> | |||
<xs:group ref="ns1:param-pid"/> | </xs:element> | |||
<xs:group ref="ns1:param-pref"/> | <xs:element ref="ns1:text"/> | |||
<xs:group ref="ns1:param-type"/> | </xs:sequence> | |||
</xs:sequence> | </xs:complexType> | |||
</xs:complexType> | </xs:element> | |||
</xs:element> | <!-- 6.7.3 --> | |||
<xs:group ref="ns1:value-text-list"/> | <xs:element name="prodid"> | |||
</xs:sequence> | <xs:complexType> | |||
</xs:complexType> | <xs:sequence> | |||
</xs:element> | <xs:element ref="ns1:text"/> | |||
<!-- 6.7.2 --> | </xs:sequence> | |||
<xs:element name="note"> | </xs:complexType> | |||
<xs:complexType> | </xs:element> | |||
<xs:sequence> | <!-- 6.7.4 --> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element name="rev" type="ns1:value-timestamp"/> | |||
<xs:complexType> | <!-- 6.7.5 --> | |||
<xs:sequence> | <xs:element name="sound"> | |||
<xs:group ref="ns1:param-language"/> | <xs:complexType> | |||
<xs:group ref="ns1:param-altid"/> | <xs:sequence> | |||
<xs:group ref="ns1:param-pid"/> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:group ref="ns1:param-pref"/> | <xs:complexType> | |||
<xs:group ref="ns1:param-type"/> | <xs:sequence> | |||
</xs:sequence> | <xs:group ref="ns1:param-language"/> | |||
</xs:complexType> | <xs:group ref="ns1:param-altid"/> | |||
</xs:element> | <xs:group ref="ns1:param-pid"/> | |||
<xs:element ref="ns1:text"/> | <xs:group ref="ns1:param-pref"/> | |||
</xs:sequence> | <xs:group ref="ns1:param-type"/> | |||
</xs:complexType> | <xs:group ref="ns1:param-mediatype"/> | |||
</xs:element> | </xs:sequence> | |||
<!-- 6.7.3 --> | </xs:complexType> | |||
<xs:element name="prodid"> | </xs:element> | |||
<xs:complexType> | <xs:element ref="ns1:uri"/> | |||
<xs:sequence> | </xs:sequence> | |||
<xs:element ref="ns1:text"/> | </xs:complexType> | |||
</xs:sequence> | </xs:element> | |||
</xs:complexType> | <!-- 6.7.6 --> | |||
</xs:element> | <xs:element name="uid"> | |||
<!-- 6.7.4 --> | <xs:complexType> | |||
<xs:element name="rev" type="ns1:value-timestamp"/> | <xs:sequence> | |||
<!-- 6.7.5 --> | <xs:element ref="ns1:uri"/> | |||
<xs:element name="sound"> | </xs:sequence> | |||
<xs:complexType> | </xs:complexType> | |||
<xs:sequence> | </xs:element> | |||
<xs:element name="parameters" minOccurs="0"> | <!-- 6.7.7 --> | |||
<xs:complexType> | <xs:element name="clientpidmap"> | |||
<xs:sequence> | <xs:complexType> | |||
<xs:group ref="ns1:param-language"/> | <xs:sequence> | |||
<xs:group ref="ns1:param-altid"/> | <xs:element ref="ns1:sourceid"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:element ref="ns1:uri"/> | |||
<xs:group ref="ns1:param-pref"/> | </xs:sequence> | |||
<xs:group ref="ns1:param-type"/> | </xs:complexType> | |||
<xs:group ref="ns1:param-mediatype"/> | </xs:element> | |||
</xs:sequence> | <xs:element name="sourceid" type="xs:positiveInteger"/> | |||
</xs:complexType> | <!-- 6.7.8 --> | |||
</xs:element> | <xs:element name="url"> | |||
<xs:element ref="ns1:uri"/> | <xs:complexType> | |||
</xs:sequence> | <xs:sequence> | |||
</xs:complexType> | <xs:element name="parameters" minOccurs="0"> | |||
</xs:element> | <xs:complexType> | |||
<!-- 6.7.6 --> | <xs:sequence> | |||
<xs:element name="uid"> | <xs:group ref="ns1:param-altid"/> | |||
<xs:complexType> | <xs:group ref="ns1:param-pid"/> | |||
<xs:sequence> | <xs:group ref="ns1:param-pref"/> | |||
<xs:element ref="ns1:uri"/> | <xs:group ref="ns1:param-type"/> | |||
<xs:group ref="ns1:param-mediatype"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<xs:element ref="ns1:uri"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 6.8.1 --> | ||||
<xs:element name="key"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element name="parameters" minOccurs="0"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:group ref="ns1:param-altid"/> | ||||
<xs:group ref="ns1:param-pid"/> | ||||
<xs:group ref="ns1:param-pref"/> | ||||
<xs:group ref="ns1:param-type"/> | ||||
<xs:group ref="ns1:param-mediatype"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<xs:choice> | ||||
<xs:element ref="ns1:uri"/> | ||||
<xs:element ref="ns1:text"/> | ||||
</xs:choice> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<!-- 6.9.1 --> | ||||
<xs:element name="fburl"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element name="parameters" minOccurs="0"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:group ref="ns1:param-altid"/> | ||||
<xs:group ref="ns1:param-pid"/> | ||||
<xs:group ref="ns1:param-pref"/> | ||||
<xs:group ref="ns1:param-type"/> | ||||
<xs:group ref="ns1:param-mediatype"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<xs:element ref="ns1:uri"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:sequence> | </xs:element> | |||
</xs:complexType> | <!-- 6.9.2 --> | |||
</xs:element> | <xs:element name="caladruri"> | |||
<!-- 6.7.7 --> | <xs:complexType> | |||
<xs:element name="clientpidmap"> | <xs:sequence> | |||
<xs:complexType> | <xs:element name="parameters" minOccurs="0"> | |||
<xs:sequence> | <xs:complexType> | |||
<xs:element ref="ns1:sourceid"/> | <xs:sequence> | |||
<xs:element ref="ns1:uri"/> | <xs:group ref="ns1:param-altid"/> | |||
</xs:sequence> | <xs:group ref="ns1:param-pid"/> | |||
</xs:complexType> | <xs:group ref="ns1:param-pref"/> | |||
</xs:element> | <xs:group ref="ns1:param-type"/> | |||
<xs:element name="sourceid" type="xs:positiveInteger"/> | <xs:group ref="ns1:param-mediatype"/> | |||
<!-- 6.7.8 --> | </xs:sequence> | |||
<xs:element name="url"> | </xs:complexType> | |||
<xs:complexType> | </xs:element> | |||
<xs:sequence> | <xs:element ref="ns1:uri"/> | |||
<xs:element name="parameters" minOccurs="0"> | </xs:sequence> | |||
<xs:complexType> | </xs:complexType> | |||
<xs:sequence> | </xs:element> | |||
<xs:group ref="ns1:param-altid"/> | <!-- 6.9.3 --> | |||
<xs:group ref="ns1:param-pid"/> | <xs:element name="caluri"> | |||
<xs:group ref="ns1:param-pref"/> | <xs:complexType> | |||
<xs:group ref="ns1:param-type"/> | <xs:sequence> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:element name="parameters" minOccurs="0"> | |||
</xs:sequence> | <xs:complexType> | |||
</xs:complexType> | <xs:sequence> | |||
</xs:element> | <xs:group ref="ns1:param-altid"/> | |||
<xs:element ref="ns1:uri"/> | <xs:group ref="ns1:param-pid"/> | |||
</xs:sequence> | <xs:group ref="ns1:param-pref"/> | |||
</xs:complexType> | <xs:group ref="ns1:param-type"/> | |||
</xs:element> | <xs:group ref="ns1:param-mediatype"/> | |||
<!-- 6.8.1 --> | </xs:sequence> | |||
<xs:element name="key"> | </xs:complexType> | |||
<xs:complexType> | </xs:element> | |||
<xs:sequence> | <xs:element ref="ns1:uri"/> | |||
<xs:element name="parameters" minOccurs="0"> | </xs:sequence> | |||
<xs:complexType> | </xs:complexType> | |||
<xs:sequence> | </xs:element> | |||
<xs:group ref="ns1:param-altid"/> | <!-- Top-level grammar --> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group name="property"> | |||
<xs:group ref="ns1:param-pref"/> | <xs:sequence> | |||
<xs:group ref="ns1:param-type"/> | <xs:element ref="ns1:adr" minOccurs="0" | |||
<xs:group ref="ns1:param-mediatype"/> | maxOccurs="unbounded"/> | |||
</xs:sequence> | <xs:element ref="ns1:anniversary" minOccurs="0" | |||
</xs:complexType> | maxOccurs="1"/> | |||
</xs:element> | <xs:element ref="ns1:bday" minOccurs="0" | |||
<xs:choice> | maxOccurs="1"/> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:caladruri" minOccurs="0" | |||
<xs:element ref="ns1:text"/> | maxOccurs="unbounded"/> | |||
</xs:choice> | <xs:element ref="ns1:caluri" minOccurs="0" | |||
</xs:sequence> | maxOccurs="unbounded"/> | |||
</xs:complexType> | <xs:element ref="ns1:categories" minOccurs="0" | |||
</xs:element> | maxOccurs="unbounded"/> | |||
<!-- 6.9.1 --> | <xs:element ref="ns1:clientpidmap" minOccurs="0" | |||
<xs:element name="fburl"> | maxOccurs="unbounded"/> | |||
<xs:complexType> | <xs:element ref="ns1:email" minOccurs="0" | |||
<xs:sequence> | maxOccurs="unbounded"/> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element ref="ns1:fburl" minOccurs="0" | |||
<xs:complexType> | maxOccurs="unbounded"/> | |||
<xs:sequence> | <xs:element ref="ns1:fn" minOccurs="1" | |||
<xs:group ref="ns1:param-altid"/> | maxOccurs="unbounded"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:group ref="ns1:property-geo" minOccurs="0" | |||
<xs:group ref="ns1:param-pref"/> | maxOccurs="unbounded"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:element ref="ns1:impp" minOccurs="0" | |||
<xs:group ref="ns1:param-mediatype"/> | maxOccurs="unbounded"/> | |||
</xs:sequence> | <xs:element ref="ns1:key" minOccurs="0" | |||
</xs:complexType> | maxOccurs="unbounded"/> | |||
</xs:element> | <xs:element ref="ns1:kind" minOccurs="0" | |||
<xs:element ref="ns1:uri"/> | maxOccurs="1"/> | |||
</xs:sequence> | <xs:element ref="ns1:lang" minOccurs="0" | |||
</xs:complexType> | maxOccurs="unbounded"/> | |||
</xs:element> | <xs:element ref="ns1:logo" minOccurs="0" | |||
<!-- 6.9.2 --> | maxOccurs="unbounded"/> | |||
<xs:element name="caladruri"> | <xs:element ref="ns1:member" minOccurs="0" | |||
<xs:complexType> | maxOccurs="unbounded"/> | |||
<xs:sequence> | <xs:element ref="ns1:n" minOccurs="0" | |||
<xs:element name="parameters" minOccurs="0"> | maxOccurs="1"/> | |||
<xs:complexType> | <xs:element ref="ns1:nickname" minOccurs="0" | |||
<xs:sequence> | maxOccurs="unbounded"/> | |||
<xs:group ref="ns1:param-altid"/> | <xs:element ref="ns1:note" minOccurs="0" | |||
<xs:group ref="ns1:param-pid"/> | maxOccurs="unbounded"/> | |||
<xs:group ref="ns1:param-pref"/> | <xs:element ref="ns1:org" minOccurs="0" | |||
<xs:group ref="ns1:param-type"/> | maxOccurs="unbounded"/> | |||
<xs:group ref="ns1:param-mediatype"/> | <xs:element ref="ns1:photo" minOccurs="0" | |||
</xs:sequence> | maxOccurs="unbounded"/> | |||
</xs:complexType> | <xs:element ref="ns1:prodid" minOccurs="0" | |||
</xs:element> | maxOccurs="1"/> | |||
<xs:element ref="ns1:uri"/> | <xs:element ref="ns1:related" minOccurs="0" | |||
</xs:sequence> | maxOccurs="unbounded"/> | |||
</xs:complexType> | <xs:element ref="ns1:rev" minOccurs="0" | |||
</xs:element> | maxOccurs="1"/> | |||
<!-- 6.9.3 --> | <xs:element ref="ns1:role" minOccurs="0" | |||
<xs:element name="caluri"> | maxOccurs="unbounded"/> | |||
<xs:complexType> | <xs:element ref="ns1:gender" minOccurs="0" | |||
<xs:sequence> | maxOccurs="1"/> | |||
<xs:element name="parameters" minOccurs="0"> | <xs:element ref="ns1:sound" minOccurs="0" | |||
<xs:complexType> | maxOccurs="unbounded"/> | |||
<xs:sequence> | <xs:element ref="ns1:source" minOccurs="0" | |||
<xs:group ref="ns1:param-altid"/> | maxOccurs="unbounded"/> | |||
<xs:group ref="ns1:param-pid"/> | <xs:element ref="ns1:tel" minOccurs="0" | |||
<xs:group ref="ns1:param-pref"/> | maxOccurs="unbounded"/> | |||
<xs:group ref="ns1:param-type"/> | <xs:element ref="ns1:title" minOccurs="0" | |||
<xs:group ref="ns1:param-mediatype"/> | maxOccurs="unbounded"/> | |||
</xs:sequence> | <xs:group ref="ns1:property-tz" minOccurs="0" | |||
</xs:complexType> | maxOccurs="unbounded"/> | |||
</xs:element> | <xs:element ref="ns1:uid" minOccurs="0" | |||
<xs:element ref="ns1:uri"/> | maxOccurs="1"/> | |||
</xs:sequence> | <xs:element ref="ns1:url" minOccurs="0" | |||
</xs:complexType> | maxOccurs="unbounded"/> | |||
</xs:element> | </xs:sequence> | |||
<!-- Top-level grammar --> | </xs:group> | |||
<xs:group name="property"> | <xs:element name="vcards"> | |||
<xs:sequence> | <xs:complexType> | |||
<xs:element ref="ns1:adr" minOccurs="0" | <xs:sequence> | |||
maxOccurs="unbounded"/> | <xs:element ref="ns1:vcard" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:anniversary" minOccurs="0" | </xs:sequence> | |||
maxOccurs="1"/> | </xs:complexType> | |||
<xs:element ref="ns1:bday" minOccurs="0" | </xs:element> | |||
maxOccurs="1"/> | <xs:complexType name="vcardType"> | |||
<xs:element ref="ns1:caladruri" minOccurs="0" | <xs:sequence> | |||
maxOccurs="unbounded"/> | <xs:group ref="ns1:property"/> | |||
<xs:element ref="ns1:caluri" minOccurs="0" | <xs:element ref="ns1:group" minOccurs="0" | |||
maxOccurs="unbounded"/> | maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:categories" minOccurs="0" | <xs:any namespace="##other" processContents="lax" | |||
maxOccurs="unbounded"/> | minOccurs="0" maxOccurs="unbounded"/> | |||
<xs:element ref="ns1:clientpidmap" minOccurs="0" | </xs:sequence> | |||
maxOccurs="unbounded"/> | </xs:complexType> | |||
<xs:element ref="ns1:email" minOccurs="0" | <xs:element name="vcard" type="ns1:vcardType"/> | |||
maxOccurs="unbounded"/> | <xs:element name="group"> | |||
<xs:element ref="ns1:fburl" minOccurs="0" | <xs:complexType> | |||
maxOccurs="unbounded"/> | <xs:group ref="ns1:property"/> | |||
<xs:element ref="ns1:fn" minOccurs="1" | <xs:attribute name="name" use="required"/> | |||
maxOccurs="unbounded"/> | </xs:complexType> | |||
<xs:group ref="ns1:property-geo" minOccurs="0" | </xs:element> | |||
maxOccurs="unbounded"/> | </xs:schema> | |||
<xs:element ref="ns1:impp" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:key" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:kind" minOccurs="0" | ||||
maxOccurs="1"/> | ||||
<xs:element ref="ns1:lang" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:logo" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:member" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:n" minOccurs="0" | ||||
maxOccurs="1"/> | ||||
<xs:element ref="ns1:nickname" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:note" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:org" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:photo" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:prodid" minOccurs="0" | ||||
maxOccurs="1"/> | ||||
<xs:element ref="ns1:related" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:rev" minOccurs="0" | ||||
maxOccurs="1"/> | ||||
<xs:element ref="ns1:role" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:gender" minOccurs="0" | ||||
maxOccurs="1"/> | ||||
<xs:element ref="ns1:sound" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:source" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:tel" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:title" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:group ref="ns1:property-tz" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:element ref="ns1:uid" minOccurs="0" | ||||
maxOccurs="1"/> | ||||
<xs:element ref="ns1:url" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
</xs:sequence> | ||||
</xs:group> | ||||
<xs:element name="vcards"> | ||||
<xs:complexType> | ||||
<xs:sequence> | ||||
<xs:element ref="ns1:vcard" maxOccurs="unbounded"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
<xs:complexType name="vcardType"> | ||||
<xs:sequence> | ||||
<xs:group ref="ns1:property"/> | ||||
<xs:element ref="ns1:group" minOccurs="0" | ||||
maxOccurs="unbounded"/> | ||||
<xs:any namespace="##other" processContents="lax" | ||||
minOccurs="0" maxOccurs="unbounded"/> | ||||
</xs:sequence> | ||||
</xs:complexType> | ||||
<xs:element name="vcard" type="ns1:vcardType"/> | ||||
<xs:element name="group"> | ||||
<xs:complexType> | ||||
<xs:group ref="ns1:property"/> | ||||
<xs:attribute name="name" use="required"/> | ||||
</xs:complexType> | ||||
</xs:element> | ||||
</xs:schema> | ||||
Appendix B. XML Validation | Appendix B. XML Validation | |||
This document defines a number of XML schemas and contains various | This document defines a number of XML schemas and contains various | |||
examples. Extracting the XML and validating the examples against the | examples. Extracting the XML and validating the examples against the | |||
schemas can be challenging, especially due to the formatting | schemas can be challenging, especially due to the formatting | |||
limitations introduced by IETF RFCs. For those readers who copy the | limitations introduced by IETF RFCs. For those readers who copy the | |||
XML schemas and examples directly from this document, please consider | XML schemas and examples directly from this document, please consider | |||
that errors might be introduced due to line breaks and extra | that errors might be introduced due to line breaks and extra | |||
whitespaces in the regular expressions contained in the vCard schema | whitespaces in the regular expressions contained in the vCard schema | |||
End of changes. 27 change blocks. | ||||
1201 lines changed or deleted | 1174 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |