[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [VCARDDAV] Embedding XML in vCard
Simon Perreault a écrit :
Dear WG,
Here's a first proposal for embedding XML in vCard, as discussed at IETF 75 in
Stockholm.
First, I propose that this be part of draft-ietf-vcarddav-vcardxml, not of
draft-ietf-vcarddav-vcardrev. This is to eliminate mutual referencing, and also
to eliminate the question of "how do I interpret an XML blob if all I'm
compliant with is plain vCard?"
as individual, I agree with the proposal.
as co-chair, I highly suggest that "draft-ietf-vcarddav-vcardrev"
contains text regarding the XML property and refers to the
draft-ietf-vcarddav-vcardxml for the details/definition. That way, XML
is a known property in standard vcard. This will bind the two at RFC
publication so that they will be referencing each other with their RFC
numbers, but definitions will not be duplicated.
Marc.
Only XML-aware clients which also happen to
understand plain vCard would know what to do with an XML blob. Which I think
makes sense.
The proposal is for a new property named "XML". Example:
BEGIN:VCARD
VERSION:4.0
FN:Simon Perreault
XML:<email>simon.perreault at viagenie.ca</email>
END:VCARD
That's it.
Details:
- Multiple XML-encoded properties could be present in a single "XML" property,
e.g. XML:<prop1>...</prop1><prop2>...</prop2>
- Multiple instances of an "XML" property could be present in a single vCard.
This is so that the order of properties does not change during conversion. Yes I
know order doesn't matter, but I think it would be nice to have the following
property hold:
strcmp( vcard(xml("BEGIN:VCARD...END:VCARD")), "BEGIN:VCARD...END:VCARD" ) == 0
- The content of the "XML" property would be an XML chunk with default XML
namespace being the vCard 4 namespace. The elements allowed there would be those
that are allowed to be immediate children of the <vcard> element. The normal
rule for extensibility would apply (i.e. things in unknown namespaces are
ignored). The chunk would be subject to normal line folding and escaping, i.e:
1. Replace all newlines with "\n".
(All the rest of the full UTF-8 gamut is untouched.)
2. Fold long lines.
(Do it after "\n" for bonus points.)
- The following would be implicitly valid:
BEGIN:VCARD
XML:<!-- All the content is here. -->
END:VCARD
How about that?
Simon