Added Microdata to RDF Supplement, which will servce as a living document for examples and other explanatory information related to the Microdata to RDF spec.
authorGregg Kellogg <gregg@kellogg-assoc.com>
Wed, 22 Feb 2012 09:37:06 -0800
changeset 95 81e80ce1337c
parent 94 036fb509c01b
child 96 5b7fcd8c418f
Added Microdata to RDF Supplement, which will servce as a living document for examples and other explanatory information related to the Microdata to RDF spec.
microdata-supplement/index.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/microdata-supplement/index.html	Wed Feb 22 09:37:06 2012 -0800
@@ -0,0 +1,298 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Microdata to RDF Supplement</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,
+  -->
+<script type="text/javascript"
+  src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove">
+ </script>
+<script type="text/javascript" class="remove">
+
+    var preProc = {
+          apply:  function(c) {
+                    // extend the bibliography entries
+                    berjon.biblio["MICRODATA-RDF"] = "<cite><a href=\"http://www.w3.org/TR/microdata-rdf/\">Microdata to RDF</a></cite> Gregg Kellogg Editor. World Wide Web Consortium (work in progress). 12 January 2011. This edition of the Microdata to RDF specification is http://www.w3.org/TR/2012/WD-microdata-rdf-20120112/. The <a href=\"http://www.w3.org/TR/2012/WD-microdata-rdf-20120112/\">latest edition of Microdata to RDF</a> is available at http://www.w3.org/TR/microdata-rdf/";
+
+                    // process the document before anything else is done
+                    var refs = document.querySelectorAll('adef') ;
+                    var adefs = [];
+                    for (var i = 0; i < refs.length; i++) {
+                        var item = refs[i];
+                        var p = item.parentNode ;
+                        var con = item.innerHTML ;
+                        var sp = document.createElement( 'dfn' ) ;
+                        var tit = item.getAttribute('title') ;
+                        if (!tit) {
+                            tit = con;
+                        }
+
+                        if ( adefs[tit]) {
+                          throw "Duplicate definition of attribute '" + tit + "'" ;
+                        }
+                        adefs[tit] = sp ;
+
+                        sp.className = 'adef' ;
+                        sp.title=tit ;
+                        sp.innerHTML = con ;
+                        p.replaceChild(sp, item) ;
+                    }
+                    refs = document.querySelectorAll('aref') ;
+                    for (var i = 0; i < refs.length; i++) {
+                        var item = refs[i];
+                        var p = item.parentNode ;
+                        var con = item.innerHTML ;
+                        var sp = document.createElement( 'a' ) ;
+                        if ( !adefs[con]) {
+                          throw "Reference to undefined attribute '" + con + "'" ;
+                        }
+                        sp.className = 'aref' ;
+                        sp.setAttribute('title', con);
+                        sp.innerHTML = '@'+con ;
+                        p.replaceChild(sp, item) ;
+                    }
+                    // now do terms
+                    refs = document.querySelectorAll('tdef') ;
+                    var tdefs = [];
+                    for (var i = 0; i < refs.length; i++) {
+                        var item = refs[i];
+                        if (!item) continue ;
+                        var p = item.parentNode ;
+                        var con = item.innerHTML ;
+                        var ref = item.getAttribute('title') ;
+                        if (!ref) {
+                            ref = item.textContent ;
+                        }
+                        if (ref) {
+                            ref = ref.replace(/\s+/g, '_').toLowerCase() ;
+                        }
+
+                        if ( tdefs[ref]) {
+                          throw "Duplicate definition of term '" + ref + "'" ;
+                        }
+
+                        var sp = document.createElement( 'dfn' ) ;
+                        tdefs[ref] = sp ;
+                        sp.title = ref ;
+                        sp.innerHTML = con ;
+                        p.replaceChild(sp, item) ;
+                    }
+                    // now term references
+                    refs = document.querySelectorAll('tref') ;
+                    for (var i = 0; i < refs.length; i++) {
+                        var item = refs[i];
+                        if (!item) continue ;
+                        var p = item.parentNode ;
+                        var con = item.innerHTML ;
+                        var ref = item.getAttribute('title') ;
+                        if (!ref) {
+                            ref = item.textContent ;
+                        }
+                        if (ref) {
+                            ref = ref.replace(/\s+/g, '_').toLowerCase() ;
+                        }
+
+                        if ( !tdefs[ref]) {
+                          throw "Reference to undefined term '" + ref + "'" ;
+                        }
+                        var sp = document.createElement( 'a' ) ;
+                        var id = item.textContent ;
+                        sp.className = 'tref' ;
+                        sp.title = ref ;
+                        sp.innerHTML = con ;
+                        p.replaceChild(sp, item) ;
+                    }
+                }
+        } ;
+
+
+      var respecConfig = {
+          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
+          specStatus:           "unofficial",
+          charterDisclosureURI: "http://www.w3.org/2006/07/swig-charter#Ipr",
+          //publishDate:          "2012-02-13",
+          //copyrightStart:       "2011",
+
+          // the specification's short name, as in http://www.w3.org/TR/short-name/
+          shortName:            "microdata-rdf-supplement",
+          subtitle:             "Supplementary information for Microdata to RDF transformation",
+
+          edDraftURI:           "https://dvcs.w3.org/hg/htmldata/raw-file/default/microdata-rdf-supplement/index.html",
+
+          // if this is a LCWD, uncomment and set the end of its review period
+          // lcEnd: "2009-08-05",
+
+          // if you want to have extra CSS, append them to this list
+          // it is recommended that the respec.css stylesheet be kept
+          extraCSS:             [
+              "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css"
+          ],
+
+          // editors, add as many as you like
+          // only "name" is required
+          editors:  [
+              { name: "Gregg Kellogg", url: "http://greggkellogg.net/",
+                company: "Kellogg Associates" }
+          ],
+
+          // authors, add as many as you like.
+          // This is optional, uncomment if you have authors as well as editors.
+          // only "name" is required. Same format as editors.
+
+          //authors:  [],
+
+          // name of the WG
+          wg:           "HTML Data Task Force, Semantic Web Interest Group",
+
+          // URI of the public WG page
+          wgURI:        "http://www.w3.org/2001/sw/interest/",
+
+          // name (with the @w3c.org) of the public mailing to which comments are due
+          wgPublicList: "public-html-data-tf",
+
+          // URI of the patent status for this WG, for Rec-track documents
+          // !!!! IMPORTANT !!!!
+          // This is important for Rec-track documents, do not copy a patent URI from a random
+          // document unless you know what you're doing. If in doubt ask your friendly neighbourhood
+          // Team Contact.
+          wgPatentURI:  "",
+          maxTocLevel: 4,
+          preProcess: [ preProc ]
+          //alternateFormats: [ {uri: "diff-20111118.html", label: "diff to previous version"} ],
+      };
+
+      function updateExample(doc, content) {
+        // perform transformations to make it render and prettier
+        content = content.replace(/<!--/, '');
+        content = content.replace(/-->/, '');
+        content = doc._esc(content);
+        content = content.replace(/\*\*\*\*([^*]*)\*\*\*\*/g, '<span class="diff">$1</span>') ;
+        return content ;
+      }
+
+      function updateDTD(doc, content) {
+        // perform transformations to
+        // make it render and prettier
+        content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
+        content = content.replace(/!ENTITY % ([^ \t\r\n]*)/g, '!ENTITY <span class="entity">% $1</span>');
+        content = content.replace(/!ELEMENT ([^ \t$]*)/mg, '!ELEMENT <span class="element">$1</span>');
+        return content;
+      }
+
+      function updateSchema(doc, content) {
+        // perform transformations to
+        // make it render and prettier
+        content = '<pre class="dtd">' + doc._esc(content) + '</pre>';
+        content = content.replace(/&lt;xs:element\s+name=&quot;([^&]*)&quot;/g, '&lt;xs:element name="<span class="element" id="schema_element_$1">$1</span>"') ;
+        return content;
+      }
+
+      function updateTTL(doc, content) {
+        // perform transformations to
+        // make it render and prettier
+        content = '<pre class="sh_sourceCode">' + doc._esc(content) + '</pre>';
+        content = content.replace(/@prefix/g, '<span class="sh_keyword">@prefix</span>');
+        return content;
+      }
+  </script>
+<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>
+</head>
+
+<body>
+<section id="abstract">
+  <p>This document provides supplementary information to [[!MICRODATA-RDF]].</p>
+</section>
+
+<section id='sotd'>
+<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>
+</section>
+
+<section class="informative">
+  <h1>Introduction</h1>
+  <p>This document provides some extended examples and explanatory information associated with
+    the [[!MICRODATA-RDF]] Interest Group Note.</p>
+</section>
+
+<section class="informative">
+  <h1>Registry Example</h1>
+  <p>The following is an example registry 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"}
+      }
+    },
+    "http://n.whatwg.org/work": {
+      "propertyURI":    "contextual",
+      "multipleValues": "list"
+    }
+  }
+  </pre>
+</p>
+</body>
+</html>