Vielleicht kann er dazu mehr sagen.
Ich habe keine Erfahrung mit Cardbook, insofern kann ich nur bedingt helfen. Den Standard habe ich auch bislang nirgends implementieren müssen, ich habe ihn aber während der Gestaltung interner Datenformate von GeneralSync intensiver angeschaut, vor allem aus Kompatibilitätsgründen. vCard ist sehr mächtig, aber ich habe noch keine Anwendung (und keinen Nutzer!) gesehen, die mit der vollen Komplexität umgehen kann. Daher ist aus meiner Sicht eine Kompatibilität vor allem durch flächendeckend eingehaltene Konventionen gegeben, und leider nicht nur durch den Standard.
Die gepostete vCard nutzt die Gruppen-Syntax: weitgehend beliebige Inhalte können innerhalb einer vCard durch Voranstellen von einem durch Punkt getrennten Gruppennamen gruppiert werden. Mit ist nichts bekannt, dass die Verwendung eines nichtstandardisierten ("X-")Feldes in einer Gruppe verbieten würde. Im Standard heißt es lediglich:
The group construct is used to group related properties together.
The group name is a syntactic convention used to indicate that all
property names prefaced with the same group name SHOULD be grouped
together when displayed by an application. It has no other
significance. Implementations that do not understand or support
grouping MAY simply strip off any text before a "." to the left of
the type name and present the types and values as normal.
Eine Anwendung, die das nichtstandartisierte "X-ABLABEL"-Feld unterstützt und gruppierte Elemente gesondert darstellt, kann somit einen Bezeichner darstellen. Cardbook kann das scheinbar nicht. Im TYPE-Feld dürfen offiziell nur registrierte Typen verwendet werden, daher ist es auch sinnvoll, dies nicht für Benutzer-Freitext zu nutzen (erfahrene Nutzer und Anwendungsentwickler dürfen jedoch wie üblich mit X-Prefix eigene Registrierungen vornehmen). Registrierte Typen sind mit ihren definierenden RFCs unter http://www.iana.org/assignments/vc…arameter-values aufgelistet.
Wirklich elegant ist das ganze zugegebenermaßen nicht, aber das liegt an vCard.