From Microformats Wiki
Jump to navigation Jump to search

X2V is one of the main microformats implementations. The code is managed in an x2v hg repository. Brian Suda and DanC are starting to track issues here. See #microformats discussion 20 Dec.

See also: hcard-tests, hcard-issues, @@likewise for hCalendar, hAtom...

tips for reporting X2V issues

Please provide:

  1. The URL of the page you are attempting to convert with X2V
  2. An X2V conversion URL that takes that URL in (1) and escapes it and attempts to convert it
  3. The problematic line(s) of .vcf or .ics code
  4. The expected line(s) of .vcf or .ics code
  5. A link/citation to the respective hCard or hCalendar spec (or other related document like hcard-parsing or icalendar-implementations) which documents the expected behavior.

If you can provide all five of these items in your issue/bug report then it will greatly accelerate the X2V developer(s) tracking down (reproducing) the problem, and hopefully fixing it.

open issues

`<section>` is not recognized as a valid vcard container

x2v does not recognize vcards if their containing element is an HTML5 `<section>` element.

Failing code:

   <section class='vcard'>

However, if the element is a `<div>`, all is well.

Example: jeffreydking.com[1] has a vcard that validates[2], but is not found[3] by x2v.


X2V's php does not correctly check for content-encodings.

  • Please provide URL to example with content-encoding that X2V supposedly does not correctly check. Suggest REJECT NO EXAMPLE GIVEN. Tantek 07:56, 25 June 2009 (UTC)

FN ORG incomplete

FN == ORG (i don't think) is complete

  • Please provide URL to example that shows X2V's implementation of FN == ORG is incomplete. Suggest REJECT NO EXAMPLE GIVEN. Tantek 07:56, 25 June 2009 (UTC)

XSLT case-conversion on Nodes

Firefox seems to convert nodes to uppercase when using local-name(.) and name(.). This can be solved by switching to self::

The downside is that then it will not extract the node name from ANY namespace, but a specific one.

language for X-WR-CALNAME


The X-WR-CALNAME is a widely supported extension property of VCALENDAR that stores the calendar title. It does not currently have a LANGUAGE attribute. It's value is meant to be human readable, so maybe it should.


<html lang=en>
    <title>My calendar</title>
  <body class=vcalendar>...</body>

yields something like

X-WR-CALNAME:My calendar


The second line should read X-WR-CALNAME;LANGUAGE=en:My calendar

No support for AGENT

Doesn't seem to support agent at all -- either as a human-readable string nor as a nested hCard. E-mail addresses, phone numbers, etc which are part of the agent's vcard are treated as belonging to the main contact.

Test: http://examples.tobyinkster.co.uk/hcard

What is the expected .vcf output? Tantek

resolved issues


X2V failed trailing slash in rel-tag (this is now fixed).

see also