microdata: Difference between revisions
(added link to microdata spec) |
(move microdata summary from HTML5 page to here, expand some summary uses, note as alternative to poshformats) |
||
Line 1: | Line 1: | ||
<entry-title>microdata</entry-title> | <entry-title>microdata</entry-title> | ||
<dfn style="font-style:italic;font-weight:bold">microdata</dfn> is an extension to [[HTML5]] that provides another way to embed [[microformats]] and [[poshformats]]. | <dfn style="font-style:italic;font-weight:bold">microdata</dfn> is an extension to [[HTML5]] that provides another way to embed [[microformats]] and [[poshformats]] vocabularies. | ||
Specification: http://www.w3.org/TR/microdata/ | Specification: http://www.w3.org/TR/microdata/ | ||
== summary == | |||
microdata consists of a set of attribute extensions to [[HTML5]]: | |||
* <code>itemprop</code> attribute is a more specific version of <code>class</code>, for field names | |||
* <del><code>subject</code> attribute allows semantically linking within the page. Conceptually similar to the [[include-pattern]].</del> | |||
* <code>itemref</code> attribute allows including properties elsewhere on the page that are not descendants of <code>itemscope</code>. Takes space-separated ids (for example <code>itemref="address phone"</code> would include the elements with <code>id="address"</code> and <code>id="phone"</code>). Conceptually similar to the [[include-pattern]]. | |||
* <code>content</code> attribute on the <code>meta</code> element can be used to include invisible data that is not part of the content. As current browsers move <code>meta</code> inside <code><head></code>, make sure to include via <code>itemref</code>. Conceptually similar to the 'value-title' feature of the [[value-class-pattern]]. | |||
* <code>itemscope</code> attribute identifies blocks to be marked as structured data. Conceptually similar to the [[mfo]] brainstorming. | |||
* <code>itemtype</code> attribute to specify the type for an item (for example: <code><nowiki>itemtype="http://microformats.org/profile/hcard"</nowiki></code>) | |||
For common semantics on the web (e.g. [[hcard|people+organizations]], [[hcalendar|events]], [[hreview|reviews]], [[hatom|syndicated content]]), [[microformats]] are still simpler and easier than [[microdata]], as well already well implemented across numerous tools and services. | |||
For uncommon, rare, experimental, or one-off semantics, [[microdata]] offers a simpler and easier to understand solution than alternatives that use [[namespaces]] like XML/RDF/RDFa. Developers should consider [[microdata]] as another way of expressing semantics that they may otherwise use [[poshformats]] for. | |||
== history == | == history == | ||
Line 16: | Line 28: | ||
- [[User:Tantek|Tantek]] 17:42, 22 August 2009 (UTC) | - [[User:Tantek|Tantek]] 17:42, 22 August 2009 (UTC) | ||
== microdata vocabularies == | |||
Separate from the [[microdata]] specification, there are a number of microdata vocabularies, based on microformats and previous formats like vCard and iCalendar. | |||
=== microdata vCard vocabulary === | |||
Formerly documented as a separate specification at <nowiki>http://dev.w3.org/html5/mdvcard/</nowiki>, the microdata vCard vocabulary is currently available as [http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#vcard part of WHATWG additions to HTML5]. | |||
* Recommendation: use [[hCard]] directly instead, taking into account: | |||
** the [[hcard-faq|hCard FAQ]] and | |||
** [[hcard-issues-resolved|resolved]]+[[hcard-issues-closed|closed issues]]. | |||
hCard 1.0.1 (under development) is incorporating these errata. | |||
Using hCard will produce Google Rich Snippets, as well as work with [[yahoo-search]], and [[Firefox]] [[Operator]] and other tools. | |||
Note: | |||
* Avoid the "microdata vCard vocabulary" as in many ways it is an out-of-date fork/snapshot of hCard, even though portions of it appear to based directly on the vCard RFC. as well. | |||
* Avoid Google’s Rich Snippets vocabularies ([http://www.data-vocabulary.org/Person/ Person] and [http://www.data-vocabulary.org/Organization/ Organization]), which are also forks of hCard/vCard, and are only implemented by Google currently. | |||
=== microdata vEvent vocabulary === | |||
Formerly documented as a separate specification at <nowiki>http://dev.w3.org/html5/mdvevent/</nowiki>, the microdata vEvent vocabulary is currently available as [http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#vevent part of WHATWG additions to HTML5]. | |||
* Recommendation: use [[hCalendar]] directly instead, taking into account: | |||
** the [[hcalendar-faq|hCalendar FAQ]] and | |||
** [[hcalendar-issues-resolved|resolved]]+[[hcalendar-issues-closed|closed issues]]. | |||
hCalendar 1.0.1 (under development) is incorporating these errata. | |||
Using hCalendar will produce Google Rich Snippets, as well as work with [[yahoo-search]], and [[Firefox]] [[Operator]] and other tools. | |||
Note: | |||
* Avoid the "microdata vEvent vocabulary" as in many ways it is an out-of-date fork/snapshot of hCalendar's vevent root class name and applicable properties, though portions of it even though portions of it appear to based directly on the iCalendar RFC. | |||
* Avoid Google’s Rich Snippets vocabulary ([http://www.data-vocabulary.org/Event/ Event]), which is also a fork of hCalendar/iCalendar, and are only implemented by Google currently. | |||
=== microdata Licensing Works vocabulary === | |||
Formerly documented as a separate specification at <nowiki>http://dev.w3.org/html5/mdwork/</nowiki>, the microdata Licensing Works vocabulary is currently available as [http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#licensing-works part of WHATWG additions to HTML5]. | |||
The [[licensing]] microformat work provides a potential microformat alternative to the microdata Licensing Works vocabulary. | |||
Please see: [[licensing-brainstorming]] and provide feedback. | |||
== microformats in microdata == | == microformats in microdata == | ||
Line 31: | Line 83: | ||
== see also == | == see also == | ||
* [[HTML5]] | * [[HTML5]] | ||
* [[poshformats]] | |||
* [[principles]] | * [[principles]] | ||
* [[XMDP]] | * [[XMDP]] |
Revision as of 04:28, 13 July 2010
<entry-title>microdata</entry-title>
microdata is an extension to HTML5 that provides another way to embed microformats and poshformats vocabularies.
Specification: http://www.w3.org/TR/microdata/
summary
microdata consists of a set of attribute extensions to HTML5:
itemprop
attribute is a more specific version ofclass
, for field namessubject
attribute allows semantically linking within the page. Conceptually similar to the include-pattern.itemref
attribute allows including properties elsewhere on the page that are not descendants ofitemscope
. Takes space-separated ids (for exampleitemref="address phone"
would include the elements withid="address"
andid="phone"
). Conceptually similar to the include-pattern.content
attribute on themeta
element can be used to include invisible data that is not part of the content. As current browsers movemeta
inside<head>
, make sure to include viaitemref
. Conceptually similar to the 'value-title' feature of the value-class-pattern.itemscope
attribute identifies blocks to be marked as structured data. Conceptually similar to the mfo brainstorming.itemtype
attribute to specify the type for an item (for example:itemtype="http://microformats.org/profile/hcard"
)
For common semantics on the web (e.g. people+organizations, events, reviews, syndicated content), microformats are still simpler and easier than microdata, as well already well implemented across numerous tools and services.
For uncommon, rare, experimental, or one-off semantics, microdata offers a simpler and easier to understand solution than alternatives that use namespaces like XML/RDF/RDFa. Developers should consider microdata as another way of expressing semantics that they may otherwise use poshformats for.
history
microdata didn't happen overnight. Much of the design and simplicity of microdata is based on years of work on microformats principles deliberately designed to help guide and create simpler, more usable and accessible solutions. It happened so quickly because Ian Hickson designed microdata based upon years of work by both the microformats community, and the concept of using reverse-domain-names as unique qualifiers (popularized perhaps by Java programming language naming conventions).
potential
I think there are some very clever ideas in general purpose microdata, it has a lot of potential, and despite being a bit more abstract than microformats, still much simpler/easier to explain to web designers/developers/programmers than any form of RDF.
General microdata may be the right solution to the general purpose data representation problem that microformats specifically chose not to work on.
- Tantek 17:42, 22 August 2009 (UTC)
microdata vocabularies
Separate from the microdata specification, there are a number of microdata vocabularies, based on microformats and previous formats like vCard and iCalendar.
microdata vCard vocabulary
Formerly documented as a separate specification at http://dev.w3.org/html5/mdvcard/, the microdata vCard vocabulary is currently available as part of WHATWG additions to HTML5.
- Recommendation: use hCard directly instead, taking into account:
- the hCard FAQ and
- resolved+closed issues.
hCard 1.0.1 (under development) is incorporating these errata.
Using hCard will produce Google Rich Snippets, as well as work with yahoo-search, and Firefox Operator and other tools.
Note:
- Avoid the "microdata vCard vocabulary" as in many ways it is an out-of-date fork/snapshot of hCard, even though portions of it appear to based directly on the vCard RFC. as well.
- Avoid Google’s Rich Snippets vocabularies (Person and Organization), which are also forks of hCard/vCard, and are only implemented by Google currently.
microdata vEvent vocabulary
Formerly documented as a separate specification at http://dev.w3.org/html5/mdvevent/, the microdata vEvent vocabulary is currently available as part of WHATWG additions to HTML5.
- Recommendation: use hCalendar directly instead, taking into account:
- the hCalendar FAQ and
- resolved+closed issues.
hCalendar 1.0.1 (under development) is incorporating these errata.
Using hCalendar will produce Google Rich Snippets, as well as work with yahoo-search, and Firefox Operator and other tools.
Note:
- Avoid the "microdata vEvent vocabulary" as in many ways it is an out-of-date fork/snapshot of hCalendar's vevent root class name and applicable properties, though portions of it even though portions of it appear to based directly on the iCalendar RFC.
- Avoid Google’s Rich Snippets vocabulary (Event), which is also a fork of hCalendar/iCalendar, and are only implemented by Google currently.
microdata Licensing Works vocabulary
Formerly documented as a separate specification at http://dev.w3.org/html5/mdwork/, the microdata Licensing Works vocabulary is currently available as part of WHATWG additions to HTML5.
The licensing microformat work provides a potential microformat alternative to the microdata Licensing Works vocabulary.
Please see: licensing-brainstorming and provide feedback.
microformats in microdata
For those that are ok with going with an HTML5 only solution, it may be interesting to consider and document a consistent way to use microformats and microformats vocabulary in microdata.
(needs expansion with examples) ...
alternatives
Since the introduction of XMDP, web authors have been able to define their specific uses of rel attribute values and class names.
(needs expansion with examples) ...