profile-uris: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
(Resolved multiple profile URI issue from gmpg.org, added issue of lack of profiles)
 
(45 intermediate revisions by 13 users not shown)
Line 1: Line 1:
In [[hcalendar-issues]], it is ACCEPTED that each microformat should have a profile URI, like [[http://gmpg.org/xfn/11 the XFN profile]].
=== 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>&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:
<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
** xmdp.org
** gmpg.org
* what about versioning? how to keep in sync with the wiki and test materials?
** 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?
** 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]]?
** Resolved: [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."
** 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??
</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>&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.


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].
=== 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;


See also:  
== 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==
* [[hcard-profile]]
* [[hcalendar-profile]]
* [[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