profile-uris: Difference between revisions
AndyMabbett (talk | contribs) (Validator warning (& minor formatting)) |
(→Essentially dead: followup) |
||
(39 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
= | === Individual Microformats === | ||
;[[adr]] | |||
;[[geo]] | |||
;[[hCard]] | |||
:http://microformats.org/profile/hcard | |||
:http://ufs.cc/x/hcard | |||
;[[hAtom]] | |||
:http://microformats.org/profile/hatom | |||
:http://ufs.cc/x/hatom | |||
;[[hCalendar]] | |||
:http://microformats.org/profile/hcalendar | |||
:http://ufs.cc/x/hcalendar | |||
;[[hResume]] | |||
:http://microformats.org/profile/hresume | |||
:http://ufs.cc/x/hresume | |||
;[[hReview]] | |||
:http://microformats.org/profile/hreview | |||
:http://ufs.cc/x/hreview | |||
;[[rel-license]] | |||
:http://microformats.org/profile/rel-license | |||
:http://ufs.cc/x/rel-license | |||
;[[rel-nofollow]] | |||
:http://microformats.org/profile/rel-nofollow | |||
:http://ufs.cc/x/rel-nofollow | |||
;[[rel-tag]] | |||
:http://microformats.org/profile/rel-tag | |||
:http://ufs.cc/x/rel-tag | |||
;[[vote-links]] | |||
:http://microformats.org/profile/vote-links | |||
:http://ufs.cc/x/vote-links | |||
;[[XFN]] | |||
:http://gmpg.org/xfn/11 | |||
;[[xFolk]] | |||
:http://microformats.org/profile/xfolk | |||
:http://ufs.cc/x/xfolk | |||
;[[XMDP]] | |||
:http://gmpg.org/xmdp/1 | |||
;[[XOXO]] | |||
:http://microformats.org/profile/xoxo | |||
:http://ufs.cc/x/xoxo | |||
== How to link to a profile URI == | |||
=== HTML 4.x / XHTML 1.x === | |||
<source lang=html4strict> | |||
<head profile="http://gmpg.org/xfn/11 http://microformats.org/profile/hcard"> | |||
</source> | |||
=== (X)HTML 5 / XHTML 2 === | |||
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: | |||
<source lang=html4strict><p>This page uses | |||
<a rel="profile" href="http://gmpg.org/xfn/11">XFN 1.1</a>!</p> | |||
</source> | |||
=== Atom 1.0 === | |||
(This is a draft idea being implemented in the XML::Atom::Microformats Perl parsing module.) | |||
To indicate that an Atom <code><content></code> element contains a Microformat, give the entry a <code><link rel="profile"></code> link to the relevant profile URI. You can indicate that ''all'' entries within a feed contain a particular microformat by including <code><link rel="profile"></code> on the root Atom <code><feed></code> element. | |||
Example: | |||
<source lang=xml> | |||
<feed> | |||
<title>Example Feed</title> | |||
<link rel="profile" href="http://ufs.cc/x/hcard" /> | |||
<entry> | |||
<title>Example Entry Containing hCard</title> | |||
<content type="text/html">...</content> | |||
</entry> | |||
<entry> | |||
<title>Example Entry Containing hCard and hCalendar</title> | |||
<content type="text/html">...</content> | |||
<link rel="profile" href="http://ufs.cc/x/hcalendar" /> | |||
</entry> | |||
</feed> | |||
</source> | |||
=== Content Management Systems === | |||
For [[cms]]'s there is: | |||
* [http://www.mediawiki.org/wiki/Extension:HTML_Profiles MediaWiki extension for profile URIs] | |||
==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/swignition/ Swignition] (formerly called 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!) | |||
=== HTML::Microformats === | |||
[http://microformats.org/wiki/parsers#HTML::Microformats HTML::Microformats] uses profile URIs to toggle support for individual microformats. | |||
== Issues == | |||
When this section gets too big, move it to [[profile-uris-issues]] | |||
Some issues include: | Some issues include: | ||
<div class="discussion"> | |||
* what domain to use? Candidates include: | * what domain to use? Candidates include: | ||
** microformats.org | ** microformats.org | ||
** www.w3.org | ** www.w3.org | ||
** | ** gmpg.org | ||
** One proposal is: use www.w3.org, following [http://www.w3.org/1999/10/nsuri W3C namespace policy]. | |||
** Use [http://microformats.org/profile microformats.org] and [http://gmpg.org GMPG] profile URIs - [[User:Tantek|Tantek]] 10:17, 6 August 2009 (UTC) | |||
* what about versioning? How to keep in sync with the wiki and test materials? | * what about versioning? How to keep in sync with the wiki and test materials? | ||
** As to versioning, change the profile whenever the underlying spec changes significantly (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]. | |||
* what profile URI to use for combinations, such as [[hcard]] and [[hcalendar]]? | * 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. | ** 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. | ||
** e.g. use <code><head profile="http://microformats.org/profile/hcard http://microformats.org/profile/hcalendar"></code> | |||
* More profiles are needed. | * More profiles are needed. | ||
** Like which ones?? | |||
</div> | |||
=== 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]" | |||
when more than one profile is used, e.g. | |||
<source lang=html4strict> | |||
<head profile="http://microformats.org/profile/hcard http://microformats.org/profile/hcalendar"> | |||
</source> | |||
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. | |||
== Experimental URIs == | |||
The following includes URIs to external experimental XMDPs, and should only be used for testing purposes. | |||
=== Experimental 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. | |||
http://purl.org/uF/2008/03/ | |||
=== Experimental Individual Microformats === | |||
</ | <dl> | ||
<dt>adr | |||
<dd>(Use an hCard profile.) | |||
<dd>(Or use the combined profile.) | |||
<dt>figure | |||
<dd>http://purl.org/uF/figure/draft | |||
<dt>geo | |||
<dd>http://purl.org/uF/geo/0.9/ | |||
<dd>(Or use an hCard profile.) | |||
<dd>(Or use the combined profile.) | |||
<dt>hAtom | |||
<dd>http://purl.org/uF/hAtom/0.1/ | |||
<dt>hAudio | |||
<dd>http://purl.org/NET/haudio † | |||
<dd>http://purl.org/uF/hAudio/0.9/ † | |||
<dt>hCalendar | |||
<dd>http://purl.org/uF/hCalendar/1.0/ † | |||
<dd>http://www.w3.org/2002/12/cal/hcal ¶† | |||
<dd>http://dannyayers.com/microformats/hcalendar-profile † | |||
<dd>(Or use the combined profile.) | |||
<dt>hCard | |||
<dd>http://purl.org/uF/hCard/1.0/ † | |||
<dd>http://www.w3.org/2006/03/hcard † | |||
<dd>(Or use the combined profile.) | |||
<dt>hResume | |||
<dd>http://microformats.org/wiki/hresume-profile | |||
<dt>hReview | |||
<dd>http://www.purl.org/stuff/rev# † | |||
<dt>rel-license | |||
<dd>http://purl.org/uF/rel-license/1.0/ † | |||
<dd>(Or use the combined profile.) | |||
<dt>rel-nofollow | |||
<dd>http://purl.org/uF/rel-nofollow/1.0/ | |||
<dd>(Or use the combined profile.) | |||
<dt>rel-tag | |||
<dd>http://purl.org/uF/rel-tag/1.0/ | |||
<dd>(Or use the combined profile.) | |||
<dt>VoteLinks | |||
<dd>http://purl.org/uF/VoteLinks/1.0/ † | |||
<dd>http://tommorris.org/profiles/votelinks ¶† | |||
<dd>(Or use the combined profile.) | |||
<dt>XFN | |||
<dd>http://gmpg.org/xfn/11 | |||
<dd>http://gmpg.org/xfn/1 (older version) | |||
<dd>(Or use the combined profile.) | |||
<dt>xFolk | |||
<dd>http://microformats.org/wiki/xfolk-profile | |||
<dt>XOXO | |||
<dd>(Use the combined profile.) | |||
</dl> | |||
† = GRDDL-enabled.<br/> | |||
¶ = non-XMDP profile. | |||
=== Other Interesting Profile URIs === | |||
* [http://purl.org/uF/pattern-data-class/1 Experimental data-* class pattern] | |||
* [http://purl.org/stuff/hdoap/profile hDOAP (posh format)] ¶† | |||
== Discussion == | |||
=== Essentially dead === | |||
<div class="discussion"> | |||
* (copied from [[grddl]]): As someone who was an early proponent of GRDDL, I'd state that as of 2015-03, it is essentially dead along with any [[profile]]-based metadata systems including [[xmdp]]. The GRDDL specification relies on the profile attribute which has been deprecated in HTML5. Evidence to that effect: the [http://www.w3.org/2007/08/grddl/ W3C GRDDL reference service] is offline, no attempt has been made to build an alternative that is HTML5-compliant (such as implementing [[html5-profile]]). It is probably time to call time of death on GRDDL and [[profile-uris]]. —[[User:TomMorris|Tom Morris]] 16:52, 16 March 2015 (UTC) | |||
** The fact that I've just pruned two of the three entries in [[profile-uri-examples-in-wild]] is rather telling. —[[User:TomMorris|Tom Morris]] 16:56, 16 March 2015 (UTC) | |||
</div> | |||
==See also== | ==See also== | ||
* [[hcard-profile]] | |||
* [[hcalendar-profile]] | |||
* [[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. | ||
Latest revision as of 16:56, 16 March 2015
Individual Microformats
- adr
- geo
- hCard
- http://microformats.org/profile/hcard
- http://ufs.cc/x/hcard
- hAtom
- http://microformats.org/profile/hatom
- http://ufs.cc/x/hatom
- hCalendar
- http://microformats.org/profile/hcalendar
- http://ufs.cc/x/hcalendar
- hResume
- http://microformats.org/profile/hresume
- http://ufs.cc/x/hresume
- hReview
- http://microformats.org/profile/hreview
- http://ufs.cc/x/hreview
- rel-license
- http://microformats.org/profile/rel-license
- http://ufs.cc/x/rel-license
- rel-nofollow
- http://microformats.org/profile/rel-nofollow
- http://ufs.cc/x/rel-nofollow
- rel-tag
- http://microformats.org/profile/rel-tag
- http://ufs.cc/x/rel-tag
- vote-links
- http://microformats.org/profile/vote-links
- http://ufs.cc/x/vote-links
- XFN
- http://gmpg.org/xfn/11
- xFolk
- http://microformats.org/profile/xfolk
- http://ufs.cc/x/xfolk
- XMDP
- http://gmpg.org/xmdp/1
- XOXO
- http://microformats.org/profile/xoxo
- http://ufs.cc/x/xoxo
How to link to a profile URI
HTML 4.x / XHTML 1.x
<head profile="http://gmpg.org/xfn/11 http://microformats.org/profile/hcard">
(X)HTML 5 / XHTML 2
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>
Atom 1.0
(This is a draft idea being implemented in the XML::Atom::Microformats Perl parsing module.)
To indicate that an Atom <content>
element contains a Microformat, give the entry a <link rel="profile">
link to the relevant profile URI. You can indicate that all entries within a feed contain a particular microformat by including <link rel="profile">
on the root Atom <feed>
element.
Example:
<feed>
<title>Example Feed</title>
<link rel="profile" href="http://ufs.cc/x/hcard" />
<entry>
<title>Example Entry Containing hCard</title>
<content type="text/html">...</content>
</entry>
<entry>
<title>Example Entry Containing hCard and hCalendar</title>
<content type="text/html">...</content>
<link rel="profile" href="http://ufs.cc/x/hcalendar" />
</entry>
</feed>
Content Management Systems
For cms's there is:
Implementations
GRDDL
Tools that support GRDDL use profiles to parse microformats.
Cognition
In "strict mode", Swignition (formerly called 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!)
HTML::Microformats
HTML::Microformats uses profile URIs to toggle support for individual microformats.
Issues
When this section gets too big, move it to profile-uris-issues Some issues include:
- what domain to use? Candidates include:
- microformats.org
- www.w3.org
- gmpg.org
- One proposal is: use www.w3.org, following W3C namespace policy.
- Use microformats.org and GMPG profile URIs - Tantek 10:17, 6 August 2009 (UTC)
- what about versioning? How to keep in sync with the wiki and test materials?
- As to versioning, change the profile whenever the underlying spec changes significantly (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.
- 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.
- e.g. use
<head profile="http://microformats.org/profile/hcard http://microformats.org/profile/hcalendar">
- More profiles are needed.
- Like which ones??
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://microformats.org/profile/hcard http://microformats.org/profile/hcalendar">
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.
Experimental URIs
The following includes URIs to external experimental XMDPs, and should only be used for testing purposes.
Experimental 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.
Experimental 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
- hReview
- http://www.purl.org/stuff/rev# †
- 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
Discussion
Essentially dead
- (copied from grddl): As someone who was an early proponent of GRDDL, I'd state that as of 2015-03, it is essentially dead along with any profile-based metadata systems including xmdp. The GRDDL specification relies on the profile attribute which has been deprecated in HTML5. Evidence to that effect: the W3C GRDDL reference service is offline, no attempt has been made to build an alternative that is HTML5-compliant (such as implementing html5-profile). It is probably time to call time of death on GRDDL and profile-uris. —Tom Morris 16:52, 16 March 2015 (UTC)
- The fact that I've just pruned two of the three entries in profile-uri-examples-in-wild is rather telling. —Tom Morris 16:56, 16 March 2015 (UTC)
See also
- hcard-profile
- hcalendar-profile
- Profile URI examples, in the wild
- faqs-for-rdf for discussion of connecting microformats to URIs.