profile-uris: Difference between revisions
WebOrganics (talk | contribs) |
(clean up page, move the actual URIs closer to top of page, add "how to", add XMDP for "figure") |
||
Line 1: | Line 1: | ||
<h1>Profile URIs</h1> | |||
{{TOC-right}} | |||
== Introduction == | |||
In [[hcalendar-issues]], it is ACCEPTED that each microformat should have a profile URI, like [http://gmpg.org/xfn/11 the XFN profile]. | In [[hcalendar-issues]], it is ACCEPTED that each microformat should have a profile URI, like [http://gmpg.org/xfn/11 the XFN profile]. | ||
==Known URIs== | |||
This section lists known profile URIs for microformats. To promote cacheability and recognisability of profile URIs, authors {{should}} avoid minting new URIs for existing microformats, and {{should}} re-use existing well-known profile URIs. | |||
=== Combined Profile === | === Combined Profile === | ||
Line 30: | Line 22: | ||
<dd>(Use an hCard profile.)</dd> | <dd>(Use an hCard profile.)</dd> | ||
<dd>(Or use the combined profile.)</dd> | <dd>(Or use the combined profile.)</dd> | ||
<dt>figure</dt> | |||
<dd>http://purl.org/uF/figure/draft</dd> | |||
<dt>geo</dt> | <dt>geo</dt> | ||
<dd>http://purl.org/uF/geo/0.9/</dd> | <dd>http://purl.org/uF/geo/0.9/</dd> | ||
Line 65: | Line 59: | ||
<dt>XFN</dt> | <dt>XFN</dt> | ||
<dd>http://gmpg.org/xfn/11</dd> | <dd>http://gmpg.org/xfn/11</dd> | ||
<dd>http://gmpg.org/xfn/1 (older version)</dd> | |||
<dd>(Or use the combined profile.)</dd> | <dd>(Or use the combined profile.)</dd> | ||
<dt>xFolk</dt> | <dt>xFolk</dt> | ||
Line 79: | Line 74: | ||
* [http://purl.org/uF/pattern-data-class/1 Experimental data-* class pattern] | * [http://purl.org/uF/pattern-data-class/1 Experimental data-* class pattern] | ||
= | == How to link to a profile URI == | ||
== Cognition== | === <code><nowiki><head profile></nowiki></code> === | ||
In "strict mode", [http://buzzword.org.uk/cognition/ Cognition] refuses to parse any microformats where the profile URI has not | |||
This is the original method of linking to profile URIs and is currently supported by the greatest number of tools. This is valid in HTML 4 and XHTML 1.x, but is not valid in Atom (as Atom has no <code><nowiki><head></nowiki></code> element) or current drafts of HTML 5 and XHTML 2. | |||
Example: | |||
<pre><nowiki><html> | |||
<head profile="http://example.com/profile1 http://example.net/profile2"> | |||
...</nowiki></pre> | |||
=== <code>rel="profile"</code> === | |||
An alternative method is provided for people using markup languages which do not support <code><nowiki><head profile></nowiki></code>. Add <code>rel="profile"</code> to either a visible link (<code><nowiki><a></nowiki></code>) or hidden link (<code><nowiki><link></nowiki></code>). | |||
Example: | |||
<pre><nowiki><p>This page uses | |||
<a rel="profile" href="http://gmpg.org/xfn/11">XFN 1.1</a>!</p></nowiki></pre> | |||
==Implementations== | |||
=== GRDDL === | |||
Tools that support [http://www.w3.org/2001/sw/grddl-wg/ GRDDL] use profiles to parse microformats. | |||
=== Cognition=== | |||
In "strict mode", [http://buzzword.org.uk/cognition/ Cognition] refuses to parse any microformats where the profile URI has not been explicitly declared on the page. (It will however, still parse microformats for which there exists no profile URI!) | |||
== Issues == | |||
Some issues include: | |||
* what domain to use? Candidates include: | |||
** microformats.org | |||
** www.w3.org | |||
** xmdp.org | |||
* what about versioning? How to keep in sync with the wiki and test materials? | |||
* what profile URI to use for combinations, such as [[hcard]] and [[hcalendar]]? | |||
** note [http://www.w3.org/TR/html401/struct/global.html#adef-profile HTML4.01] states "that one or more meta data profiles, [are] separated by white space"; though it's simpler for authors if they can just use one profile URI. | |||
* More profiles are needed. | |||
One proposal is: use www.w3.org, following [http://www.w3.org/1999/10/nsuri W3C namespace policy]. As to versioning, change the profile whenever the wiki changes (within some reasonable latency, say, a couple weeks or a month). For example: [http://www.w3.org/2006/03/hcard an hCard Profile at w3.org], and discussion: [http://microformats.org/discuss/mail/microformats-dev/2006-March/000068.html an hCard profile that seems to work with GRDDL]. | |||
=Validator warning= | === Validator warning === | ||
Due to [http://sourceforge.net/tracker/index.php?func=detail&aid=1264455&group_id=27659&atid=390963 inconsistent wording of the HTML specs], HTMLTidy (and other tools?) give "[http://sourceforge.net/mailarchive/forum.php?thread_name=oytAFzxaKxiFFwpx%40pigsonthewing.org.uk&forum_name=htmlvalidator-help Warning: <head> escaping malformed URI reference]" | Due to [http://sourceforge.net/tracker/index.php?func=detail&aid=1264455&group_id=27659&atid=390963 inconsistent wording of the HTML specs], HTMLTidy (and other tools?) give "[http://sourceforge.net/mailarchive/forum.php?thread_name=oytAFzxaKxiFFwpx%40pigsonthewing.org.uk&forum_name=htmlvalidator-help Warning: <head> escaping malformed URI reference]" | ||
Line 93: | Line 127: | ||
W3C HTML validator has very poor validation of attributes and is technically unable to check this case. The HTML DTD however defines <code>profile</code> attribute as <code>%URI</code> (it's an alias for <code>CDATA</code>), same as <code><a href></code> attribute. | W3C HTML validator has very poor validation of attributes and is technically unable to check this case. The HTML DTD however defines <code>profile</code> attribute as <code>%URI</code> (it's an alias for <code>CDATA</code>), same as <code><a href></code> attribute. | ||
=See also= | ==See also== | ||
* [[profile-uri-examples-in-wild|Profile URI examples, in the wild]] | * [[profile-uri-examples-in-wild|Profile URI examples, in the wild]] | ||
* [[faqs-for-rdf]] for discussion of connecting microformats to URIs. | * [[faqs-for-rdf]] for discussion of connecting microformats to URIs. | ||
* [[hcard-profile]]. | * [[hcard-profile]]. |
Revision as of 17:35, 7 September 2008
Profile URIs
Introduction
In hcalendar-issues, it is ACCEPTED that each microformat should have a profile URI, like the XFN profile.
Known URIs
This section lists known profile URIs for microformats. To promote cacheability and recognisability of profile URIs, authors SHOULD avoid minting new URIs for existing microformats, and SHOULD re-use existing well-known profile URIs.
Combined Profile
The following URL covers all non-draft Microformats as of March 2008, except XMDP. You can mix and match it with other XMDP profiles for new/draft microformats.
Individual Microformats
- adr
- (Use an hCard profile.)
- (Or use the combined profile.)
- figure
- http://purl.org/uF/figure/draft
- geo
- http://purl.org/uF/geo/0.9/
- (Or use an hCard profile.)
- (Or use the combined profile.)
- hAtom
- http://purl.org/uF/hAtom/0.1/
- hAudio
- http://purl.org/NET/haudio †
- http://purl.org/uF/hAudio/0.9/ †
- hCalendar
- http://purl.org/uF/hCalendar/1.0/ †
- http://www.w3.org/2002/12/cal/hcal ¶†
- http://dannyayers.com/microformats/hcalendar-profile †
- (Or use the combined profile.)
- hCard
- http://purl.org/uF/hCard/1.0/ †
- http://www.w3.org/2006/03/hcard †
- (Or use the combined profile.)
- hResume
- http://microformats.org/wiki/hresume-profile
- rel-license
- http://purl.org/uF/rel-license/1.0/ †
- (Or use the combined profile.)
- rel-nofollow
- http://purl.org/uF/rel-nofollow/1.0/
- (Or use the combined profile.)
- rel-tag
- http://purl.org/uF/rel-tag/1.0/
- (Or use the combined profile.)
- VoteLinks
- http://purl.org/uF/VoteLinks/1.0/ †
- http://tommorris.org/profiles/votelinks ¶†
- (Or use the combined profile.)
- XFN
- http://gmpg.org/xfn/11
- http://gmpg.org/xfn/1 (older version)
- (Or use the combined profile.)
- xFolk
- http://microformats.org/wiki/xfolk-profile
- XOXO
- (Use the combined profile.)
† = GRDDL-enabled.
¶ = non-XMDP profile.
Other Interesting Profile URIs
How to link to a profile URI
<head profile>
This is the original method of linking to profile URIs and is currently supported by the greatest number of tools. This is valid in HTML 4 and XHTML 1.x, but is not valid in Atom (as Atom has no <head>
element) or current drafts of HTML 5 and XHTML 2.
Example:
<html> <head profile="http://example.com/profile1 http://example.net/profile2"> ...
rel="profile"
An alternative method is provided for people using markup languages which do not support <head profile>
. Add rel="profile"
to either a visible link (<a>
) or hidden link (<link>
).
Example:
<p>This page uses <a rel="profile" href="http://gmpg.org/xfn/11">XFN 1.1</a>!</p>
Implementations
GRDDL
Tools that support GRDDL use profiles to parse microformats.
Cognition
In "strict mode", Cognition refuses to parse any microformats where the profile URI has not been explicitly declared on the page. (It will however, still parse microformats for which there exists no profile URI!)
Issues
Some issues include:
- what domain to use? Candidates include:
- microformats.org
- www.w3.org
- xmdp.org
- what about versioning? How to keep in sync with the wiki and test materials?
- what profile URI to use for combinations, such as hcard and hcalendar?
- note HTML4.01 states "that one or more meta data profiles, [are] separated by white space"; though it's simpler for authors if they can just use one profile URI.
- More profiles are needed.
One proposal is: use www.w3.org, following W3C namespace policy. As to versioning, change the profile whenever the wiki changes (within some reasonable latency, say, a couple weeks or a month). For example: an hCard Profile at w3.org, and discussion: an hCard profile that seems to work with GRDDL.
Validator warning
Due to inconsistent wording of the HTML specs, HTMLTidy (and other tools?) give "Warning: <head> escaping malformed URI reference" when more than one profile is used, e.g.
<head profile="http://www.ietf.org/rfc/rfc2731.txt http://www.w3.org/2006/03/hcard">
W3C HTML validator has very poor validation of attributes and is technically unable to check this case. The HTML DTD however defines profile
attribute as %URI
(it's an alias for CDATA
), same as <a href>
attribute.
See also
- Profile URI examples, in the wild
- faqs-for-rdf for discussion of connecting microformats to URIs.
- hcard-profile.