hcard-singular-properties

From Microformats Wiki
Revision as of 22:54, 29 June 2006 by Tantek (talk | contribs) (first draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 RFC2426 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.

Name Properties

n

The vCard represents a single directory object. Legal precedents afford a person a single given-name and family-name, thus only a single "n" property is permitted.

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".