Add Ivan as author, and create ED version for 3/20 possible publication date.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Thu, 01 Mar 2012 11:25:12 -0800
changeset 104 a78c9c9f7e74
parent 103 070cc10dd35d
child 105 eabf7951987f
Add Ivan as author, and create ED version for 3/20 possible publication date.
ED/microdata-rdf/20120320/index.html
microdata-rdf/index.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ED/microdata-rdf/20120320/index.html	Thu Mar 01 11:25:12 2012 -0800
@@ -0,0 +1,1806 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
+<html lang="en" dir="ltr">
+<head>
+<title>Microdata to RDF</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<!--
+  === NOTA BENE ===
+  For the three scripts below, if your spec resides on dev.w3 you can check them
+  out in the same tree and use relative links so that they'll work offline,
+  -->
+
+
+<style type="text/css">
+.diff { font-weight:bold; color:#0a3; }
+ol.algorithm { counter-reset:numsection; list-style-type: none; }
+ol.algorithm li { margin: 0.5em 0; }
+ol.algorithm li:before {
+  font-weight: bold;
+  counter-increment: numsection;
+  content: counters(numsection, ".") ") ";
+}
+dl.triple { padding: 0 0 0 1em; }
+dl.triple dt, dl.triple dd { margin: 0; display: inline }
+dl.triple dt:after { content: ':'; }
+dl.triple dd:after { content: '\A'; white-space: pre; }
+.adef { 
+	font-family: monospace; 
+	font-weight: bold; 
+    color: #ff4500 !important;
+}
+
+.aref { 
+	font-family: monospace; 
+	font-weight: bold; 
+    color: #ff4500 !important;
+}
+
+span.entity { color: red; }
+
+span.element { color: green; }
+</style>
+<style type="text/css">
+/*****************************************************************
+ * ReSpec CSS
+ * Robin Berjon (robin at berjon dot com)
+ * v0.05 - 2009-07-31
+ *****************************************************************/
+
+
+/* --- INLINES --- */
+em.rfc2119 { 
+    text-transform:     lowercase;
+    font-variant:       small-caps;
+    font-style:         normal;
+    color:              #900;
+}
+
+h1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,
+h1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {
+    border: none;
+}
+
+dfn {
+    font-weight:    bold;
+}
+
+a.internalDFN {
+    color:  inherit;
+    border-bottom:  1px solid #99c;
+    text-decoration:    none;
+}
+
+a.externalDFN {
+    color:  inherit;
+    border-bottom:  1px dotted #ccc;
+    text-decoration:    none;
+}
+
+a.bibref {
+    text-decoration:    none;
+}
+
+code {
+    color:  #ff4500;
+}
+
+
+/* --- WEB IDL --- */
+pre.idl {
+    border-top: 1px solid #90b8de;
+    border-bottom: 1px solid #90b8de;
+    padding:    1em;
+    line-height:    120%;
+}
+
+pre.idl::before {
+    content:    "WebIDL";
+    display:    block;
+    width:      150px;
+    background: #90b8de;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+.idlType {
+    color:  #ff4500;
+    font-weight:    bold;
+    text-decoration:    none;
+}
+
+/*.idlModule*/
+/*.idlModuleID*/
+/*.idlInterface*/
+.idlInterfaceID, .idlDictionaryID {
+    font-weight:    bold;
+    color:  #005a9c;
+}
+
+.idlSuperclass {
+    font-style: italic;
+    color:  #005a9c;
+}
+
+/*.idlAttribute*/
+.idlAttrType, .idlFieldType, .idlMemberType {
+    color:  #005a9c;
+}
+.idlAttrName, .idlFieldName, .idlMemberName {
+    color:  #ff4500;
+}
+.idlAttrName a, .idlFieldName a, .idlMemberName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlMethod*/
+.idlMethType {
+    color:  #005a9c;
+}
+.idlMethName {
+    color:  #ff4500;
+}
+.idlMethName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlParam*/
+.idlParamType {
+    color:  #005a9c;
+}
+.idlParamName {
+    font-style: italic;
+}
+
+.extAttr {
+    color:  #666;
+}
+
+/*.idlConst*/
+.idlConstType {
+    color:  #005a9c;
+}
+.idlConstName {
+    color:  #ff4500;
+}
+.idlConstName a {
+    color:  #ff4500;
+    border-bottom:  1px dotted #ff4500;
+    text-decoration: none;
+}
+
+/*.idlException*/
+.idlExceptionID {
+    font-weight:    bold;
+    color:  #c00;
+}
+
+.idlTypedefID, .idlTypedefType {
+    color:  #005a9c;
+}
+
+.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {
+    color:  #c00;
+    font-weight:    normal;
+}
+
+.excName a {
+    font-family:    monospace;
+}
+
+.idlRaises a.idlType, .excName a.idlType {
+    border-bottom:  1px dotted #c00;
+}
+
+.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {
+    width:  45px;
+    text-align: center;
+}
+.excGetSetTrue, .prmNullTrue, .prmOptTrue { color:  #0c0; }
+.excGetSetFalse, .prmNullFalse, .prmOptFalse { color:  #c00; }
+
+.idlImplements a {
+    font-weight:    bold;
+}
+
+dl.attributes, dl.methods, dl.constants, dl.fields, dl.dictionary-members {
+    margin-left:    2em;
+}
+
+.attributes dt, .methods dt, .constants dt, .fields dt, .dictionary-members dt {
+    font-weight:    normal;
+}
+
+.attributes dt code, .methods dt code, .constants dt code, .fields dt code, .dictionary-members dt code {
+    font-weight:    bold;
+    color:  #000;
+    font-family:    monospace;
+}
+
+.attributes dt code, .fields dt code, .dictionary-members dt code {
+    background:  #ffffd2;
+}
+
+.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {
+    color:  #005a9c;
+    background:  transparent;
+    font-family:    inherit;
+    font-weight:    normal;
+    font-style: italic;
+}
+
+.methods dt code {
+    background:  #d9e6f8;
+}
+
+.constants dt code {
+    background:  #ddffd2;
+}
+
+.attributes dd, .methods dd, .constants dd, .fields dd, .dictionary-members dd {
+    margin-bottom:  1em;
+}
+
+table.parameters, table.exceptions {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    margin: 0.5em 0;
+    width:  100%;
+}
+table.parameters { border-bottom:  1px solid #90b8de; }
+table.exceptions { border-bottom:  1px solid #deb890; }
+
+.parameters th, .exceptions th {
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+    font-family:    initial;
+    font-weight:    normal;
+    text-shadow:    #666 1px 1px 0;
+}
+.parameters th { background: #90b8de; }
+.exceptions th { background: #deb890; }
+
+.parameters td, .exceptions td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+    vertical-align: top;
+}
+
+.parameters tr:first-child td, .exceptions tr:first-child td {
+    border-top: none;
+}
+
+.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
+    width:  100px;
+}
+
+.parameters td.prmType {
+    width:  120px;
+}
+
+table.exceptions table {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    width:  100%;
+}
+
+/* --- TOC --- */
+.toc a {
+    text-decoration:    none;
+}
+
+a .secno {
+    color:  #000;
+}
+
+/* --- TABLE --- */
+table.simple {
+    border-spacing: 0;
+    border-collapse:    collapse;
+    border-bottom:  3px solid #005a9c;
+}
+
+.simple th {
+    background: #005a9c;
+    color:  #fff;
+    padding:    3px 5px;
+    text-align: left;
+}
+
+.simple th[scope="row"] {
+    background: inherit;
+    color:  inherit;
+    border-top: 1px solid #ddd;
+}
+
+.simple td {
+    padding:    3px 10px;
+    border-top: 1px solid #ddd;
+}
+
+.simple tr:nth-child(even) {
+    background: #f0f6ff;
+}
+
+/* --- DL --- */
+.section dd > p:first-child {
+    margin-top: 0;
+}
+
+.section dd > p:last-child {
+    margin-bottom: 0;
+}
+
+.section dd {
+    margin-bottom:  1em;
+}
+
+.section dl.attrs dd, .section dl.eldef dd {
+    margin-bottom:  0;
+}
+
+/* --- EXAMPLES --- */
+pre.example {
+    border-top: 1px solid #ff4500;
+    border-bottom: 1px solid #ff4500;
+    padding:    1em;
+    margin-top: 1em;
+}
+
+pre.example::before {
+    content:    "Example";
+    display:    block;
+    width:      150px;
+    background: #ff4500;
+    color:  #fff;
+    font-family:    initial;
+    padding:    3px;
+    font-weight:    bold;
+    margin: -1em 0 1em -1em;
+}
+
+/* --- EDITORIAL NOTES --- */
+.issue {
+    padding:    1em;
+    margin: 1em 0em 0em;
+    border: 1px solid #f00;
+    background: #ffc;
+}
+
+.issue::before {
+    content:    "Issue";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #f00;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+.note {
+    margin: 1em 0em 0em;
+    padding:    1em;
+    border: 2px solid #cff6d9;
+    background: #e2fff0;
+}
+
+.note::before {
+    content:    "Note";
+    display:    block;
+    width:  150px;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #cff6d9;
+    background: #fff;
+    padding:    3px 1em;
+}
+
+/* --- Best Practices --- */
+div.practice {
+    border: solid #bebebe 1px;
+    margin: 2em 1em 1em 2em;
+}
+
+span.practicelab {
+    margin: 1.5em 0.5em 1em 1em;
+    font-weight: bold;
+    font-style: italic;
+}
+
+span.practicelab   { background: #dfffff; }
+
+span.practicelab {
+    position: relative;
+    padding: 0 0.5em;
+    top: -1.5em;
+}
+
+p.practicedesc {
+    margin: 1.5em 0.5em 1em 1em;
+}
+
[email protected] screen {
+    p.practicedesc {
+        position: relative;
+        top: -2em;
+        padding: 0;
+        margin: 1.5em 0.5em -1em 1em;
+    }
+}
+
+/* --- SYNTAX HIGHLIGHTING --- */
+pre.sh_sourceCode {
+  background-color: white;
+  color: black;
+  font-style: normal;
+  font-weight: normal;
+}
+
+pre.sh_sourceCode .sh_keyword { color: #005a9c; font-weight: bold; }           /* language keywords */
+pre.sh_sourceCode .sh_type { color: #666; }                            /* basic types */
+pre.sh_sourceCode .sh_usertype { color: teal; }                             /* user defined types */
+pre.sh_sourceCode .sh_string { color: red; font-family: monospace; }        /* strings and chars */
+pre.sh_sourceCode .sh_regexp { color: orange; font-family: monospace; }     /* regular expressions */
+pre.sh_sourceCode .sh_specialchar { color: 	#ffc0cb; font-family: monospace; }  /* e.g., \n, \t, \\ */
+pre.sh_sourceCode .sh_comment { color: #A52A2A; font-style: italic; }         /* comments */
+pre.sh_sourceCode .sh_number { color: purple; }                             /* literal numbers */
+pre.sh_sourceCode .sh_preproc { color: #00008B; font-weight: bold; }       /* e.g., #include, import */
+pre.sh_sourceCode .sh_symbol { color: blue; }                            /* e.g., *, + */
+pre.sh_sourceCode .sh_function { color: black; font-weight: bold; }         /* function calls and declarations */
+pre.sh_sourceCode .sh_cbracket { color: red; }                              /* block brackets (e.g., {, }) */
+pre.sh_sourceCode .sh_todo { font-weight: bold; background-color: #00FFFF; }   /* TODO and FIXME */
+
+/* Predefined variables and functions (for instance glsl) */
+pre.sh_sourceCode .sh_predef_var { color: #00008B; }
+pre.sh_sourceCode .sh_predef_func { color: #00008B; font-weight: bold; }
+
+/* for OOP */
+pre.sh_sourceCode .sh_classname { color: teal; }
+
+/* line numbers (not yet implemented) */
+pre.sh_sourceCode .sh_linenum { display: none; }
+
+/* Internet related */
+pre.sh_sourceCode .sh_url { color: blue; text-decoration: underline; font-family: monospace; }
+
+/* for ChangeLog and Log files */
+pre.sh_sourceCode .sh_date { color: blue; font-weight: bold; }
+pre.sh_sourceCode .sh_time, pre.sh_sourceCode .sh_file { color: #00008B; font-weight: bold; }
+pre.sh_sourceCode .sh_ip, pre.sh_sourceCode .sh_name { color: #006400; }
+
+/* for Prolog, Perl... */
+pre.sh_sourceCode .sh_variable { color: #006400; }
+
+/* for LaTeX */
+pre.sh_sourceCode .sh_italics { color: #006400; font-style: italic; }
+pre.sh_sourceCode .sh_bold { color: #006400; font-weight: bold; }
+pre.sh_sourceCode .sh_underline { color: #006400; text-decoration: underline; }
+pre.sh_sourceCode .sh_fixed { color: green; font-family: monospace; }
+pre.sh_sourceCode .sh_argument { color: #006400; }
+pre.sh_sourceCode .sh_optionalargument { color: purple; }
+pre.sh_sourceCode .sh_math { color: orange; }
+pre.sh_sourceCode .sh_bibtex { color: blue; }
+
+/* for diffs */
+pre.sh_sourceCode .sh_oldfile { color: orange; }
+pre.sh_sourceCode .sh_newfile { color: #006400; }
+pre.sh_sourceCode .sh_difflines { color: blue; }
+
+/* for css */
+pre.sh_sourceCode .sh_selector { color: purple; }
+pre.sh_sourceCode .sh_property { color: blue; }
+pre.sh_sourceCode .sh_value { color: #006400; font-style: italic; }
+
+/* other */
+pre.sh_sourceCode .sh_section { color: black; font-weight: bold; }
+pre.sh_sourceCode .sh_paren { color: red; }
+pre.sh_sourceCode .sh_attribute { color: #006400; }
+
+</style><link href="http://www.w3.org/StyleSheets/TR/W3C-IG-NOTE" rel="stylesheet" type="text/css" charset="utf-8"></head>
+
+<body style="display: inherit; "><div class="head"><p><a href="http://www.w3.org/"><img width="72" height="48" src="http://www.w3.org/Icons/w3c_home" alt="W3C"></a></p><h1 class="title" id="title">Microdata to RDF</h1><h2 id="subtitle">Transformation from HTML+Microdata to RDF</h2><h2 id="w3c-interest-group-note-20-march-2012"><acronym title="World Wide Web Consortium">W3C</acronym> Interest Group Note 20 March 2012</h2><dl><dt>This version:</dt><dd><a href="http://www.w3.org/TR/2012/NOTE-microdata-rdf-20120320/">http://www.w3.org/TR/2012/NOTE-microdata-rdf-20120320/</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/microdata-rdf/">http://www.w3.org/TR/microdata-rdf/</a></dd><dt>Previous version:</dt><dd><a href="http://www.w3.org/TR/2012/WD-microdata-rdf-20120112/">http://www.w3.org/TR/2012/WD-microdata-rdf-20120112/</a></dd><dt>Editor:</dt><dd><a href="http://greggkellogg.net/">Gregg Kellogg</a>, Kellogg Associates</dd>
+<dt>Authors:</dt><dd><a href="mailto:[email protected]">Ian Hickson</a>, Google, Inc.</dd>
+<dd><a href="http://greggkellogg.net/">Gregg Kellogg</a>, Kellogg Associates</dd>
+<dd><a href="http://www.jenitennison.com/">Jeni Tennison</a>, Independent</dd>
+<dd><a href="http://www.w3.org/People/Ivan/">Iván Herman</a>, <a href="http://www.w3.org"><acronym title="World Wide Web Consortium">W3C</acronym></a></dd>
+</dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2012 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. <acronym title="World Wide Web Consortium">W3C</acronym> <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p><hr></div>
+<div id="abstract" class="introductory section"><h2>Abstract</h2>
+  <p>HTML microdata [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>] is an extension to HTML used to embed machine-readable data into HTML documents.
+    Whereas the microdata specification describes a means of markup, the output format is JSON. This specification
+    describes processing rules that may be used to extract RDF [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>] from an HTML document containing
+    microdata.</p>
+</div><div id="sotd" class="introductory section"><h2>Status of This Document</h2><p><em>This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current <acronym title="World Wide Web Consortium">W3C</acronym> publications and the latest revision of this technical report can be found in the <a href="http://www.w3.org/TR/"><acronym title="World Wide Web Consortium">W3C</acronym> technical reports index</a> at http://www.w3.org/TR/.</em></p>
+<p>This document is an experimental work in progress. The concepts described herein are intended to 
+  provide guidance for a possible future Working Group chartered to provide a Recommendation
+  for this transformation. As a consequence, implementers of this specification, either producers
+  or consumers, should note that it may change prior to any possible publication as a Recommendation.</p>
+<p>This document was published by the <a href="http://www.w3.org/2001/sw/interest/">HTML Data Task Force, Semantic Web Interest Group</a> as an Interest Group Note. If you wish to make comments regarding this document, please send them to <a href="mailto:[email protected]">[email protected]</a> (<a href="mailto:[email protected]?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-html-data-tf/">archives</a>). All feedback is welcome.</p><p>Publication as an Interest Group Note does not imply endorsement by the <acronym title="World Wide Web Consortium">W3C</acronym> Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.</p><p>The disclosure obligations of the Participants of this group are described in the <a href="http://www.w3.org/2006/07/swig-charter#Ipr">charter</a>. </p></div><div id="toc" class="section"><h2 class="introductory">Table of Contents</h2><ul class="toc"><li class="tocline"><a href="#introduction" class="tocxref"><span class="secno">1. </span>Introduction</a><ul class="toc"><li class="tocline"><a href="#background" class="tocxref"><span class="secno">1.1 </span>Background</a></li><li class="tocline"><a href="#use-cases" class="tocxref"><span class="secno">1.2 </span>Use Cases</a></li><li class="tocline"><a href="#issues" class="tocxref"><span class="secno">1.3 </span>Issues</a></li></ul></li><li class="tocline"><a href="#attributes-and-syntax" class="tocxref"><span class="secno">2. </span>Attributes and Syntax</a></li><li class="tocline"><a href="#vocabulary-registry" class="tocxref"><span class="secno">3. </span>Vocabulary Registry</a><ul class="toc"><li class="tocline"><a href="#property-uri-generation" class="tocxref"><span class="secno">3.1 </span>Property URI Generation</a></li><li class="tocline"><a href="#value-ordering" class="tocxref"><span class="secno">3.2 </span>Value Ordering</a></li><li class="tocline"><a href="#value-typing" class="tocxref"><span class="secno">3.3 </span>Value Typing</a></li></ul></li><li class="tocline"><a href="#algorithm" class="tocxref"><span class="secno">4. </span>Algorithm</a><ul class="toc"><li class="tocline"><a href="#algorithm-terms" class="tocxref"><span class="secno">4.1 </span>Algorithm Terms</a></li><li class="tocline"><a href="#rdf-conversion-algorithm" class="tocxref"><span class="secno">4.2 </span>RDF Conversion Algorithm</a></li><li class="tocline"><a href="#generate-the-triples" class="tocxref"><span class="secno">4.3 </span>Generate the triples</a></li><li class="tocline"><a href="#generate-predicate-uri" class="tocxref"><span class="secno">4.4 </span>Generate Predicate URI</a></li><li class="tocline"><a href="#generate-property-values" class="tocxref"><span class="secno">4.5 </span>Generate Property Values</a></li><li class="tocline"><a href="#generate-collection" class="tocxref"><span class="secno">4.6 </span>Generate RDF Collection</a></li></ul></li><li class="tocline"><a href="#markup-examples" class="tocxref"><span class="secno">A. </span>Markup Examples</a></li><li class="tocline"><a href="#example-registry" class="tocxref"><span class="secno">B. </span>Example <span class="tref internalDFN formerLink tref internalDFN" title="registry">registry</span></a></li><li class="tocline"><a href="#acknowledgements" class="tocxref"><span class="secno">C. </span>Acknowledgements</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">D. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">D.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">D.2 </span>Informative references</a></li></ul></li></ul></div>
+
+
+
+<div class="informative section" id="introduction">
+  <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2><p><em>This section is non-normative.</em></p>
+  <p>This document describes a means of transforming HTML containing microdata into RDF. HTML Microdata [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]
+    is an extension to HTML used to embed machine-readable data to HTML documents. This specification describes
+    transformation directly to RDF [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>].</p>
+  <div class="note">
+    <p>There are a variety of ways in which a mapping from microdata to
+      RDF might be configured to give a result that is closer to the required result for a particular vocabulary. This
+      specification defines terms that can be used as hooks for vocabulary-specific behavior, which could be defined
+      within a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> or on an implementation-defined basis. However, the HTML Data TF recommends the
+      adoption of a single method of mapping in which every vocabulary is treated as if:</p>
+    <ul>
+      <li><a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a> is set to <code>vocabulary</code> </li>
+      <li><a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a> is set to <code>unordered</code></li>
+    </ul>
+    <p>For background on the trade-offs between these options, see 
+      <a href="http://www.w3.org/wiki/Mapping_Microdata_to_RDF">http://www.w3.org/wiki/Mapping_Microdata_to_RDF</a>.</p>
+  </div>
+<div class="informative section" id="background">
+  <h3><span class="secno">1.1 </span>Background</h3><p><em>This section is non-normative.</em></p>
+  <p>Microdata [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>] is a way of embedding data in HTML documents
+    using attributes. The HTML DOM is extended to provide an API for
+    accessing microdata information, and the microdata specification
+    defines how to generate a JSON representation from microdata markup.</p>
+
+  <p>Mapping microdata to RDF enables consumers to merge data expressed
+    in other RDF-based formats with microdata. It facilitates the use of
+    RDF vocabularies within microdata, and enables microdata to be used
+    with the full RDF toolchain. Some use cases for this mapping are
+    described in <a href="#use-cases">Section 1.2</a> below.</p>
+
+  <p>Microdata's data model does not align neatly with RDF.</p>
+  <ul>
+   <li>Non-URL microdata properties are disambiguated based on microdata
+     <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a>; an <a class="tref internalDFN" title="item" href="#dfn-item">item</a> with the type <code>http://example.org/Cat</code> can have
+     both the property <code>color</code> and the property <code>http://example.org/color</code>,
+     and these properties are semantically distinct under microdata. In
+     RDF, all properties have IRIs.</li>
+
+   <li>When an item has multiple properties with the same name, the values are
+     always ordered; in RDF, property values are unordered unless they
+     are explicitly listed in an <a class="tref internalDFN" title="rdf_collection" href="#dfn-rdf_collection">RDF Collection</a>.</li>
+
+   <li>A value in microdata is always a simple string which is interpreted
+     by the consuming application. In RDF, values can be tagged with a
+     datatype or a language. According to the microdata specification, the
+     HTML context of microdata markup should not change how microdata is
+     interpreted, so although element names and HTML <code>@lang</code> attributes could
+     be used to provide datatype and language information for RDF data, this
+     would be contrary to the microdata specification.</li>
+  </ul>
+
+   <p>Thus, in some places the needs of RDF consumers violate requirements of
+     the microdata specification. This specification highlights where such
+     violations occur and the reasons for them.</p>
+
+   <p>This specification allows for 
+     <a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">vocabulary</a>-specific rules that affect the generation of property URIs and value serializations.
+     This is facilitated by a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> that associates URIs with specific rules based on matching
+     <a class="aref internalDFN" title="itemtype" href="#dfn-itemtype">@itemtype</a> values against registered URI prefixes do determine a vocabulary and potentially
+     vocabulary-specific processing rules.</p>
+
+   <p>This specification also assumes that consumers of RDF generated from
+     microdata may have to process the results in order to, for example,
+     assign appropriate datatypes to <a class="tref internalDFN" title="property_value" href="#dfn-property_value">property value</a>s.</p>
+</div>
+
+<div class="informative section" id="use-cases">
+  <h3><span class="secno">1.2 </span>Use Cases</h3><p><em>This section is non-normative.</em></p>
+  <p>During the period of the task force, a number of use cases were put forth for the use of microdata
+    in generating RDF:</p>
+  <ul>
+    <li>Semantic search engines such as <a href="http://sindice.com/">Sindice</a> use RDF as their backend data model.
+      They want to gather information expressed using microdata alongside information expressed in RDF-based formats
+      and make it available to others to use, as a service. In these cases, the ultimate consumer, who will need to
+      understand the vocabularies used within the microdata, is the program or person who pulls out data from Sindice.
+      Sindice needs to retain the distinctions in the original microdata (e.g. ordering of items) and might not have
+      built-in knowledge about the <a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">vocabulary</a> of interest to the ultimate consumer. In this case, the ultimate consumer
+      is likely to have to map/validate/handle errors in the data they get from Sindice.</li>
+    <li>A consumer such as <a href="http://openelectiondata.org">openelectiondata.org</a> wants to support
+      microdata-based markup of their <a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">vocabulary</a> as well as RDFa-based markup, both going into an RDF-based data store.
+      They want to use an off-the-shelf tool to extract the microdata. They want to configure the tool to give them the
+      RDF that is appropriate for their known <a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">vocabulary</a>.</li>
+    <li>A browser plugin that captures data for the user uses an RDF model as its backend store.
+      Any time it encounters microdata on a page, it wants to pull that microdata into the store on the fly.</li>
+    <li><a href="http://purl.org/goodrelations/">GoodRelations</a> properties do not take
+      <a class="tref internalDFN" title="rdf_collection" href="#dfn-rdf_collection">rdf:List</a> values; when they take
+      multiple values they are unordered. The <code>rdfs:range</code> of a GoodRelations
+      property indicates the datatype of the expected value, and GoodRelations
+      processors will expect values to be cast to that type. Language
+      information from the HTML needs to be captured as it is common that
+      multiple values will be used to specify the same information in different
+      languages.</li>
+    <li><a href="http://schema.org/">Schema.org</a> has an 
+      <a href="http://schema.org/docs/extension.html">extension mechanism</a> to allow authors to express information
+      that is more detail than the pre-defined types, properties and enumerations. Property URIs are all in the same
+      flat-namespace as types, but authors can add more detail by using a '/' after the type or property to provide
+      more detail. For example, schema.org defines a <em>musicGroupMember</em> property having a URI of
+      <code>http://schema.org/musicGroupMember</code>, and an author might express more detail through an ad-hoc
+      sub-property <em>musicGroupMember/leadVocalist</em>, having the URI
+      <code>http://schema.org/musicGroupMember/leadVocalist</code>.</li>
+  </ul>
+</div>
+
+<div class="informative section" id="issues">
+  <h3><span class="secno">1.3 </span>Issues</h3><p><em>This section is non-normative.</em></p>
+  <p>Decisions or open issues in the specification are tracked on the
+    <a href="http://www.w3.org/2011/htmldata/track/issues">Task Force Issue Tracker</a>. These include the
+    following:</p>
+  <dl>
+    <dt><a href="http://www.w3.org/2011/htmldata/track/issues/1">ISSUE 1</a></dt><dd>
+      Vocabulary specific parsing for Microdata. This specification attempts to create generic
+      rules for processing microdata with typical RDF vocabularies. A <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> allows
+      for exceptions to the default processing rules for certain well-known vocabularies.
+    </dd>
+    <dt><a href="http://www.w3.org/2011/htmldata/track/issues/2">ISSUE 2</a></dt><dd>
+      Should Microdata-RDF generate XMLLiteral values. This issue has been closed with no change
+      as this would violate microdata's data model.
+    </dd>
+    <dt><a href="http://www.w3.org/2011/htmldata/track/issues/3">ISSUE 3</a></dt><dd>
+      Should the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> allow property datatype specification. The consensus is that datatypes are only derived from HTML semantics, so that only &lt;time&gt; values have a datatype other than plain.
+    </dd>
+    <dt><a href="http://www.w3.org/2011/htmldata/track/issues/4">ISSUE 4</a></dt><dd>
+      Should the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> allow a <a class="tref internalDFN" title="name" href="#dfn-name">name</a> or URL to be used as an alias for <a class="aref internalDFN" title="itemid" href="#dfn-itemid">@itemid</a>.
+    </dd>
+  </dl>
+
+  <p>The purpose of this specification is to provide input to a future working group that can make decisions
+    about the need for a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> and the details of processing. Among the options investigated by
+    the Task Force are the following:</p>
+  <ul>
+    <li>Property URI generation using the original microdata specification with a base URI and
+      <cite><a href="http://tools.ietf.org/html/rfc3986#section-3.5">fragment</a></cite> made up of the in-scope <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item
+      type</a> and <a class="tref internalDFN" title="properties" href="#dfn-properties">properties</a>.</li>
+    <li>Vocabulary-based URI generation, where the <a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">vocabulary</a> is determined from the
+      in-scope <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a>, either through an algorithmic modification of the type URL or by matching the
+      URL against a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a>. The vocabulary URI is then used to generate property URIs in a namespace
+      parallel to the type URI.</li>
+    <li>When there are multiple <a class="tref internalDFN" title="top-level_item" href="#dfn-top-level_item">top-level item</a>s in a document, place items in an RDF Collection.
+      Alternatively, simply list the items as multiple values, or do not generate an
+      <code>http://www.w3.org/ns/md#item</code> mapping at all.</li>
+    <li>When an item has multiple values for a given <a class="tref internalDFN" title="property" href="#dfn-property">property</a>, place the values in an RDF Collection.
+      Alternatively, do not use collections, use an alternative such as <code>rdf:Seq</code>, or place all values,
+      whether or not multiple, into some form of collection.</li>
+  </ul>
+  <p>More examples and explanatory information are available in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA-RDF-SUPPLEMENT">MICRODATA-RDF-SUPPLEMENT</a></cite>], which may
+    be updated from time to time.</p>
+</div>
+</div>
+
+<div id="attributes-and-syntax" class="section">
+  <!--OddPage--><h2><span class="secno">2. </span>Attributes and Syntax</h2>
+  <p>
+    The microdata specification [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>] defines a number of attributes and the way in which those
+    attributes are to be interpreted. The
+    <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">microdata DOM API</a></cite>
+    provides methods and attributes for retrieving microdata from the HTML DOM.</p>
+  <p>For reference, attributes used for specifying and retrieving HTML microdata are referenced here:</p>
+  <dl>
+    <dt><dfn class="adef" title="itemid" id="dfn-itemid">itemid</dfn></dt><dd>
+      An attribute containing a URL used to identify the subject of triples associated with this <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+      (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemid">Items</a></cite>
+      in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+    </dd>
+    <dt><dfn class="adef" title="itemprop" id="dfn-itemprop">itemprop</dfn></dt><dd>
+      An attribute used to identify one or more <a class="tref internalDFN" title="name" href="#dfn-name">name</a>s of an <a class="tref internalDFN" title="item" href="#dfn-item">item</a>s. An <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a>
+      contains a space separated list of <dfn title="name" id="dfn-name">name</dfn>s which may either by <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>s or terms
+      associated with the type of the <a class="tref internalDFN" title="item" href="#dfn-item">item</a> as defined by the referencing <a class="tref internalDFN" title="item" href="#dfn-item">item</a>'s
+      <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a>.
+      (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#names:-the-itemprop-attribute">Items</a></cite>
+      in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+    </dd>
+    <dt><dfn class="adef" title="itemref" id="dfn-itemref">itemref</dfn></dt><dd>
+      An additional attribute on an element that references additional elements containing property
+      definitions to be applied to the referencing <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+      (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemref">Items</a></cite>
+      in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+    </dd>
+    <dt><dfn class="adef" title="itemscope" id="dfn-itemscope">itemscope</dfn></dt><dd>
+      An boolean attribute identifying an element as an <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+      (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemscope">Items</a></cite>
+      in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+    </dd>
+    <dt><dfn class="adef" title="itemtype" id="dfn-itemtype">itemtype</dfn></dt><dd>
+      An additional attribute on an element used to specify one or more types of an <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+      The <dfn title="item_type" id="dfn-item_type">item type</dfn> of an <a class="tref internalDFN" title="item" href="#dfn-item">item</a> is the first value returned from
+      <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>
+      on the element.
+      The <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a> is also used to resolve non-URL <a class="tref internalDFN" title="name" href="#dfn-name">name</a>s to <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>s.
+      Available through the
+      <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite> as
+      <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>.
+      (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemtype">Items</a></cite>
+      in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+    </dd>
+  </dl>
+  <p>In RDF, it is common for people to shorten vocabulary terms via abbreviated URIs that use a 'prefix'
+    and a 'reference'. throughout this document assume that the following vocabulary
+    prefixes have been defined:</p>
+  <table><tbody>
+    <tr>
+      <td>dc:</td>
+      <td>http://purl.org/dc/terms/</td>
+    </tr>
+
+    <tr>
+      <td>md:</td>
+      <td>
+        http://www.w3.org/ns/md#</td>
+    </tr>
+
+    <tr>
+      <td>rdf:</td>
+      <td>
+        http://www.w3.org/1999/02/22-rdf-syntax-ns#</td>
+    </tr>
+
+    <tr>
+      <td>rdfs:</td>
+      <td>
+        http://www.w3.org/2000/01/rdf-schema#</td>
+    </tr>
+
+    <tr>
+      <td>xsd:</td>
+      <td>http://www.w3.org/2001/XMLSchema#</td>
+    </tr>
+  </tbody></table>
+</div>
+
+<div class="informative section" id="vocabulary-registry">
+  <!--OddPage--><h2><span class="secno">3. </span>Vocabulary Registry</h2><p><em>This section is non-normative.</em></p>
+  <p>In a perfect world, all processors would be able to generate the same output for a given input
+    without regards to the requirements of a particular <a class="tref internalDFN" title="vocabulary" href="#dfn-vocabulary">vocabulary</a>. However, microdata doesn't
+    provide sufficient syntactic help in making these decisions. Different vocabularies have different
+    needs.</p>
+  <p>The registry is located at the namespace defined for microdata: <code>http://www.w3.org/ns/md</code> in
+    a variety of formats.</p>
+  <p>The <dfn title="registry" id="dfn-registry">registry</dfn> associates a <dfn title="uri_prefix" id="dfn-uri_prefix">URI prefix</dfn> with one or more key-value pairs denoting
+  processor behavior. A hypothetical JSON representation of such a registry might be the following:</p>
+<pre class="example">{
+  "http://schema.org/": {
+    "propertyURI":    "vocabulary",
+    "multipleValues": "unordered",
+    "properties": {
+      "tracks": {"multipleValues": "list"}
+    }
+  },
+  "http://microformats.org/profile/hcard": {
+    "propertyURI":    "vocabulary",
+    "multipleValues": "list",
+    "properties" {
+      "url": {"multipleValues": "unordered"}
+    }
+  }
+}</pre>
+  <p>This structure associates mappings for two URIs, <code>http://schema.org/</code> and
+    <code>http://microformats.org/profile/hcard</code>. Items having an <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a> with a <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI
+    prefix</a> from this <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> use the the rules described for that prefix within the scope of that
+    <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a>. This mapping currently defines two rules: <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a> and
+    <a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a> with values to indicate specific behavior. It also allows overrides
+    on a per-property basis; the <a class="tref internalDFN" title="properties" href="#dfn-properties"><code>properties</code></a> key associates an individual <a class="tref internalDFN" title="name" href="#dfn-name">name</a>
+    with overrides for default behavior.
+    The interpretation of these
+    rules is defined in the following sections. If an item has no <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a> or the
+    <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> contains no <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a> matching <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a>, a conforming
+    processor <em class="rfc2119" title="must">must</em> use the default values defined for these rules.</p>
+  <p class="note">The concept of a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a>, including a hypothetical format, location and updating rules
+    is presented as an abstract concept useful for describing the function of a microdata processor.
+    There are issues surrounding update
+    frequency, URL naming, and how updates are authorized. This spec
+    just considers the semantic content of such a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> and how it can be used to affect processing without
+    defining its representation or update policies.</p>
+  <p class="issue">Richard Ciganiak has
+    <cite><a href="http://richard.cyganiak.de/2011/10/microdata.html#whitelists">pointed out</a></cite> that
+    "Registry" may be the wrong term, as the proposed <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> doesn't assign identifiers or manage
+    namespace, it simply provides a mapping between <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a>ss and processor behavior and suggests the term
+    "Whitelist". As more than two values are required, and it describes more than binary behavior, this term
+    isn't appropriate either.</p>
+
+<div class="informative section" id="property-uri-generation">
+  <h3><span class="secno">3.1 </span>Property URI Generation</h3><p><em>This section is non-normative.</em></p>
+  <p>For <a class="tref internalDFN" title="name" href="#dfn-name">name</a>s which are not <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>s,
+    the <dfn title="propertyuri" id="dfn-propertyuri"><code>propertyURI</code></dfn> rule defines the algorithm for generating an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>
+    given an <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a> including a <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a>, <a class="tref internalDFN" title="current_name" href="#dfn-current_name">current name</a> and
+    <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a>.</p>
+  <p>The procedure for generating property URIs is defined in
+    <a href="#generate-predicate-uri">Generate Predicate URI</a>.</p>
+  <p>Possible values for <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a> are the following:</p>
+  <dl>
+    <dt><code>contextual</code></dt><dd>
+      The <code>contextual</code> URI generation scheme guarantees that generated property URIs are
+      unique based on the value of <a class="tref internalDFN" title="current_name" href="#dfn-current_name">current name</a>. This is
+      required as the microdata data model requires that <a class="tref internalDFN" title="name" href="#dfn-name">name</a>s are associated with specific
+      items and do not have a global scope. (See <a href="#scheme-context">Step 5</a> in
+      <a href="#generate-predicate-uri">Generate Predicate URI</a>).
+      <div>
+        <p>URI creation uses a base URI with query parameters to indicate the in-scope
+          type and <a class="tref internalDFN" title="name" href="#dfn-name">name</a> list. Consider the following example:</p>
+        <pre class="example">&lt;span itemscope itemtype="http://microformats.org/profile/hcard"&gt;
+  &lt;span itemprop="n" itemscope&gt;
+    &lt;span itemprop="given-name"&gt;
+      Princeton
+    &lt;/span&gt;
+  &lt;/span&gt;
+&lt;/span&gt;</pre>
+        <p>The first <a class="tref internalDFN" title="name" href="#dfn-name">name</a> <em>n</em> generates the URI
+          <code>http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop=n</code>.
+          However, the included <a class="tref internalDFN" title="name" href="#dfn-name">name</a> <em>given-name</em> is included in untyped item.
+          The inherited property URI is used to create a new property URI:
+          <code>http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop=n.given-name</code>.</p>
+        <p>This scheme is compatible with the needs of other RDF serialization formats such as
+          RDF/XML [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SYNTAX-GRAMMAR">RDF-SYNTAX-GRAMMAR</a></cite>],
+          which rely on <em>QNames</em> for expressing properties. For example, the generated property URIs
+          can be split as follows:</p>
+        <pre class="example">&lt;rdf:Description xmlns:hcard="http://www.w3.org/ns/md?type=http://microformats.org/profile/hcard?prop="
+                 rdf:type="http://microformats.org/profile/hcard"&gt;
+  &lt;hcard:n&gt;
+    &lt;rdf:Description&gt;
+      &lt;hcard:n.given-name&gt;
+        Princeton
+      &lt;/hcard:n.given-name&gt;
+    &lt;/rdf:Description&gt;
+  &lt;/hcard:n&gt;
+&lt;/rdf:Description&gt;</pre>
+        <p>Looking at another example:</p>
+        <pre class="example">&lt;div itemscope itemtype="http://schema.org/Person"&gt;
+  &lt;h2 itemprop="name"&gt;Jeni&lt;/h2&gt;
+&lt;/div&gt;</pre>
+        <p>This would generate <code>http://www.w3.org/ns/md?type=http://schema.org/Person&amp;prop=name</code>.</p>
+      </div>
+    </dd>
+    <dt><code>vocabulary</code></dt><dd>
+      The <code>vocabulary</code> URI generation scheme appends <a class="tref internalDFN" title="name" href="#dfn-name">name</a>s that are not
+      <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>s to the <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a>. When generating property URIs, if the <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a>
+      does not end with a '/' or '#', a '#' is appended to the <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a>. (See <a href="#scheme-vocab">Step 4</a>
+      in
+      <a href="#generate-predicate-uri">Generate Predicate URI</a>.)
+      <div>
+        <p>URI creation uses a base URL with query parameters to indicate the in-scope
+          type and <a class="tref internalDFN" title="name" href="#dfn-name">name</a> list. Consider the following example:</p>
+        <pre class="example">&lt;span itemscope itemtype="http://microformats.org/profile/hcard"&gt;
+  &lt;span itemprop="n" itemscope&gt;
+    &lt;span itemprop="given-name"&gt;
+      Princeton
+    &lt;/span&gt;
+  &lt;/span&gt;
+&lt;/span&gt;</pre>
+        <p>Given the <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a> <code>http://microformats.org/profile/hcard</code>, this
+          would generate <code>http://microformats.org/profile/hcard#n</code> and
+          <code>http://microformats.org/profile/hcard#given-name</code>. Note that the '#' is automatically
+          added as a separator.</p>
+        <p>Looking at another example:</p>
+        <pre class="example">&lt;div itemscope itemtype="http://schema.org/Person"&gt;
+  &lt;h2 itemprop="name"&gt;Jeni&lt;/h2&gt;
+&lt;/div&gt;</pre>
+        <p>Given the <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a> <code>http://schema.org/</code>,
+          this would generate <code>http://schema.org/name</code>. Note that if the <a class="aref internalDFN" title="itemtype" href="#dfn-itemtype">@itemtype</a>
+          were <code>http://schema.org/Person/Teacher</code>, this would generate the same property URI.</p>
+      </div>
+    </dd>
+  </dl>
+  <p>If the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> contains no match for <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a> implementations act as if
+    there is a <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a> made from the first <a class="aref internalDFN" title="itemtype" href="#dfn-itemtype">@itemtype</a> value by stripping either the <cite><a href="http://tools.ietf.org/html/rfc3986#section-3.5">fragment</a></cite> content or <cite><a href="http://tools.ietf.org/html/rfc3986#section-3.3">last path segment</a></cite>, if the value has no fragment (See
+    [<cite><a class="bibref" rel="biblioentry" href="#bib-RFC3986">RFC3986</a></cite>]).</p>
+  <p class="note">Deconstructing the <a class="aref internalDFN" title="itemtype" href="#dfn-itemtype">@itemtype</a> URL to create or identify a vocabulary URI
+    is a violation of the microdata specification which is necessary to
+    support the use of existing vocabularies designed for use with RDF, and
+    shared or inherited properties within all vocabularies.</p>
+  <p>The default value of <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a> is <code>vocabulary</code>.</p>
+  <pre class="example">&lt;div itemscope itemtype="http://schema.org/Book"&gt;
+  &lt;h2 itemprop="title"&gt;Just a Geek&lt;/h2&gt;
+&lt;/div&gt;</pre>
+  <p>In this example, assuming no matching entry in the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a>,
+    the <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a> is constructed by removing the
+    <cite><a href="http://tools.ietf.org/html/rfc3986#section-3.3">last path segment</a></cite>, leaving the URI
+    <code>http://schema.org/</code>. As there is no explicit <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a>,
+    the default <code>vocabulary</code> is used, and the resulting property URI would be
+    <code>http://schema.org/title</code>.</p>
+</div>
+
+<div class="informative section" id="value-ordering">
+  <h3><span class="secno">3.2 </span>Value Ordering</h3><p><em>This section is non-normative.</em></p>
+  <p>For items having multiple values for a given <a class="tref internalDFN" title="property" href="#dfn-property">property</a>,
+    the <dfn title="multiplevalues" id="dfn-multiplevalues"><code>multipleValues</code></dfn> rule defines the algorithm for serializing these values.
+    Microdata uses document order when generating <a class="tref internalDFN" title="property_value" href="#dfn-property_value">property value</a>s, as defined in
+    <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite>
+    as <code>element.itemValue</code>. However, many RDF vocabularies expect multiple values to be generated
+    as triples sharing a common subject and predicate. In some cases, it may be useful to retain value ordering.</p>
+  <p>The procedure for generating <a class="tref internalDFN" title="property_value" href="#dfn-property_value">property value</a>s is defined in
+    <a href="#generate-property-values">Generate Property Values</a>.</p>
+  <p>Possible values for <a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a> are the following:</p>
+  <dl>
+    <dt><code>unordered</code></dt><dd>
+      Values are serialized without ordering using a common subject and predicate.
+      (See <a href="#values-unordered">Step 7</a> in
+      <a href="#generate-property-values">Generate Property Values</a>).
+    </dd>
+    <dt><code>list</code></dt><dd>
+      Multi-valued <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a>s are serialized using an <a class="tref internalDFN" title="rdf_collection" href="#dfn-rdf_collection">RDF Collection</a>.
+      (See <a href="#values-list">Step 8</a> in
+      <a href="#generate-property-values">Generate Property Values</a>).
+    </dd>
+  </dl>
+  <p>An example of how this might be specified in a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> is the following:</p>
+  <pre class="example">{
+  "http://schema.org/": {
+    "propertyURI":    "vocabulary",
+    <span class="diff">"multipleValues": "unordered"</span>
+  },
+  "http://microformats.org/profile/hcard": {
+    "propertyURI":    "vocabulary",
+    <span class="diff">"multipleValues": {"multipleValues": "list"}</span>
+  }
+}</pre>
+  <p>Additionally, some vocabularies may wish to specify this on a per-property basis. For example,
+    within <code>http://schema.org/MusicPlaylist</code> the <code>tracks</code> property might depend on the order
+    of values to to reproduce associated <code>MusicRecording</code> values.</p>
+  <pre class="example">{
+ "http://schema.org/": {
+   "propertyURI": "vocabulary",
+   "multipleValues": "unordered"<span class="diff">,
+   "properties": {
+     "tracks": {"multipleValues": "list"}
+   }</span>
+ }
+}</pre>
+  <p>The <dfn title="properties" id="dfn-properties"><code>properties</code></dfn> key takes a JSON Object as a value, which in turn has keys for each
+    property that is to be given alternate semantics. Each <a class="tref internalDFN" title="name" href="#dfn-name">name</a> is implicitly expanded to it's URI
+    representation as defined in <a href="#generate-predicate-uri">Generate Predicate URI</a>, so that
+    the behavior is the same whether or not the <a class="tref internalDFN" title="name" href="#dfn-name">name</a> is listed as an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>.</p>
+  <p>The default value of <a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a> is <code>unordered</code>.</p>
+  <div class="note">
+    <p>An alternative mechanism would output <em>both</em> unordered and ordered values, to allow an application
+    to choose the most useful representation. For example, consider the following:</p>
+<pre class="example">&lt;div itemscope="" itemtype="http://schema.org/MusicPlaylist"&gt;
+  &lt;span itemprop="name"&gt;Classic Rock Playlist&lt;/span&gt;
+  &lt;meta itemprop="numTracks" content="2"/&gt;
+  &lt;p&gt;Including works by
+    &lt;span itemprop="byArtist"&gt;Lynard Skynard&lt;/span&gt; and
+    &lt;span itemprop="byArtist"&gt;AC/DC&lt;/span&gt;&lt;/p&gt;.
+
+  &lt;div itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording"&gt;
+    1.&lt;span itemprop="name"&gt;Sweet Home Alabama&lt;/span&gt; -
+    &lt;span itemprop="byArtist"&gt;Lynard Skynard&lt;/span&gt;
+    &lt;link href="sweet-home-alabama" itemprop="url" /&gt;
+   &lt;/div&gt;
+
+  &lt;div itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording"&gt;
+    2.&lt;span itemprop="name"&gt;Shook you all Night Long&lt;/span&gt; -
+    &lt;span itemprop="byArtist"&gt;AC/DC&lt;/span&gt;
+    &lt;link href="shook-you-all-night-long" itemprop="url" /&gt;
+  &lt;/div&gt;
+&lt;/div&gt;</pre>
+    <p>This might generate the following Turtle:</p>
+<pre class="example">@prefix md: &lt;http://www.w3.org/ns/md#&gt; .
[email protected] rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
[email protected] schema: &lt;http://schema.org/&gt; .
+
+&lt;&gt; md:item [ a schema:MusicPlaylist;
+  schema:name "Classic Rock Playlist";
+  schema:byArtist ("Lynard Skynard" "AC/DC");
+  schema:numTracks "2";
+  schema:tracks _:track1, _:track2, (_:track1 _:track2)
+] .
+_:track1 a schema:MusicRecording;
+  schema:byArtist ("Lynard Skynard");
+  schema:name "Sweet Home Alabama";
+  schema:url &lt;sweet-home-alabama&gt; .
+_:track2 a schema:MusicRecording;
+  schema:byArtist ("AC/DC");
+  schema:name "Shook you all Night Long";
+  schema:url &lt;shook-you-all-night-long&gt; .</pre>
+    <p>By providing both <code>_:track1</code> and <code>_:track2</code> as object values of the playlist
+      along with an RDF Collection containing the ordered values, the data may be queried via a simple
+      query using the playlist subject, or as an ordered collection.</p>
+  </div>
+</div>
+
+<div class="informative section" id="value-typing">
+  <h3><span class="secno">3.3 </span>Value Typing</h3><p><em>This section is non-normative.</em></p>
+  <p>In microdata, all values are strings. In RDF, values may be resources
+   or may be typed with an appropriate datatype.</p>
+  <p> In some cases, the type of a microdata value can be determined from the
+   element on which it is specified. In particular:</p>
+  <ul>
+    <li>URL property elements provide URLs</li>
+    <li><code>time</code> element provides dates and times</li>
+  </ul>
+  <p class="issue">Using information about the content of the document where the microdata
+   is marked up <em>might</em> be a violation of the spirit of the microdata specification, though it does not explicitly say in
+   normative text that consumers cannot use other information from the HTML DOM to interpret microdata.</p>
+
+  <p>Additionally, one possible use of a <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> would allow vocabularies to be marked with datatype information,
+    so that a <code>dc:time</code> value, for example, would be understood to represent a literal with datatype
+    <code>xsd:date</code>. This could be done by adding information for each property in the vocabulary requiring
+    special treatment.</p>
+  <p>This might be represented using a syntax such as the following:</p>
+  <pre class="example">{
+ "http://schema.org/": {
+   "propertyURI": "vocabulary",
+   "multipleValues": "unordered"<span class="diff">,
+   "properties": {
+     "dateCreated": {"datatype": "http://www.w3.org/2001/XMLSchema#date"}
+   }</span>
+ }
+}</pre>
+  <p>The <code>datatype</code> identifies a URI to be used in constructing a <a class="tref internalDFN" title="typed_literal" href="#dfn-typed_literal">typed literal</a>.</p>
+
+  <p>In most cases, the relevant datatype for a value can be derived from
+    knowledge of what property the value is for and the syntax of the value
+    itself. Thus, values can be given datatypes in a post-processing step
+    after the mapping of microdata to RDF described by this specification.
+    However, where there is information in the HTML markup, such as knowledge
+    of what element was used to mark up the value, which can help with
+    determining its datatype, that information is used by this specification.</p>
+  <p>This concept is not explored further at this time, but could be developed further in
+    a future revision of this document.</p>
+</div>
+
+<p class="note">If property URI generation was fixed to <code>vocabulary</code>, multiple values always
+  generated both <code>unordered</code> and <code>ordered</code> representations, and there were <code>datatype</code>
+  support, the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> could be reduced to a simple list of URLs without any further structure necessary.</p>
+</div>
+
+<div id="algorithm" class="section">
+  <!--OddPage--><h2><span class="secno">4. </span>Algorithm</h2>
+  <p>
+    Transformation of Microdata to RDF makes use of general processing rules described in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]
+    for the treatment of <a class="tref internalDFN" title="item" href="#dfn-item">item</a>s.
+  </p>
+  <div id="algorithm-terms" class="section">
+    <h3><span class="secno">4.1 </span>Algorithm Terms</h3>
+    <dl>
+      <dt><dfn title="absolute_url" id="dfn-absolute_url">absolute URL</dfn></dt><dd>
+        The term <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/urls.html#absolute-url">absolute URL</a></cite>
+        is defined in [<cite><a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a></cite>].
+      </dd>
+      <dt><dfn title="blank_node" id="dfn-blank_node">blank node</dfn></dt><dd>
+        A blank node is a node in a graph that is neither a <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a> nor a <a class="tref internalDFN" title="literal" href="#dfn-literal">literal</a>.
+        <a class="tref internalDFN" title="item" href="#dfn-item">Item</a>s without a <a class="tref internalDFN" title="global_identifier" href="#dfn-global_identifier">global identifier</a> have a blank node allocated to them.
+        (See [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]).
+      </dd>
+      <dt><dfn title="document_base" id="dfn-document_base">document base</dfn></dt><dd>
+        The base address of the document being processed, as defined in <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/urls.html#resolving-urls">Resolving URLs</a></cite> in
+        [<cite><a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a></cite>].
+      </dd>
+      <dt><dfn title="evaluation_context" id="dfn-evaluation_context">evaluation context</dfn></dt><dd>
+        A data structure including the following elements:
+        <dl>
+          <dt><dfn title="memory" id="dfn-memory">memory</dfn></dt><dd>
+            a mapping of items to subjects, initially empty;
+          </dd>
+          <dt><dfn title="current_name" id="dfn-current_name">current name</dfn></dt><dd>
+            an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a> for the in-scope <a class="tref internalDFN" title="name" href="#dfn-name">name</a>, used for generating URIs
+            for properties of items without an <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a>;
+            <div class="note">
+              <a class="tref internalDFN" title="current_name" href="#dfn-current_name">current name</a> is required for the <code>contextual</code> property URI generation
+              scheme. Without this scheme, this evaluation context component would not be required.
+            </div>
+          </dd>
+          <dt><dfn title="current_type" id="dfn-current_type">current type</dfn></dt><dd>
+            an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a> for the <em>current type</em>, used when an <a class="tref internalDFN" title="item" href="#dfn-item">item</a> does not
+            contain an <a class="tref internalDFN" title="item_type" href="#dfn-item_type">item type</a>;
+          </dd>
+          <dt><dfn title="current_vocabulary" id="dfn-current_vocabulary">current vocabulary</dfn></dt><dd>
+            an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a> for the <em>current vocabulary</em>, from the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a>.
+          </dd>
+        </dl>
+      </dd>
+      <dt><dfn title="item" id="dfn-item">item</dfn></dt><dd>
+         An <a class="tref internalDFN" title="item" href="#dfn-item">item</a> is described by an element containing an <a class="aref internalDFN" title="itemscope" href="#dfn-itemscope">@itemscope</a> attribute. The list
+         of top-level microdata items may be retrieved using the
+         <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite>
+         <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-document-getitems">document.getItems</a></cite></code>
+         method.
+      </dd>
+      <dt><dfn title="item_properties" id="dfn-item_properties">item properties</dfn></dt><dd>
+        The mechanism for finding the <a class="tref internalDFN" title="item_properties" href="#dfn-item_properties">properties of an item</a> The list
+         of item properties items may be retrieved using the
+         <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite>
+         <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-properties">element.properties</a></cite></code>
+         attribute.
+      </dd>
+      <dt><dfn title="fragment-escape" id="dfn-fragment-escape">fragment-escape</dfn></dt><dd>
+        The term <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/urls.html#fragment-escaped">fragment-escape</a></cite>
+        is defined in [<cite><a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a></cite>]. This involves transforming elements added to URLs to ensure that the result
+        remains a valid URL. The following characters are subject to percent escaping:
+        <ul>
+          <li>U+0022 QUOTATION MARK character (")</li>
+          <li>U+0023 NUMBER SIGN character (#)</li>
+          <li>U+0025 PERCENT SIGN character (%)</li>
+          <li>U+003C LESS-THAN SIGN character (&lt;)</li>
+          <li>U+003E GREATER-THAN SIGN character (&gt;)</li>
+          <li>U+005B LEFT SQUARE BRACKET character ([)</li>
+          <li>U+005C REVERSE SOLIDUS character (\)</li>
+          <li>U+005D RIGHT SQUARE BRACKET character (])</li>
+          <li>U+005E CIRCUMFLEX ACCENT character (^)</li>
+          <li>U+007B LEFT CURLY BRACKET character ({)</li>
+          <li>U+007C VERTICAL LINE character (|)</li>
+          <li>U+007D RIGHT CURLY BRACKET character (})</li>
+        </ul>
+      </dd>
+      <dt><dfn title="global_identifier" id="dfn-global_identifier">global identifier</dfn></dt><dd>
+        The value of an <a class="tref internalDFN" title="item" href="#dfn-item">item</a>'s <a class="aref internalDFN" title="itemid" href="#dfn-itemid">@itemid</a> attribute, if it has one. (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#attr-itemscope">Items</a></cite> in
+        [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+      </dd>
+      <dt><dfn title="literal" id="dfn-literal">literal</dfn></dt><dd>
+        Literals are values such as strings and dates, including <dfn title="typed_literal" id="dfn-typed_literal">typed literal</dfn>s and
+        <dfn title="plain_literal" id="dfn-plain_literal">plain literal</dfn>s.
+        (See [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]).
+      </dd>
+      <dt><dfn title="property" id="dfn-property">property</dfn></dt><dd>
+        Each <a class="tref internalDFN" title="name" href="#dfn-name">name</a> identifies a <a class="tref internalDFN" title="property" href="#dfn-property">property</a> of an <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+        An <a class="tref internalDFN" title="item" href="#dfn-item">item</a> may have multiple elements sharing the same <a class="tref internalDFN" title="name" href="#dfn-name">name</a>, creating
+        a multi-valued <a class="tref internalDFN" title="property" href="#dfn-property">property</a>.
+       </dd>
+     <dt><dfn title="property_names" id="dfn-property_names">property names</dfn></dt><dd>
+        The tokens of an element's <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a> attribute. Each token is a <a class="tref internalDFN" title="name" href="#dfn-name">name</a>.
+        (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#property-names">Names: the
+        itemprop attribute</a></cite> in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+      </dd>
+      <dt><dfn title="property_value" id="dfn-property_value">property value</dfn></dt><dd>
+        The <a class="tref internalDFN" title="property_value" href="#dfn-property_value">property value</a> of a name-value pair added by an element with an <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a>
+        attribute depends on the element.
+        <dl>
+          <dt>If the element has no <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a> attribute</dt>
+          <dd>The value is null and no triple should be generated.</dd>
+          <dt>If the element creates an <a class="tref internalDFN" title="item" href="#dfn-item">item</a> (by having an <a class="aref internalDFN" title="itemscope" href="#dfn-itemscope">@itemscope</a> attribute)</dt>
+          <dd>
+            The value is the <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a> or <a class="tref internalDFN" title="blank_node" href="#dfn-blank_node">blank node</a> returned from
+            <a href="#generate-the-triples">generate the triples</a> for that <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+          </dd>
+          <dt>If the element is a URL property element (<code>a</code>, <code>area</code>, <code>audio</code>,
+            <code>embed</code>, <code>iframe</code>, <code>img</code>, <code>link</code>, <code>object</code>,
+            <code>source</code>, <code>track</code> or <code>video</code>)</dt>
+          <dd>
+            The value is a <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a> created from <code><cite>
+              <a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
+              (See relevant attribute descriptions in [<cite><a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a></cite>]).
+          </dd>
+          <dt>If the element is a <code>time</code> element.</dt>
+          <dd>The value is a <a class="tref internalDFN" title="literal" href="#dfn-literal">literal</a> made from <code><cite>
+            <a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>.
+            <dl>
+              <dt>
+                If the value is a
+                <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/common-microsyntaxes.html#valid-date-string">
+                  valid date string
+                </a></cite>
+                having the lexical form of
+                <cite><a href="http://www.w3.org/TR/xmlschema-2/#date">xsd:date</a></cite> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>].
+              </dt>
+              <dd>
+                The value is a <a class="tref internalDFN" title="typed_literal" href="#dfn-typed_literal">typed literal</a> composed of the value and
+                <code>http://www.w3.org/2001/XMLSchema#date</code>.
+              </dd>
+              <dt>
+                If the value is a
+                <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/common-microsyntaxes.html#valid-time-string">
+                  valid time string
+                </a></cite>
+                having the lexical form of
+                <cite><a href="http://www.w3.org/TR/xmlschema-2/#time">xsd:time</a></cite> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>].
+              </dt>
+              <dd>
+                The value is a <a class="tref internalDFN" title="typed_literal" href="#dfn-typed_literal">typed literal</a> composed of the value and
+                <code>http://www.w3.org/2001/XMLSchema#time</code>.
+              </dd>
+              <dt>
+                If the value is a
+                <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/common-microsyntaxes.html#valid-local-date-and-time-string">
+                  valid local date and time string
+                </a></cite>
+                or
+                <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/common-microsyntaxes.html#valid-global-date-and-time-string">
+                  valid global date and time string
+                </a></cite>
+                having the lexical form of
+                <cite><a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a></cite> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>].
+              </dt>
+              <dd>
+                The value is a <a class="tref internalDFN" title="typed_literal" href="#dfn-typed_literal">typed literal</a> composed of the value and
+               <code>http://www.w3.org/2001/XMLSchema#dateTime</code>.
+              </dd>
+              <dt>
+                If the value is a
+                <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/common-microsyntaxes.html#valid-month-string">
+                  valid month string
+                </a></cite>
+                having the lexical form of
+                <cite><a href="http://www.w3.org/TR/xmlschema-2/#gYearMonth">xsd:gYearMonth</a></cite> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>].
+              </dt>
+              <dd>
+                The value is a <a class="tref internalDFN" title="typed_literal" href="#dfn-typed_literal">typed literal</a> composed of the value and
+               <code>http://www.w3.org/2001/XMLSchema#gYearMonth</code>.
+              </dd>
+              <dt>
+                If the value is a
+                <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/common-microsyntaxes.html#valid-non-negative-integer">
+                  valid non-negative integer
+                </a></cite>
+                having the lexical form of
+                <cite><a href="http://www.w3.org/TR/xmlschema-2/#gYearMonth">xsd:gYear</a></cite> [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>].
+              </dt>
+              <dd>
+                The value is a <a class="tref internalDFN" title="typed_literal" href="#dfn-typed_literal">typed literal</a> composed of the value and
+               <code>http://www.w3.org/2001/XMLSchema#gYearMonth</code>.
+              </dd>
+              <dt>
+                If the value has the lexical form of
+                <cite><a href="http://www.w3.org/TR/xmlschema-2/#duration">xsd:duration</a></cite>
+                [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>].
+                <!--
+                If the value is a
+                <cite><a href="http://dev.w3.org/html5/spec/Overview.html#valid-duration-string">
+                  valid duration string
+                </a></cite>
+                having the lexical form of
+                <cite><a href="http://www.w3.org/TR/xmlschema-2/#duration">xsd:duration</a></cite> [[!RDF-SCHEMA]].
+                -->
+              </dt>
+              <dd>
+                The value is a <a class="tref internalDFN" title="typed_literal" href="#dfn-typed_literal">typed literal</a> composed of the value and
+                <code>http://www.w3.org/2001/XMLSchema#duration</code>.
+                <p class="note">The referenced version of [<cite><a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a></cite>] does not include a <em>duration</em> data type,
+                  but it is in the Editor's Draft and is expected to be included in a
+                  forthcoming update to the Working Draft</p>
+              </dd>
+              <dt>Otherwise</dt>
+              <dd>
+                The value is a <a class="tref internalDFN" title="plain_literal" href="#dfn-plain_literal">plain literal</a> created from the value with language information set from the <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-lang-and-xml:lang-attributes">lang</a></cite> IDL attribute
+                of the property element.
+                <p class="note">The HTML
+                  <em>valid yearless date string</em>
+                  is similar to
+                  <cite><a href="http://www.w3.org/TR/xmlschema-2/#gMonthDay">xsd:gMonthDay</a></cite>,
+                  but the lexical forms differ, so it is not included in this conversion.</p>
+              </dd>
+            </dl>
+            <p>See
+              <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/rendering.html#the-time-element-0">
+                The <code>time</code> element
+              </a></cite>
+              in [<cite><a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a></cite>].</p>
+          </dd>
+          <dt>Otherwise</dt>
+          <dd>The value is a <a class="tref internalDFN" title="plain_literal" href="#dfn-plain_literal">plain literal</a> created from <code><cite>
+            <a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemvalue">element.itemValue</a></cite></code>
+            with language information set from the
+            <cite><a href="http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-lang-and-xml:lang-attributes">lang</a></cite>
+            IDL attribute of the property element.
+          </dd>
+        </dl>
+      </dd>
+      <dt><dfn title="top-level_item" id="dfn-top-level_item">top-level item</dfn></dt><dd>
+        An <a class="tref internalDFN" title="item" href="#dfn-item">item</a> which does not contain an <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a> attribute.
+        Available through the <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#microdata-dom-api">Microdata DOM API</a></cite> as
+        <code>document.getItems</code>.
+        (See <cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#top-level-microdata-items">Associating names with items</a></cite> in [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>]).
+      </dd>
+      <dt><dfn title="uri_reference" id="dfn-uri_reference">URI reference</dfn></dt><dd>
+        URI references are suitable to be used in <em>subject</em>, <em>predicate</em> or <em>object</em> positions
+        within an RDF triple, as opposed to a <a class="tref internalDFN" title="literal" href="#dfn-literal">literal</a> value that may contain a string representation of a
+        URI. (See [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-CONCEPTS">RDF-CONCEPTS</a></cite>]).
+        <div class="issue">
+          <p>The HTML5/microdata content model for <code>@href</code>, <code>@src</code>,
+            <code>@data</code>, <a class="aref internalDFN" title="itemtype" href="#dfn-itemtype">@itemtype</a> and <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a> and <a class="aref internalDFN" title="itemid" href="#dfn-itemid">@itemid</a> is that of
+            a URL, not a URI or IRI.</p>
+          <p>A proposed mechanism for specifying the range of <a class="tref internalDFN" title="property_value" href="#dfn-property_value">property value</a>s to be URI reference or IRI could
+            allow these to be specified as subject or object using a <code>@content</code> attribute.</p>
+        </div>
+      </dd>
+      <dt><dfn title="vocabulary" id="dfn-vocabulary">vocabulary</dfn></dt><dd>
+        A vocabulary is a collection of URIs, suitable for use as an <a class="aref internalDFN" title="itemtype" href="#dfn-itemtype">@itemtype</a> or <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a>
+        value, that share a common <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a>. That prefix is the vocabulary URI. A vocabulary URI is not
+        allowed to be a prefix of another vocabulary URI.
+        <div class="note">
+          This definition differs from the language in the HTML spec and is just for the purpose of this
+          document. In HTML, a vocabulary is a specification, and doesn't have a URI. In our view, if one
+          specification defines ten <a class="aref internalDFN" title="itemtype" href="#dfn-itemtype">@itemtype</a>s, then these could be treated as one vocabulary or as ten
+          distinct vocabularies; it is entirely up to the vocabulary creator.
+        </div>
+      </dd>
+    </dl>
+  </div>
+
+  <div id="rdf-conversion-algorithm" class="section">
+    <h3><span class="secno">4.2 </span>RDF Conversion Algorithm</h3>
+    <p>A HTML document containing microdata <em class="rfc2119" title="may">may</em> be converted to any other RDF-compatible document
+    format using the algorithm specified in this section.</p>
+    <p>A conforming microdata processor implementing RDF conversion <em class="rfc2119" title="must">must</em> implement a
+      processing algorithm that results in the equivalent triples to those that the following
+      algorithm generates:</p>
+
+    <p>Set <em>item list</em> to an empty list.</p>
+
+    <ol class="algorithm">
+      <li>For each element that is also a <a class="tref internalDFN" title="top-level_item" href="#dfn-top-level_item">top-level item</a> run the following algorithm:
+        <ol class="algorithm">
+          <li>
+            <a href="#generate-the-triples">Generate the triples</a> for an item <em>item</em>, using the
+            <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a>.
+            Let <em>result</em> be the (<a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a> or <a class="tref internalDFN" title="blank_node" href="#dfn-blank_node">blank node</a>) subject returned.
+          </li>
+          <li>
+            Append <em>result</em> to <em>item list</em>.
+          </li>
+        </ol>
+      </li>
+      <li>
+        <a href="#generate-collection">Generate an RDF Collection</a> <em>list</em> from the ordered list of values.
+        Set <em>value</em> to the value returned from <a href="#generate-collection">generate an RDF
+        Collection</a>.
+      </li>
+      <li>
+        Generate the following triple:
+        <dl class="triple">
+          <dt>subject</dt>
+          <dd><a class="tref internalDFN" title="document_base" href="#dfn-document_base">Document base</a></dd>
+          <dt>predicate</dt>
+          <dd><code>http://www.w3.org/ns/md#item</code></dd>
+          <dt>object</dt>
+          <dd><em>value</em></dd>
+        </dl>
+      </li>
+    </ol>
+  </div>
+
+  <div id="generate-the-triples" class="section">
+    <h3><span class="secno">4.3 </span>Generate the triples</h3>
+    <p>
+      When the user agent is to Generate triples for an <a class="tref internalDFN" title="item" href="#dfn-item">item</a> <em>item</em>, given
+      <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a>, it must run the following steps:
+    </p>
+    <p class="note">
+      This algorithm has undergone substantial change from the original microdata specification [<cite><a class="bibref" rel="biblioentry" href="#bib-MICRODATA">MICRODATA</a></cite>].
+    </p>
+    <ol class="algorithm">
+      <li>
+        If there is an entry for <em>item</em> in <a class="tref internalDFN" title="memory" href="#dfn-memory">memory</a>, then let <em>subject</em> be the subject of
+        that entry. Otherwise, if <em>item</em> has a <a class="tref internalDFN" title="global_identifier" href="#dfn-global_identifier">global identifier</a> and that
+        <a class="tref internalDFN" title="global_identifier" href="#dfn-global_identifier">global identifier</a> is an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>, let <em>subject</em> be that
+        <a class="tref internalDFN" title="global_identifier" href="#dfn-global_identifier">global identifier</a>. Otherwise, let <em>subject</em> be a new <a class="tref internalDFN" title="blank_node" href="#dfn-blank_node">blank node</a>.
+      </li>
+      <li>Add a mapping from <em>item</em> to <em>subject</em> in <a class="tref internalDFN" title="memory" href="#dfn-memory">memory</a></li>
+      <li>
+        For each <em>type</em> returned from
+        <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>
+        of the element defining the <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+        <ol class="algorithm">
+          <li>If <em>type</em> is an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>, generate the following triple:
+            <dl class="triple">
+              <dt>subject</dt>
+              <dd><em>subject</em></dd>
+              <dt>predicate</dt>
+              <dd><code>http://www.w3.org/1999/02/22-rdf-syntax-ns#type</code></dd>
+              <dt>object</dt>
+              <dd><em>type</em> (as a <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a>)</dd>
+            </dl>
+          </li>
+        </ol>
+      </li>
+      <li>
+        Set <em>type</em> to the first value returned from
+        <code><cite><a href="http://www.w3.org/TR/2011/WD-microdata-20110525/#dom-itemtype">element.itemType</a></cite></code>
+        of the element defining the <a class="tref internalDFN" title="item" href="#dfn-item">item</a>.
+      </li>
+      <li>If <em>type</em> is an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>, set <a class="tref internalDFN" title="current_name" href="#dfn-current_name">current name</a> in
+        <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a> to null.</li>
+      <li>
+        Otherwise, set <em>type</em> to <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a> from
+        <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a> if not empty.
+      </li>
+      <li>If the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> contains a <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a> that is a character for character match of <em>type</em>
+        up to the length of the <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a>, set <em>vocab</em> as that <a class="tref internalDFN" title="uri_prefix" href="#dfn-uri_prefix">URI prefix</a>.
+      </li>
+      <li>Otherwise, if type is not empty, construct <em>vocab</em> by removing everything following the last
+        SOLIDUS U+002F ("/") or NUMBER SIGN U+0023 ("#") from the <em>path</em> component of <em>type</em>.</li>
+      <li>Update <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a> setting <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a> to <em>vocab</em>.</li> 
+      <li>
+        Set <em>property list</em> to an empty array mapping properties to one or more
+        <em>value</em>s as established below.
+      </li>
+      <li>
+        For each element <em>element</em> that has one or more <a class="tref internalDFN" title="property_names" href="#dfn-property_names">property names</a> and is one of the
+        <a class="tref internalDFN" title="item_properties" href="#dfn-item_properties">properties of the item</a> <em>item</em>, in the order those elements
+        are given by the algorithm that returns the <a class="tref internalDFN" title="item_properties" href="#dfn-item_properties">properties of the item</a>,
+        run the following substep:
+        <ol class="algorithm">
+          <li>
+            For each <em>name</em> in the element's <a class="tref internalDFN" title="property_names" href="#dfn-property_names">property names</a>, run the following substeps:
+            <ol class="algorithm">
+              <li>
+                Let <em>context</em> be a copy of <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a> with <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a> set
+                to <em>type</em>.
+              </li>
+              <li>
+                Let <em>predicate</em> be the result of <a href="#generate-predicate-uri">generate predicate URI</a>
+                using <em>context</em> and <em>name</em>.
+                 Update <em>context</em> by setting <a class="tref internalDFN" title="current_name" href="#dfn-current_name">current name</a> to <em>predicate</em>.
+              </li>
+              <li>
+                Let <em>value</em> be the <a class="tref internalDFN" title="property_value" href="#dfn-property_value">property value</a> of <em>element</em>.
+              </li>
+              <li>
+                If <em>value</em> is an <a class="tref internalDFN" title="item" href="#dfn-item">item</a>, then <a href="#generate-the-triples">generate the
+                triples</a> for <em>value</em> using <em>context</em>. Replace <em>value</em> by the subject returned
+                from those steps.
+              </li>
+              <li>
+                Add <em>value</em> to <em>property list</em> for <em>predicate</em>.
+              </li>
+            </ol>
+          </li>
+        </ol>
+      </li>
+      <li>
+        For each <em>predicate</em> in <em>property list</em>:
+        <ol class="algorithm">
+          <li><a href="#generate-property-values">Generate property values</a> <em>subject</em>, <em>predicate</em> and
+            the list of values associated with <em>predicate</em> from <em>property list</em> as <em>values</em>.
+          </li>
+        </ol>
+      </li>
+      <li>Return <em>subject</em></li>
+    </ol>
+  </div>
+  
+  <div id="generate-predicate-uri" class="section">
+    <h3><span class="secno">4.4 </span>Generate Predicate URI</h3>
+    <p>Predicate URI generation makes use of <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a>, <a class="tref internalDFN" title="current_name" href="#dfn-current_name">current name</a>,
+      and <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a> from an <a class="tref internalDFN" title="evaluation_context" href="#dfn-evaluation_context">evaluation context</a> <em>context</em>
+      along with <em>name</em>.</p>
+
+    <ol class="algorithm">
+      <li>If <em>name</em> is an <a class="tref internalDFN" title="absolute_url" href="#dfn-absolute_url">absolute URL</a>, return <em>name</em>
+        as a <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a>.</li>
+      <li>If <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a> from <em>context</em> is null, there can be no <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a>.        
+        Return the <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a> that is the <a class="tref internalDFN" title="document_base" href="#dfn-document_base">document base</a> with its <cite><a href="http://tools.ietf.org/html/rfc3986#section-3.5">fragment</a></cite> set to the <a class="tref internalDFN" title="fragment-escape" href="#dfn-fragment-escape">fragment-escape</a>d value
+        of <em>name</em>.
+        <div class="note">
+          This rule is intended to allow for a the case where no type is set, and therefore there is no
+          vocabulary from which to extract rules. For example, if there is a <a class="tref internalDFN" title="document_base" href="#dfn-document_base">document base</a> of
+          <code>http://example.org/doc</code> and an <a class="aref internalDFN" title="itemprop" href="#dfn-itemprop">@itemprop</a> of 'title', a URI will be constructed
+          to be <code>http://example.org/doc#title</code>.
+        </div>
+      </li>
+      <li>Otherwise, if <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a> from <em>context</em> is not null
+        and <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> has an entry for <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a> having a
+        <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri">propertyURI</a> entry that is not null, set that as <em>scheme</em>. Otherwise,
+        set <em>scheme</em> to <code>vocabulary</code>.</li>
+      <li id="scheme-vocab">If <em>scheme</em> is <code>vocabulary</code> return the <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a> constructed
+        by appending the <a class="tref internalDFN" title="fragment-escape" href="#dfn-fragment-escape">fragment-escape</a>d value of <em>name</em> to <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a>,
+        separated by a U+0023 NUMBER SIGN character (#) unless the <a class="tref internalDFN" title="current_vocabulary" href="#dfn-current_vocabulary">current vocabulary</a> ends
+        with either a U+0023 NUMBER SIGN character (#) or SOLIDUS U+002F (/).</li>
+      <li id="scheme-context">If <em>scheme</em> is <code>contextual</code>, return the <a class="tref internalDFN" title="uri_reference" href="#dfn-uri_reference">URI reference</a>
+        constructed as follows:
+        <ol class="algorithm">
+          <li>Let <em>s</em> be <a class="tref internalDFN" title="current_name" href="#dfn-current_name">current name</a> from <em>context</em>.</li>
+          <li>If <code>http://www.w3.org/ns/md?type=</code> is a prefix of <em>s</em>,
+            return the concatenation of <em>s</em>, a U+002E FULL STOP character (.) and
+            the <a class="tref internalDFN" title="fragment-escape" href="#dfn-fragment-escape">fragment-escape</a>d value of <em>name</em>.
+          </li>
+          <li>Otherwise, return the concatenation of <code>http://www.w3.org/ns/md?type=</code>,
+            the <a class="tref internalDFN" title="fragment-escape" href="#dfn-fragment-escape">fragment-escape</a>d value of <a class="tref internalDFN" title="current_type" href="#dfn-current_type">current type</a>, the string <code>&amp;prop=</code>,
+            and the <a class="tref internalDFN" title="fragment-escape" href="#dfn-fragment-escape">fragment-escape</a>d value of <em>name</em>.
+          </li>
+        </ol>
+      </li>
+    </ol>
+  </div>
+  
+  <div id="generate-property-values" class="section">
+    <h3><span class="secno">4.5 </span>Generate Property Values</h3>
+    <p>Property value serialization makes use of <em>subject</em>, <em>predicate</em> and <em>values</em>.</p>
+
+    <ol class="algorithm">
+      <li>If the <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> contains a URI prefix that is a character for character match of
+        <em>predicate</em> up to the length of the URI prefix, set <em>vocab</em> as that URI prefix.
+         Otherwise set <em>vocab</em> to null.</li>
+      <li>If <em>vocab</em> is not null
+        and <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> has an entry for <em>vocab</em> that is a JSON Object, let
+        <em>registry object</em> be that value. Otherwise set <em>registry object</em> to null.</li>
+      <li>If <em>registry object</em> is not null and <em>registry object</em> contains key
+        <a class="tref internalDFN" title="properties" href="#dfn-properties"><code>properties</code></a>
+        which has a JSON Object value, let <em>properties</em> be that value. Otherwise, set <em>properties</em>
+        to null.</li>
+      <li>If <em>properties</em> is not null, and <em>properties</em> contains a key, which after
+        <a href="#generate-predicate-uri">Generate Predicate URI</a> expansion has a value which is a JSON Object, let
+        <em>property override</em> be that value. Otherwise, set <em>property override</em> to null.</li>
+      <li>If <em>property override</em> contains the key
+        <a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a>, set that as <em>method</em>.</li>
+      <li>Otherwise, if <em>registry object</em> con  contains the key
+        <a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a>, set that as <em>method</em>.</li>
+      <li>Otherwise, set <em>method</em> to <code>unordered</code>.</li>
+      <li id="values-unordered">If <em>method</em> is <code>unordered</code>,
+        for each <em>value</em> in <em>values</em>, generate the following triple:
+        <dl class="triple">
+          <dt>subject</dt>
+          <dd><em>subject</em></dd>
+          <dt>predicate</dt>
+          <dd><em>predicate</em></dd>
+          <dt>object</dt>
+          <dd><em>value</em></dd>
+        </dl>
+      </li>
+      <li id="values-list">Otherwise, if <em>method</em> is <code>list</code>:
+        <ol class="algorithm">
+          <li>Set <em>value</em> to the value returned from <a href="#generate-collection">generate an RDF
+            Collection</a>.
+          </li>
+          <li>
+            Generate the following triple:
+            <dl class="triple">
+              <dt>subject</dt>
+              <dd><em>subject</em></dd>
+              <dt>predicate</dt>
+              <dd><em>predicate</em></dd>
+              <dt>object</dt>
+              <dd><em>value</em></dd>
+            </dl>
+          </li>
+        </ol>
+      </li>
+    </ol>
+  </div>
+
+  <div id="generate-collection" class="section">
+    <h3><span class="secno">4.6 </span>Generate RDF Collection</h3>
+    <p>
+      An <dfn title="rdf_collection" id="dfn-rdf_collection">RDF Collection</dfn> is a mechanism for defining ordered sequences of objects in RDF (See <cite><a href="http://www.w3.org/TR/rdf-syntax/#collections">RDF Collections</a></cite> in
+      [<cite><a class="bibref" rel="biblioentry" href="#bib-RDF-SCHEMA">RDF-SCHEMA</a></cite>]). As the RDF data-model is that of an unordered graph, a linking method using properties
+      <code>rdf:first</code> and <code>rdf:next </code>is required to be able to specify a particular order.
+    </p>
+    <p>
+      In the microdata to RDF mapping, <a class="tref internalDFN" title="rdf_collection" href="#dfn-rdf_collection">RDF Collection</a>s are used when an item has more than one value
+      associated with a given property to ensure that the original document order is maintained. The following
+      procedure should be used to generate triples when an <a class="tref internalDFN" title="item" href="#dfn-item">item</a> property has more than one value
+      (contained in <em>list</em>):
+    </p>
+    <ol class="algorithm">
+      <li>
+        Create a new array <em>array</em> containing a <a class="tref internalDFN" title="blank_node" href="#dfn-blank_node">blank node</a> for every value in <em>list</em>.
+      </li>
+      <li>
+        For each pair of <em>bnode</em> from <em>array</em> and <em>value</em> from <em>list</em> the following
+        triple is generated:
+        <dl class="triple">
+          <dt>subject</dt>
+          <dd><em>bnode</em></dd>
+          <dt>predicate</dt>
+          <dd><code>http://www.w3.org/1999/02/22-rdf-syntax-ns#first</code></dd>
+          <dt>object</dt>
+          <dd><em>value</em></dd>
+        </dl>
+      </li>
+      <li>
+        For each <em>bnode</em> in <em>array</em> the following triple is generated:
+        <dl class="triple">
+          <dt>subject</dt>
+          <dd><em>bnode</em></dd>
+          <dt>predicate</dt>
+          <dd><code>http://www.w3.org/1999/02/22-rdf-syntax-ns#rest</code></dd>
+          <dt>object</dt>
+          <dd>
+            next <em>bnode</em> in <em>array</em> or, if that does not exist,
+            <code>http://www.w3.org/1999/02/22-rdf-syntax-ns#nil</code>
+          </dd>
+        </dl>
+      </li>
+      <li>
+        Return the first <a class="tref internalDFN" title="blank_node" href="#dfn-blank_node">blank node</a> from <em>array</em>.
+      </li>
+    </ol>
+  </div>
+</div>
+
+<div class="appendix informative section" id="markup-examples">
+<!--OddPage--><h2><span class="secno">A. </span>Markup Examples</h2><p><em>This section is non-normative.</em></p>
+
+<p>The microdata example below expresses book information as an FRBR Work item.</p>
+
+<pre class="example">&lt;dl itemscope
+    itemtype="http://purl.org/vocab/frbr/core#Work"
+    itemid="http://books.example.com/works/45U8QJGZSQKDH8N"
+    lang="en"&gt;
+ &lt;dt&gt;Title&lt;/dt&gt;
+ &lt;dd&gt;&lt;cite itemprop="http://purl.org/dc/terms/title"&gt;Just a Geek&lt;/cite&gt;&lt;/dd&gt;
+ &lt;dt&gt;By&lt;/dt&gt;
+ &lt;dd&gt;&lt;span itemprop="http://purl.org/dc/terms/creator"&gt;Wil Wheaton&lt;/span&gt;&lt;/dd&gt;
+ &lt;dt&gt;Format&lt;/dt&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://books.example.com/products/9780596007683.BOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://books.example.com/product-types/BOOK"&gt;
+  Print
+ &lt;/dd&gt;
+ &lt;dd itemprop="http://purl.org/vocab/frbr/core#realization"
+     itemscope
+     itemtype="http://purl.org/vocab/frbr/core#Expression"
+     itemid="http://books.example.com/products/9780596802189.EBOOK"&gt;
+  &lt;link itemprop="http://purl.org/dc/terms/type" href="http://books.example.com/product-types/EBOOK"&gt;
+  Ebook
+ &lt;/dd&gt;
+&lt;/dl&gt;</pre>
+
+<p>Assuming that <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> contains a an entry for <code>http://purl.org/vocab/frbr/core#</code>
+  with <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a> set to <code>vocabulary</code>,
+  this is equivalent to the following Turtle:</p>
+<pre class="example">@prefix dc: &lt;http://purl.org/dc/terms/&gt; .
[email protected] md: &lt;http://www.w3.org/ns/md#&gt; .
[email protected] frbr: &lt;http://purl.org/vocab/frbr/core#&gt; .
+
+&lt;&gt; md:item (&lt;http://books.example.com/works/45U8QJGZSQKDH8N&gt;) .
+
+&lt;http://books.example.com/works/45U8QJGZSQKDH8N&gt; a frbr:Work ;
+  dc:creator "Wil Wheaton"@en ;
+  dc:title "Just a Geek"@en ;
+  frbr:realization &lt;http://books.example.com/products/9780596007683.BOOK&gt;,
+    &lt;http://books.example.com/products/9780596802189.EBOOK&gt; .
+
+&lt;http://books.example.com/products/9780596007683.BOOK&gt; a frbr:Expression ;
+  dc:type &lt;http://books.example.com/product-types/BOOK&gt; .
+
+&lt;http://books.example.com/products/9780596802189.EBOOK&gt; a frbr:Expression ;
+  dc:type &lt;http://books.example.com/product-types/EBOOK&gt; .</pre>
+
+<p>The following snippet of HTML has microdata for two people with the same address. This illustrates two
+  <a class="tref internalDFN" title="item" href="#dfn-item">item</a>s referencing a third item, and how only a single RDF resource definition is created
+  for that third item.</p>
+<pre class="example">&lt;p&gt;
+ Both
+ &lt;span itemscope="" itemtype="http://microformats.org/profile/hcard" itemref="home"&gt;
+   &lt;span itemprop="fn"
+       &gt;&lt;span itemprop="n" itemscope=""
+       &gt;&lt;span itemprop="given-name"&gt;Princeton&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
+  &lt;/span&gt;
+ and
+ &lt;span itemscope="" itemtype="http://microformats.org/profile/hcard" itemref="home"&gt;
+   &lt;span itemprop="fn"
+     &gt;&lt;span itemprop="n" itemscope=""
+       &gt;&lt;span itemprop="given-name"&gt;Trekkie&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
+  &lt;/span&gt;
+ live at
+ &lt;span id="home" itemprop="adr" itemscope=""&gt;
+   &lt;span itemprop="street-address"&gt;Avenue Q&lt;/span&gt;.
+ &lt;/span&gt;
+&lt;/p&gt;</pre>
+
+<p>Assuming that <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> contains a an entry for <code>http://microformats.org/profile/hcard</code>
+  with <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a> set to <code>vocabulary</code>,
+  it generates these triples expressed in Turtle:</p>
+
+<pre class="example">@prefix md: &lt;http://www.w3.org/ns/md#&gt; .
[email protected] hcard: &lt;http://microformats.org/profile/hcard#&gt; .
+
+&lt;&gt; md:item (
+  [ a &lt;http://microformats.org/profile/hcard&gt;;
+    hcard:fn "Princeton";
+    hcard:n [ hcard:given-name "Princeton" ];
+    hcard:adr _:a
+  ]
+  [ a &lt;http://microformats.org/profile/hcard&gt;;
+    hcard:fn "Trekkie";
+    hcard:n [ hcard:given-name "Trekkie" ];
+    hcard:adr _:a
+  ]) .
+
+_:a hcard:street-address "Avenue Q" .</pre>
+
+<p>The following snippet of HTML has microdata for a playlist, and illustrates overriding a property
+  to place elements in an RDF Collection:</p>
+<pre class="example">&lt;div itemscope="" itemtype="http://schema.org/MusicPlaylist"&gt;
+  &lt;span itemprop="name"&gt;Classic Rock Playlist&lt;/span&gt;
+  &lt;meta itemprop="numTracks" content="2"/&gt;
+  &lt;p&gt;Including works by
+    &lt;span itemprop="byArtist"&gt;Lynard Skynard&lt;/span&gt; and
+    &lt;span itemprop="byArtist"&gt;AC/DC&lt;/span&gt;&lt;/p&gt;.
+
+  &lt;div itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording"&gt;
+    1.&lt;span itemprop="name"&gt;Sweet Home Alabama&lt;/span&gt; -
+    &lt;span itemprop="byArtist"&gt;Lynard Skynard&lt;/span&gt;
+    &lt;link href="sweet-home-alabama" itemprop="url" /&gt;
+   &lt;/div&gt;
+
+  &lt;div itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording"&gt;
+    2.&lt;span itemprop="name"&gt;Shook you all Night Long&lt;/span&gt; -
+    &lt;span itemprop="byArtist"&gt;AC/DC&lt;/span&gt;
+    &lt;link href="shook-you-all-night-long" itemprop="url" /&gt;
+  &lt;/div&gt;
+&lt;/div&gt;</pre>
+
+<p>Assuming that <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> contains a an entry for <code>http://schema.org/</code>
+  with <a class="tref internalDFN" title="propertyuri" href="#dfn-propertyuri"><code>propertyURI</code></a> set to <code>vocabulary</code>,
+  <a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a> set to <code>unordered</code> with the properties
+  <code>track</code> and <code>byArtist</code> having <a class="tref internalDFN" title="multiplevalues" href="#dfn-multiplevalues"><code>multipleValues</code></a> set to <code>list</code>,
+  it generates these triples expressed in Turtle:</p>
+
+<pre class="example">@prefix md: &lt;http://www.w3.org/ns/md#&gt; .
[email protected] rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
[email protected] schema: &lt;http://schema.org/&gt; .
+
+&lt;&gt; md:item ([ a schema:MusicPlaylist;
+  schema:name "Classic Rock Playlist";
+  schema:byArtist ("Lynard Skynard" "AC/DC");
+  schema:numTracks "2";
+  schema:tracks (
+    [ a schema:MusicRecording;
+      schema:byArtist ("Lynard Skynard");;
+      schema:name "Sweet Home Alabama";
+      schema:url &lt;sweet-home-alabama&gt;]
+    [ a schema:MusicRecording;
+      schema:byArtist ("AC/DC");;
+      schema:name "Shook you all Night Long";
+      schema:url &lt;shook-you-all-night-long&gt;]
+  )]); .</pre>
+
+</div>
+
+<div class="appendix informative section" id="example-registry">
+  <!--OddPage--><h2><span class="secno">B. </span>Example <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a></h2><p><em>This section is non-normative.</em></p>
+  <p>The following is an example <a class="tref internalDFN" title="registry" href="#dfn-registry">registry</a> in JSON format.</p>
+
+  <pre class="example">{
+  "http://schema.org/": {
+    "propertyURI":    "vocabulary",
+    "multipleValues": "unordered",
+    "properties": {
+      "blogPosts": {"multipleValues": "list"},
+      "breadcrumb": {"multipleValues": "list"},
+      "byArtist": {"multipleValues": "list"},
+      "creator": {"multipleValues": "list"},
+      "episodes": {"multipleValues": "list"},
+      "events": {"multipleValues": "list"},
+      "founders": {"multipleValues": "list"},
+      "itemListElement": {"multipleValues": "list"},
+      "musicGroupMember": {"multipleValues": "list"},
+      "performerIn": {"multipleValues": "list"},
+      "performers": {"multipleValues": "list"},
+      "producer": {"multipleValues": "list"},
+      "recipeInstructions": {"multipleValues": "list"},
+      "seasons": {"multipleValues": "list"},
+      "subEvents": {"multipleValues": "list"},
+      "tracks": {"multipleValues": "list"}
+    }
+  },
+  "http://microformats.org/profile/hcard": {
+    "propertyURI":    "vocabulary",
+    "multipleValues": "unordered"
+  },
+  "http://microformats.org/profile/hcalendar#": {
+    "propertyURI":    "vocabulary",
+    "multipleValues": "unordered",
+    "properties": {
+      "categories": {"multipleValues": "list"}
+    }
+  }
+}</pre>
+</div>
+
+<div class="appendix informative section" id="acknowledgements">
+  <!--OddPage--><h2><span class="secno">C. </span>Acknowledgements</h2><p><em>This section is non-normative.</em></p>
+  <p>Thanks to Richard Cyganiak for property URI and vocabulary terminology and the general excellent
+    consideration of practical problems in generating RDF from microdata.</p>
+</div>
+
+
+
+<div id="references" class="appendix section"><!--OddPage--><h2><span class="secno">D. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">D.1 </span>Normative references</h3><dl class="bibliography"><dt id="bib-HTML5">[HTML5]</dt><dd>Ian Hickson; David Hyatt. <a href="http://www.w3.org/TR/html5"><cite>HTML5.</cite></a> 25 May 2011. W3C Working Draft. (Work in progress.) URL: <a href="http://www.w3.org/TR/html5">http://www.w3.org/TR/html5</a> 
+</dd><dt id="bib-MICRODATA">[MICRODATA]</dt><dd><cite><a href="http://dev.w3.org/html5/md/">HTML Microdata</a></cite> Ian Hickson Editor. World Wide Web Consortium (work in progress). 18 November 2011. This edition of the HTML Microdata specification is http://dev.w3.org/html5/md/. The <a href="http://dev.w3.org/html5/md/">latest edition of HTML Microdata</a> is available at http://www.w3.org/TR/microdata/
+</dd><dt id="bib-RDF-CONCEPTS">[RDF-CONCEPTS]</dt><dd>Graham Klyne; Jeremy J. Carroll. <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210"><cite>Resource Description Framework (RDF): Concepts and Abstract Syntax.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210">http://www.w3.org/TR/2004/REC-rdf-concepts-20040210</a> 
+</dd><dt id="bib-RDF-SCHEMA">[RDF-SCHEMA]</dt><dd>Dan Brickley; Ramanathan V. Guha. <a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210"><cite>RDF Vocabulary Description Language 1.0: RDF Schema.</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210">http://www.w3.org/TR/2004/REC-rdf-schema-20040210</a> 
+</dd><dt id="bib-RFC3986">[RFC3986]</dt><dd>T. Berners-Lee; R. Fielding; L. Masinter. <a href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource Identifier (URI): Generic Syntax.</cite></a> January 2005. Internet RFC 3986. URL: <a href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a> 
+</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">D.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-MICRODATA-RDF-SUPPLEMENT">[MICRODATA-RDF-SUPPLEMENT]</dt><dd><cite><a href="https://dvcs.w3.org/hg/htmldata/raw-file/default/microdata-supplement/index.html">Microdata to RDF Supplement</a></cite> Gregg Kellogg Editor. World Wide Web Consortium (work in progress). 22 January 2012.
+</dd><dt id="bib-RDF-SYNTAX-GRAMMAR">[RDF-SYNTAX-GRAMMAR]</dt><dd>Dave Beckett. <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210"><cite>RDF/XML Syntax Specification (Revised).</cite></a> 10 February 2004. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210">http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210</a> 
+</dd></dl></div></div></body></html>
\ No newline at end of file
--- a/microdata-rdf/index.html	Thu Mar 01 10:31:25 2012 -0800
+++ b/microdata-rdf/index.html	Thu Mar 01 11:25:12 2012 -0800
@@ -116,7 +116,7 @@
           // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
           specStatus:           "IG-NOTE",
           charterDisclosureURI: "http://www.w3.org/2006/07/swig-charter#Ipr",
-          publishDate:          "2012-02-13",
+          publishDate:          "2012-03-20",
           //copyrightStart:       "2011",
 
           // the specification's short name, as in http://www.w3.org/TR/short-name/