profile-uris: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(clean up page, move the actual URIs closer to top of page, add "how to", add XMDP for "figure")
 
(18 intermediate revisions by 7 users not shown)
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].
==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.
http://purl.org/uF/2008/03/
=== Individual Microformats ===
=== 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


<dl>
== How to link to a profile URI ==
<dt>adr</dt>
=== HTML 4.x / XHTML 1.x ===
<dd>(Use an hCard profile.)</dd>
<source lang=html4strict>
<dd>(Or use the combined profile.)</dd>
  <head profile="http://gmpg.org/xfn/11 http://microformats.org/profile/hcard">
<dt>figure</dt>
</source>
<dd>http://purl.org/uF/figure/draft</dd>
<dt>geo</dt>
<dd>http://purl.org/uF/geo/0.9/</dd>
<dd>(Or use an hCard profile.)</dd>
<dd>(Or use the combined profile.)</dd>
<dt>hAtom</dt>
<dd>http://purl.org/uF/hAtom/0.1/</dd>
<dt>hAudio</dt>
<dd>http://purl.org/NET/haudio &dagger;</dd>
<dd>http://purl.org/uF/hAudio/0.9/ &dagger;</dd>
<dt>hCalendar</dt>
<dd>http://purl.org/uF/hCalendar/1.0/ &dagger;</dd>
<dd>http://www.w3.org/2002/12/cal/hcal &para;&dagger;</dd>
<dd>http://dannyayers.com/microformats/hcalendar-profile &dagger;</dd>
<dd>(Or use the combined profile.)</dd>
<dt>hCard</dt>
<dd>http://purl.org/uF/hCard/1.0/ &dagger;</dd>
<dd>http://www.w3.org/2006/03/hcard &dagger;</dd>
<dd>(Or use the combined profile.)</dd>
<dt>hResume</dt>
<dd>http://microformats.org/wiki/hresume-profile</dd>
<dt>rel-license</dt>
<dd>http://purl.org/uF/rel-license/1.0/ &dagger;</dd>
<dd>(Or use the combined profile.)</dd>
<dt>rel-nofollow</dt>
<dd>http://purl.org/uF/rel-nofollow/1.0/</dd>
<dd>(Or use the combined profile.)</dd>
<dt>rel-tag</dt>
<dd>http://purl.org/uF/rel-tag/1.0/</dd>
<dd>(Or use the combined profile.)</dd>
<dt>VoteLinks</dt>
<dd>http://purl.org/uF/VoteLinks/1.0/ &dagger;</dd>
<dd>http://tommorris.org/profiles/votelinks &para;&dagger;</dd>
<dd>(Or use the combined profile.)</dd>
<dt>XFN</dt>
<dd>http://gmpg.org/xfn/11</dd>
<dd>http://gmpg.org/xfn/1 (older version)</dd>
<dd>(Or use the combined profile.)</dd>
<dt>xFolk</dt>
<dd>http://microformats.org/wiki/xfolk-profile</dd>
<dt>XOXO</dt>
<dd>(Use the combined profile.)</dd>
</dl>
&dagger; = GRDDL-enabled.<br/>
&para; = non-XMDP profile.


=== Other Interesting Profile URIs ===
=== (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>).


* [http://purl.org/uF/pattern-data-class/1 Experimental data-* class pattern]
Example:
<source lang=html4strict><p>This page uses
<a rel="profile" href="http://gmpg.org/xfn/11">XFN 1.1</a>!</p>
</source>


== How to link to a profile URI ==
=== Atom 1.0 ===


=== <code><nowiki><head profile></nowiki></code> ===
(This is a draft idea being implemented in the XML::Atom::Microformats Perl parsing module.)


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.
To indicate that an Atom <code>&lt;content></code> element contains a Microformat, give the entry a <code>&lt;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>&lt;link rel="profile"></code> on the root Atom <code>&lt;feed></code> element.  


Example:
Example:
<pre><nowiki><html>
<source lang=xml>
   <head profile="http://example.com/profile1 http://example.net/profile2">
<feed>
     ...</nowiki></pre>
  <title>Example Feed</title>
 
   <link rel="profile" href="http://ufs.cc/x/hcard" />
=== <code>rel="profile"</code> ===
  <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>


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>).
=== Content Management Systems ===
 
For [[cms]]'s there  is:
Example:
* [http://www.mediawiki.org/wiki/Extension:HTML_Profiles MediaWiki extension for profile URIs]
<pre><nowiki><p>This page uses
<a rel="profile" href="http://gmpg.org/xfn/11">XFN 1.1</a>!</p></nowiki></pre>


==Implementations==
==Implementations==
=== GRDDL ===
=== GRDDL ===
Tools that support [http://www.w3.org/2001/sw/grddl-wg/ GRDDL] use profiles to parse microformats.
Tools that support [http://www.w3.org/2001/sw/grddl-wg/ GRDDL] use profiles to parse microformats.


=== Cognition===
=== 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 ===


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!)
[http://microformats.org/wiki/parsers#HTML::Microformats HTML::Microformats] uses profile URIs to toggle support for individual microformats.


== Issues ==
== 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
** xmdp.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>&lt;head profile="http://microformats.org/profile/hcard http://microformats.org/profile/hcalendar"&gt;</code>
* More profiles are needed.
* More profiles are needed.
 
** Like which ones??
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].
</div>


=== 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]"  
when more than one profile is used, e.g.  
when more than one profile is used, e.g.  


<code><head profile="http://www.ietf.org/rfc/rfc2731.txt http://www.w3.org/2006/03/hcard"></code>
<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>&lt;a href&gt;</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>&lt;a href&gt;</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 &dagger;
<dd>http://purl.org/uF/hAudio/0.9/ &dagger;
<dt>hCalendar
<dd>http://purl.org/uF/hCalendar/1.0/ &dagger;
<dd>http://www.w3.org/2002/12/cal/hcal &para;&dagger;
<dd>http://dannyayers.com/microformats/hcalendar-profile &dagger;
<dd>(Or use the combined profile.)
<dt>hCard
<dd>http://purl.org/uF/hCard/1.0/ &dagger;
<dd>http://www.w3.org/2006/03/hcard &dagger;
<dd>(Or use the combined profile.)
<dt>hResume
<dd>http://microformats.org/wiki/hresume-profile
<dt>hReview
<dd>http://www.purl.org/stuff/rev# &dagger;
<dt>rel-license
<dd>http://purl.org/uF/rel-license/1.0/ &dagger;
<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/ &dagger;
<dd>http://tommorris.org/profiles/votelinks &para;&dagger;
<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>
&dagger; = GRDDL-enabled.<br/>
&para; = 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)] &para;&dagger;
== 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.
* [[hcard-profile]].

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:

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.

http://purl.org/uF/2008/03/

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)

See also