hcard-singular-properties
hCard singular properties
This is an explanation of the list of singular properties in hCard.
The analysis here is derived from a thorough reading and analysis of the specific property definitions in the vCard RFC 2426 spec, along with reasoning using physics, and legal name precedents.
This summary is provided because that thorough reading and analysis takes a long time, and while repeatable, is not something that is worth encumbering other developers with.
- Editor/Author
- Tantek Çelik
- Contributors
- Tantek Çelik, Ryan King
Name Properties
n
The vCard represents a single directory object. Legal precedents afford a person a single given-name (with multiple additional-name(s)) and single family-name, thus, only a single "n" property is permitted.
Possible exceptions that may deserve further research:
- UK. In the UK, a Change of Name Deed will not change the name on the person's certificate of birth. For instance, when applying for a passport, both the Birth Certificate and the Change of Name Deed would need to be presented as documents of identity. [1]. However even in this case, the passport received from that application process will still have *a* given-name as perhaps the first of many, and thus it is that first passport given-name that is taken as *the* given-name in hCard, and the remaining given-name(s) if any are simply additional-name(s) in the vCard/hCard vernacular.
fn
A person has only one "best" / most preferred way of formatting their name, and legally organizations have only a single name, thus "fn" is singular.
sort-string
When sorting a name, it doesn't make sense for it to have more than way of sorting it, thus "sort-string" must be singular.
Physical Properties
bday
A person only has a single physical birthday (reincarnation cannot be scientifically substantiated and thus constitues the creation of a new directory object rather than the re-birth of an existing object, and being "born again" is not the physical event that "bday" represents). Thus "bday" is singular.
geo
The "geo" property represents the person's actual location, not a coordinate approximation of an "adr". A person cannot be in more than one location at a time. Thus a person can only have a single "geo" property.
tz
The "tz" property is the same. A person can only be in a single time zone at a time.
Entire vCard Properties
class
The "class" property indicates the confidentiality/access classification of the hCard as a whole, and thus it only makes sense for there to be one (or rather, makes no sense for there to be more than one).
rev
The "rev" property represents the datetime of the revision of the hCard as a whole, thus it doesn't make sense for there to be more than one.
uid
The "uid" property applies to the hCard as a whole. It doesn't make sense for an hCard to have more than one "uid".