diff options
Diffstat (limited to 'vendor/sabre/dav/docs/rfc6351.txt')
-rw-r--r-- | vendor/sabre/dav/docs/rfc6351.txt | 1235 |
1 files changed, 0 insertions, 1235 deletions
diff --git a/vendor/sabre/dav/docs/rfc6351.txt b/vendor/sabre/dav/docs/rfc6351.txt deleted file mode 100644 index 5ae0fa3f2..000000000 --- a/vendor/sabre/dav/docs/rfc6351.txt +++ /dev/null @@ -1,1235 +0,0 @@ - - - - - - -Internet Engineering Task Force (IETF) S. Perreault -Request for Comments: 6351 Viagenie -Category: Standards Track August 2011 -ISSN: 2070-1721 - - - xCard: vCard XML Representation - -Abstract - - This document defines the XML schema of the vCard data format. - -Status of This Memo - - This is an Internet Standards Track document. - - This document is a product of the Internet Engineering Task Force - (IETF). It represents the consensus of the IETF community. It has - received public review and has been approved for publication by the - Internet Engineering Steering Group (IESG). Further information on - Internet Standards is available in Section 2 of RFC 5741. - - Information about the current status of this document, any errata, - and how to provide feedback on it may be obtained at - http://www.rfc-editor.org/info/rfc6351. - -Copyright Notice - - Copyright (c) 2011 IETF Trust and the persons identified as the - document authors. All rights reserved. - - This document is subject to BCP 78 and the IETF Trust's Legal - Provisions Relating to IETF Documents - (http://trustee.ietf.org/license-info) in effect on the date of - publication of this document. Please review these documents - carefully, as they describe your rights and restrictions with respect - to this document. Code Components extracted from this document must - include Simplified BSD License text as described in Section 4.e of - the Trust Legal Provisions and are provided without warranty as - described in the Simplified BSD License. - - - - - - - - - - - -Perreault Standards Track [Page 1] - -RFC 6351 xCard August 2011 - - -Table of Contents - - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 3. The Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 2 - 4. Example: Author's XML vCard . . . . . . . . . . . . . . . . . 3 - 5. Design Considerations . . . . . . . . . . . . . . . . . . . . 4 - 5.1. Extensibility . . . . . . . . . . . . . . . . . . . . . . 6 - 5.2. Limitations . . . . . . . . . . . . . . . . . . . . . . . 7 - 6. Format Conversions . . . . . . . . . . . . . . . . . . . . . . 8 - 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 - 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 - 8.1. Registration of the XML Namespace . . . . . . . . . . . . 11 - 8.2. Media Type . . . . . . . . . . . . . . . . . . . . . . . . 11 - 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 - 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 - 10.1. Normative References . . . . . . . . . . . . . . . . . . . 12 - 10.2. Informative References . . . . . . . . . . . . . . . . . . 13 - Appendix A. Relax NG Schema . . . . . . . . . . . . . . . . . . . 14 - -1. Introduction - - vCard [RFC6350] is a data format for representing and exchanging - information about individuals and other entities. It is a text-based - format (as opposed to a binary format). This document defines xCard, - an XML [W3C.REC-xml-20081126] representation for vCard. The - underlying data structure is exactly the same, enabling a 1-to-1 - mapping between the original vCard format and the XML representation. - The XML formatting may be preferred in some contexts where an XML - engine is readily available and may be reused instead of writing a - standalone vCard parser. - - Earlier work on an XML format for vCard was started in 1998 by Frank - Dawson [VCARD-DTD]. Sadly, it did not take over the world. - -2. Conventions - - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", - "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC2119]. - -3. The Schema - - The schema is expressed in the RELAX NG language [ISO.19757-2.2008] - and is found in Appendix A. - - - - - - -Perreault Standards Track [Page 2] - -RFC 6351 xCard August 2011 - - -4. Example: Author's XML vCard - - <?xml version="1.0" encoding="UTF-8"?> - <vcards xmlns="urn:ietf:params:xml:ns:vcard-4.0"> - <vcard> - <fn><text>Simon Perreault</text></fn> - <n> - <surname>Perreault</surname> - <given>Simon</given> - <additional/> - <prefix/> - <suffix>ing. jr</suffix> - <suffix>M.Sc.</suffix> - </n> - <bday><date>--0203</date></bday> - <anniversary> - <date-time>20090808T1430-0500</date-time> - </anniversary> - <gender><sex>M</sex></gender> - <lang> - <parameters><pref><integer>1</integer></pref></parameters> - <language-tag>fr</language-tag> - </lang> - <lang> - <parameters><pref><integer>2</integer></pref></parameters> - <language-tag>en</language-tag> - </lang> - <org> - <parameters><type><text>work</text></type></parameters> - <text>Viagenie</text> - </org> - <adr> - <parameters> - <type><text>work</text></type> - <label><text>Simon Perreault - 2875 boul. Laurier, suite D2-630 - Quebec, QC, Canada - G1V 2M2</text></label> - </parameters> - <pobox/> - <ext/> - <street>2875 boul. Laurier, suite D2-630</street> - <locality>Quebec</locality> - <region>QC</region> - <code>G1V 2M2</code> - <country>Canada</country> - </adr> - <tel> - - - -Perreault Standards Track [Page 3] - -RFC 6351 xCard August 2011 - - - <parameters> - <type> - <text>work</text> - <text>voice</text> - </type> - </parameters> - <uri>tel:+1-418-656-9254;ext=102</uri> - </tel> - <tel> - <parameters> - <type> - <text>work</text> - <text>text</text> - <text>voice</text> - <text>cell</text> - <text>video</text> - </type> - </parameters> - <uri>tel:+1-418-262-6501</uri> - </tel> - <email> - <parameters><type><text>work</text></type></parameters> - <text>simon.perreault@viagenie.ca</text> - </email> - <geo> - <parameters><type><text>work</text></type></parameters> - <uri>geo:46.766336,-71.28955</uri> - </geo> - <key> - <parameters><type><text>work</text></type></parameters> - <uri>http://www.viagenie.ca/simon.perreault/simon.asc</uri> - </key> - <tz><text>America/Montreal</text></tz> - <url> - <parameters><type><text>home</text></type></parameters> - <uri>http://nomis80.org</uri> - </url> - </vcard> - </vcards> - -5. Design Considerations - - The general idea is to map vCard parameters, properties, and value - types to XML elements. For example, the "FN" property is mapped to - the "fn" element. In turn, that element contains a text element - whose content corresponds to the vCard property's value. - - - - - -Perreault Standards Track [Page 4] - -RFC 6351 xCard August 2011 - - - vCard parameters are also mapped to XML elements. They are contained - in the <parameters> element, which is contained in property elements. - For example, the "TYPE" parameter applied to the "TEL" property would - look like the following in XML: - - <tel> - <parameters> - <type> - <text>voice</text> - <text>video</text> - </type> - </parameters> - <uri>tel:+1-555-555-555</uri> - </tel> - - Parameters taking a list of values are simply repeated multiple - times, once for each value in the list. - - Properties having structured values (e.g., the "N" property) are - expressed by XML element trees. Element names in that tree (e.g., - "surname", "given", etc.) do not have a vCard equivalent since they - are identified by position in plain vCard. - - Line folding is a non-issue in XML. Therefore, the mapping from - vCard to XML is done after the unfolding procedure is carried out. - Conversely, the mapping from XML to vCard is done before the folding - procedure is carried out. - - A top-level <vcards> element is used as root. It contains one or - more <vcard> elements, each representing a complete vCard. The - <vcards> element MUST be present even when only a single vCard is - present in an XML document. - - The group construct (Section 3.2 in [RFC6350]) is represented with - the <group> element. The "name" attribute contains the group's name. - For example: - - - - - - - - - - - - - - - -Perreault Standards Track [Page 5] - -RFC 6351 xCard August 2011 - - - <vcards> - <vcard> - <group name="contact"> - <fn>...</fn> - <email>...</email> - </group> - <group name="media"> - <photo>...</photo> - </group> - <categories>...</categories> - </vcard> - </vcards> - - is equivalent to: - - BEGIN:VCARD - VERSION:4.0 - contact.FN=... - contact.EMAIL=... - media.PHOTO=... - CATEGORIES=... - END:VCARD - -5.1. Extensibility - - The original vCard format is extensible. New properties, parameters, - data types and values (collectively known as vCard elements, not to - be confused with XML elements) can be registered with IANA (see - [RFC6350], Section 10.2). It is expected that these vCard extensions - will also specify extensions to the XML format described in this - document. - - New XML vCard property and parameter element names MUST be lower- - case. This is necessary to ensure that round-tripping between XML - and plain-text vCard works correctly. - - Unregistered extensions (i.e., those starting with "X-" and - "VND-...-") are expressed in XML by using elements starting with "x-" - and "vnd-...-". Usage of XML namespaces [W3C.REC-xml-names-20091208] - for extensibility is RECOMMENDED for extensions that have no - equivalent in plain-text vCard. Refer to Section 6 for the - implications when converting between plain-text vCard and XML. - - - - - - - - - -Perreault Standards Track [Page 6] - -RFC 6351 xCard August 2011 - - - Examples: - - <x-my-prop> - <parameters> - <pref><integer>1</integer></pref> - </parameters> - <text>value goes here</text> - </x-my-prop> - - <ext:my-prop - ext:xmlns="http://example.com/extensions/my-vcard"> - <parameters> - <pref><integer>1</integer></pref> - </parameters> <!-- Core vCard elements --> - <text>value goes here</text> <!-- are still accessible --> - </ext:my-prop> - - Note that extension elements do not need the "X-" or "VND-" prefix in - XML. The XML namespace mechanism is sufficient. - - A vCard XML parser MUST ignore XML elements and attributes for which - it doesn't recognize the expanded name. The normal behavior of - ignoring XML processing instructions whose target is not recognized - MUST also be followed. - - In the original vCard format, the "VERSION" property was mandatory - and played a role in extensibility. In XML, this property is absent. - Its role is played by the vCard core namespace identifier, which - includes the version number. vCard revisions will use a different - namespace. - - Parameters containing a list of values are expressed using a list of - elements in XML (e.g., the <type> element). - -5.2. Limitations - - The schema does not validate the cardinality of properties. This is - a limitation of the schema definition language. Cardinalities of the - original vCard format [RFC6350] MUST still be respected. - - Some constructs (e.g., value enumerations in type parameters) have - additional ordering constraints in XML. This is a result of - limitations of the schema definition language, and the order is - arbitrary. The order MUST be respected in XML for the vCard to be - valid. However, reordering as part of conversion to or from plain - vCard MAY happen. - - - - - -Perreault Standards Track [Page 7] - -RFC 6351 xCard August 2011 - - -6. Format Conversions - - When new properties or "X-" properties are used, a vCard<->xCard - converter might not recognize them or know what the appropriate - default value types are, yet they need to be able to preserve the - values. A similar issue arises for unrecognized property parameters. - As a result, the following rules are applied when dealing with - unrecognized properties and property parameters: - - o When converting from vCard to xCard: - - * Any property that does not include a "VALUE" parameter and - whose default value type is not known MUST be converted using - the value type XML element <unknown>. The content of that - element is the unprocessed value text. - - * Any unrecognized property parameter MUST be converted using the - value type XML element <unknown>, with its content set to the - parameter value text, treated as if it were a text value, or - list of text values. - - * The content of "XML" properties is copied as is to XML. - - * Property and parameter XML element names are converted to - lower-case. - - * Property value escaping is undone. For example, "\n" becomes a - NEWLINE character (ASCII decimal 10). - - * Double-quoting of parameter values, as well as backslash - escaping in parameter values, is undone. For example, - PARAM="\"foo\",\"bar\"" becomes <param>"foo","bar"</param>. - - o When converting xCard to vCard: - - * Properties in the vCard 4 namespace: - - + If the converter knows of a specific plain-text - representation for this property, it uses it. For example, - the <adr> element corresponds to the "ADR" property, which - is encoded using comma-separated lists separated by - semicolons. - - + Otherwise, the property name is taken from the element name, - property parameters are taken from the <parameters> element, - and the content of the property is taken from the content of - the value element. If the property element has attributes - or contains other XML elements, they are dropped. - - - -Perreault Standards Track [Page 8] - -RFC 6351 xCard August 2011 - - - + If a standard property's XML element contains XML elements - and attributes for which the converter doesn't recognize the - expanded name, they are dropped. Therefore, it is - RECOMMENDED to limit extensions to the property level to - ensure that all data is preserved intact in round-trip - conversions. - - * Properties in other namespaces are wrapped as is inside an - "XML" property. - - * Any <unknown> property value XML elements are converted - directly into vCard values. The containing property MUST NOT - have a "VALUE" parameter. - - * Any <unknown> parameter value XML elements are converted as if - they were <text> value type XML elements. - - * Property and parameter names are converted to upper-case. - - * Property value escaping (Section 3.3 of [RFC6350]) is carried - out. For example, a NEWLINE character (ASCII decimal 10) - becomes "\n". - - * Double-quoting of parameter values, as well as backslash - escaping in parameter values, is carried out. For example, - <param>"foo","bar"</param> becomes PARAM="\"foo\",\"bar\"". - - - - - - - - - - - - - - - - - - - - - - - - - -Perreault Standards Track [Page 9] - -RFC 6351 xCard August 2011 - - - For example, these two vCards are equivalent: - - <?xml version="1.0"?> - <vcards xmlns="urn:ietf:params:xml:ns:vcard-4.0"> - <vcard> - <fn><text>J. Doe</text></fn> - <n> - <surname>Doe</surname> - <given>J.</given> - <additional/> - <prefix/> - <suffix/> - </n> - <x-file> - <parameters> - <mediatype><text>image/jpeg</text></mediatype> - </parameters> - <unknown>alien.jpg</unknown> - </x-file> - <a xmlns="http://www.w3.org/1999/xhtml" - href="http://www.example.com">My web page!</a> - </vcard> - </vcards> - - - BEGIN:VCARD - VERSION:4.0 - FN:J. Doe - N:Doe;J.;; - X-FILE;MEDIATYPE=image/jpeg:alien.jpg - XML:<a xmlns="http://www.w3.org/1999/xhtml"\n - href="http://www.example.com">My web page!</a> - END:VCARD - -7. Security Considerations - - All the security considerations applicable to plain vCard [RFC6350] - are applicable to this document as well. - - XML Signature [W3C.CR-xmldsig-core1-20110303] and XML Encryption - [W3C.CR-xmlenc-core1-20110303] can be used with xCard to provide - authentication and confidentiality. - - - - - - - - - -Perreault Standards Track [Page 10] - -RFC 6351 xCard August 2011 - - -8. IANA Considerations - -8.1. Registration of the XML Namespace - - URI: urn:ietf:params:xml:ns:vcard-4.0 - - Registrant Contact: The IESG <iesg@ietf.org> - - XML: None. Namespace URIs do not represent an XML specification. - -8.2. Media Type - - This section defines the MIME media type [RFC4288] for use with - vCard-in-XML data. - - To: ietf-types@iana.org - - Subject: Registration of media type application/vcard+xml - - Type name: application - - Subtype name: vcard+xml - - Required parameters: none - - Optional parameters: charset as defined for application/xml in - [RFC3023]; per [RFC3023], use of the charset parameter with the - value "utf-8" is "STRONGLY RECOMMENDED". - - Encoding considerations: Same as encoding considerations of - application/xml as specified in [RFC3023]. - - Security considerations: This media type has all of the security - considerations described in [RFC3023], plus those listed in - Section 7. - - Interoperability considerations: This media type provides an - alternative syntax to vCard data [RFC6350] based on XML. - - Published specification: This specification. - - Applications that use this media type: Applications that currently - make use of the text/vcard media type can use this as an - alternative. In general, applications that maintain or process - contact information can use this media type. - - - - - - -Perreault Standards Track [Page 11] - -RFC 6351 xCard August 2011 - - - Additional information: - - Magic number(s): none - - File extension(s): XML data should use ".xml" as the file - extension. - - Macintosh file type code(s): none - - Person & email address to contact for further information: Simon - Perreault <simon.perreault@viagenie.ca> - - Intended usage: COMMON - - Restrictions on usage: none - - Author: Simon Perreault - - Change controller: IETF - -9. Acknowledgments - - Thanks to the following people for their input: - - Alexey Melnikov, Barry Leiba, Bjorn Hoehrmann, Cyrus Daboo, Joe - Hildebrand, Joseph Smarr, Marc Blanchet, Mike Douglass, Peter Saint- - Andre, Robins George, Zahhar Kirillov, Zoltan Ordogh. - - -10. References - -10.1. Normative References - - [ISO.19757-2.2008] - International Organization for Standardization, - "Information technology -- Document Schema Definition - Language (DSDL) -- Part 2: Regular-grammar-based - validation -- RELAX NG", ISO International - Standard 19757-2, October 2008. - - [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate - Requirement Levels", BCP 14, RFC 2119, March 1997. - - [RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media - Types", RFC 3023, January 2001. - - [RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, - August 2011. - - - -Perreault Standards Track [Page 12] - -RFC 6351 xCard August 2011 - - - [W3C.REC-xml-20081126] - Paoli, J., Yergeau, F., Maler, E., Bray, T., and C. - Sperberg-McQueen, "Extensible Markup Language (XML) 1.0 - (Fifth Edition)", World Wide Web Consortium - Recommendation REC-xml-20081126, November 2008, - <http://www.w3.org/TR/2008/REC-xml-20081126>. - - [W3C.REC-xml-names-20091208] - Bray, T., Hollander, D., Layman, A., Tobin, R., and H. - Thompson, "Namespaces in XML 1.0 (Third Edition)", World - Wide Web Consortium Recommendation REC-xml-names-20091208, - December 2009, - <http://www.w3.org/TR/2009/REC-xml-names-20091208>. - -10.2. Informative References - - [RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and - Registration Procedures", BCP 13, RFC 4288, December 2005. - - [VCARD-DTD] - Dawson, F., "The vCard v3.0 XML DTD", Work in Progress, - June 1998. - - [W3C.CR-xmldsig-core1-20110303] - Roessler, T., Solo, D., Yiu, K., Reagle, J., Hirsch, F., - Eastlake, D., and M. Nystroem, "XML Signature Syntax and - Processing Version 1.1", World Wide Web Consortium CR CR- - xmldsig-core1-20110303, March 2011, - <http://www.w3.org/TR/2011/CR-xmldsig-core1-20110303>. - - [W3C.CR-xmlenc-core1-20110303] - Eastlake, D., Reagle, J., Roessler, T., and F. Hirsch, - "XML Encryption Syntax and Processing Version 1.1", World - Wide Web Consortium CR CR-xmlenc-core1-20110303, - March 2011, - <http://www.w3.org/TR/2011/CR-xmlenc-core1-20110303>. - - - - - - - - - - - - - - - -Perreault Standards Track [Page 13] - -RFC 6351 xCard August 2011 - - -Appendix A. Relax NG Schema - -default namespace = "urn:ietf:params:xml:ns:vcard-4.0" - -### Section 3.3: vCard Format Specification -# -# 3.3 -iana-token = xsd:string { pattern = "[a-zA-Z0-9-]+" } -x-name = xsd:string { pattern = "x-[a-zA-Z0-9-]+" } - -### Section 4: Value types -# -# 4.1 -value-text = element text { text } -value-text-list = value-text+ - -# 4.2 -value-uri = element uri { xsd:anyURI } - -# 4.3.1 -value-date = element date { - xsd:string { pattern = "\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d" } - } - -# 4.3.2 -value-time = element time { - xsd:string { pattern = "(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)" - ~ "(Z|[+\-]\d\d(\d\d)?)?" } - } - -# 4.3.3 -value-date-time = element date-time { - xsd:string { pattern = "(\d{8}|--\d{4}|---\d\d)T\d\d(\d\d(\d\d)?)?" - ~ "(Z|[+\-]\d\d(\d\d)?)?" } - } - -# 4.3.4 -value-date-and-or-time = value-date | value-date-time | value-time - -# 4.3.5 -value-timestamp = element timestamp { - xsd:string { pattern = "\d{8}T\d{6}(Z|[+\-]\d\d(\d\d)?)?" } - } - -# 4.4 -value-boolean = element boolean { xsd:boolean } - - - - - -Perreault Standards Track [Page 14] - -RFC 6351 xCard August 2011 - - -# 4.5 -value-integer = element integer { xsd:integer } - -# 4.6 -value-float = element float { xsd:float } - -# 4.7 -value-utc-offset = element utc-offset { - xsd:string { pattern = "[+\-]\d\d(\d\d)?" } - } - -# 4.8 -value-language-tag = element language-tag { - xsd:string { pattern = "([a-z]{2,3}((-[a-z]{3}){0,3})?|[a-z]{4,8})" - ~ "(-[a-z]{4})?(-([a-z]{2}|\d{3}))?" - ~ "(-([0-9a-z]{5,8}|\d[0-9a-z]{3}))*" - ~ "(-[0-9a-wyz](-[0-9a-z]{2,8})+)*" - ~ "(-x(-[0-9a-z]{1,8})+)?|x(-[0-9a-z]{1,8})+|" - ~ "[a-z]{1,3}(-[0-9a-z]{2,8}){1,2}" } - } - -### Section 5: Parameters -# -# 5.1 -param-language = element language { value-language-tag }? - -# 5.2 -param-pref = element pref { - element integer { - xsd:integer { minInclusive = "1" maxInclusive = "100" } - } - }? - -# 5.4 -param-altid = element altid { value-text }? - -# 5.5 -param-pid = element pid { - element text { xsd:string { pattern = "\d+(\.\d+)?" } }+ - }? - -# 5.6 -param-type = element type { element text { "work" | "home" }+ }? - -# 5.7 -param-mediatype = element mediatype { value-text }? - - - - - -Perreault Standards Track [Page 15] - -RFC 6351 xCard August 2011 - - -# 5.8 -param-calscale = element calscale { element text { "gregorian" } }? - -# 5.9 -param-sort-as = element sort-as { value-text+ }? - -# 5.10 -param-geo = element geo { value-uri }? - -# 5.11 -param-tz = element tz { value-text | value-uri }? - -### Section 6: Properties -# -# 6.1.3 -property-source = element source { - element parameters { param-altid, param-pid, param-pref, - param-mediatype }, - value-uri - } - -# 6.1.4 -property-kind = element kind { - element text { "individual" | "group" | "org" | "location" | - x-name | iana-token }* - } - -# 6.2.1 -property-fn = element fn { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type }?, - value-text - } - -# 6.2.2 -property-n = element n { - element parameters { param-language, param-sort-as, param-altid }?, - element surname { text }+, - element given { text }+, - element additional { text }+, - element prefix { text }+, - element suffix { text }+ - } - - - - - - - - -Perreault Standards Track [Page 16] - -RFC 6351 xCard August 2011 - - -# 6.2.3 -property-nickname = element nickname { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type }?, - value-text-list - } - -# 6.2.4 -property-photo = element photo { - element parameters { param-altid, param-pid, param-pref, param-type, - param-mediatype }?, - value-uri - } - -# 6.2.5 -property-bday = element bday { - element parameters { param-altid, param-calscale }?, - (value-date-and-or-time | value-text) - } - -# 6.2.6 -property-anniversary = element anniversary { - element parameters { param-altid, param-calscale }?, - (value-date-and-or-time | value-text) - } - -# 6.2.7 -property-gender = element gender { - element sex { "" | "M" | "F" | "O" | "N" | "U" }, - element identity { text }? - } - -# 6.3.1 -param-label = element label { value-text }? -property-adr = element adr { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type, param-geo, param-tz, - param-label }?, - element pobox { text }+, - element ext { text }+, - element street { text }+, - element locality { text }+, - element region { text }+, - element code { text }+, - element country { text }+ - } - - - - - -Perreault Standards Track [Page 17] - -RFC 6351 xCard August 2011 - - -# 6.4.1 -property-tel = element tel { - element parameters { - param-altid, - param-pid, - param-pref, - element type { - element text { "work" | "home" | "text" | "voice" - | "fax" | "cell" | "video" | "pager" - | "textphone" }+ - }?, - param-mediatype - }?, - (value-text | value-uri) - } - -# 6.4.2 -property-email = element email { - element parameters { param-altid, param-pid, param-pref, - param-type }?, - value-text - } - -# 6.4.3 -property-impp = element impp { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - value-uri - } - -# 6.4.4 -property-lang = element lang { - element parameters { param-altid, param-pid, param-pref, - param-type }?, - value-language-tag - } - -# 6.5.1 -property-tz = element tz { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - (value-text | value-uri | value-utc-offset) - } - - - - - - - - -Perreault Standards Track [Page 18] - -RFC 6351 xCard August 2011 - - -# 6.5.2 -property-geo = element geo { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - value-uri - } - -# 6.6.1 -property-title = element title { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type }?, - value-text - } - -# 6.6.2 -property-role = element role { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type }?, - value-text - } - -# 6.6.3 -property-logo = element logo { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type, param-mediatype }?, - value-uri - } - -# 6.6.4 -property-org = element org { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type, param-sort-as }?, - value-text-list - } - -# 6.6.5 -property-member = element member { - element parameters { param-altid, param-pid, param-pref, - param-mediatype }?, - value-uri - } - - - - - - - - - - -Perreault Standards Track [Page 19] - -RFC 6351 xCard August 2011 - - -# 6.6.6 -property-related = element related { - element parameters { - param-altid, - param-pid, - param-pref, - element type { - element text { - "work" | "home" | "contact" | "acquaintance" | - "friend" | "met" | "co-worker" | "colleague" | "co-resident" | - "neighbor" | "child" | "parent" | "sibling" | "spouse" | - "kin" | "muse" | "crush" | "date" | "sweetheart" | "me" | - "agent" | "emergency" - }+ - }?, - param-mediatype - }?, - (value-uri | value-text) - } - -# 6.7.1 -property-categories = element categories { - element parameters { param-altid, param-pid, param-pref, - param-type }?, - value-text-list - } - -# 6.7.2 -property-note = element note { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type }?, - value-text - } - -# 6.7.3 -property-prodid = element prodid { value-text } - -# 6.7.4 -property-rev = element rev { value-timestamp } - -# 6.7.5 -property-sound = element sound { - element parameters { param-language, param-altid, param-pid, - param-pref, param-type, param-mediatype }?, - value-uri - } - - - - - -Perreault Standards Track [Page 20] - -RFC 6351 xCard August 2011 - - -# 6.7.6 -property-uid = element uid { value-uri } - -# 6.7.7 -property-clientpidmap = element clientpidmap { - element sourceid { xsd:positiveInteger }, - value-uri - } - -# 6.7.8 -property-url = element url { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - value-uri - } - -# 6.8.1 -property-key = element key { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - (value-uri | value-text) - } - -# 6.9.1 -property-fburl = element fburl { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - value-uri - } - -# 6.9.2 -property-caladruri = element caladruri { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - value-uri - } - -# 6.9.3 -property-caluri = element caluri { - element parameters { param-altid, param-pid, param-pref, - param-type, param-mediatype }?, - value-uri - } - - - - - - - - -Perreault Standards Track [Page 21] - -RFC 6351 xCard August 2011 - - -# Top-level grammar -property = property-adr | property-anniversary | property-bday - | property-caladruri | property-caluri | property-categories - | property-clientpidmap | property-email | property-fburl - | property-fn | property-geo | property-impp | property-key - | property-kind | property-lang | property-logo - | property-member | property-n | property-nickname - | property-note | property-org | property-photo - | property-prodid | property-related | property-rev - | property-role | property-gender | property-sound - | property-source | property-tel | property-title - | property-tz | property-uid | property-url -start = element vcards { - element vcard { - (property - | element group { - attribute name { text }, - property* - })+ - }+ - } - -Author's Address - - Simon Perreault - Viagenie - 2600 boul. Laurier, Suite 625 - Quebec, QC G1V 4W1 - Canada - - Phone: +1 418 656 9254 - EMail: simon.perreault@viagenie.ca - URI: http://www.viagenie.ca - - - - - - - - - - - - - - - - - - -Perreault Standards Track [Page 22] - |