W3C home > Mailing lists > Public > public-html-commits@w3.org > May 2010

html5/profiles/source Overview-src.html,NONE,1.1 Overview.html,NONE,1.1 markup.css,NONE,1.1 respec-extensions.js,NONE,1.1

From: Manu Sporny via cvs-syncmail <cvsmail@w3.org>
Date: Sat, 22 May 2010 15:17:34 +0000
To: public-html-commits@w3.org
Message-Id: <E1OFqSE-0002WM-GF@lionel-hutz.w3.org>
Update of /sources/public/html5/profiles/source
In directory hutz:/tmp/cvs-serv9362/profiles/source

Added Files:
	Overview-src.html Overview.html markup.css 
	respec-extensions.js 
Log Message:
Added first Editors Draft of HTML5 Profiles document.


--- NEW FILE: respec-extensions.js ---
var preProc = {
  apply:  function(c) {
    // extend the bibliography entries

    berjon.biblio["HTML-RDFA"] = "Manu Sporny; et al. <a href=\"http://www.w3.org/TR/rdfa-in-html/\"><cite>HTML+RDFa</cite></a> 04 March 2010. W3C Working Draft. URL: <a href=\"http://www.w3.org/TR/rdfa-in-html/\">http://www.w3.org/TR/rdfa-in-html/</a> ";

    // process the document before anything else is done
    var refs = document.querySelectorAll('adef') ;
    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;
        }
        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' ) ;
        sp.className = 'aref' ;
        sp.setAttribute('title', con);
        sp.innerHTML = '@'+con ;
        p.replaceChild(sp, item) ;
    }
    // local datatype references
    refs = document.querySelectorAll('ldtref') ;
    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(/\n/g, '_') ;
            ref = ref.replace(/\s+/g, '_') ;
        }
        var sp = document.createElement( 'a' ) ;
        sp.className = 'datatype';
        sp.title = ref ;
        sp.innerHTML = con ;
        p.replaceChild(sp, item) ;
    }
    // external datatype references
    refs = document.querySelectorAll('dtref') ;
    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(/\n/g, '_') ;
            ref = ref.replace(/\s+/g, '_') ;
        }
        var sp = document.createElement( 'a' ) ;
        sp.className = 'externalDFN';
        sp.title = ref ;
        sp.innerHTML = con ;
        p.replaceChild(sp, item) ;
    }
    // now do terms
    refs = document.querySelectorAll('tdef') ;
    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(/\n/g, '_') ;
            ref = ref.replace(/\s+/g, '_') ;
        }
        var sp = document.createElement( 'dfn' ) ;
        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(/\n/g, '_') ;
            ref = ref.replace(/\s+/g, '_') ;
        }

        var sp = document.createElement( 'a' ) ;
        var id = item.textContent ;
        sp.className = 'tref' ;
        sp.title = ref ;
        sp.innerHTML = con ;
        p.replaceChild(sp, item) ;
    }
  }
};

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="hilite">$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;
}


--- NEW FILE: Overview.html ---
<!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>HTML5 Profiles</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,
     -->
    
    
    
  <link href="http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css" rel="stylesheet" type="text/css" charset="utf-8"><style type="text/css">code           { font-family: monospace; }
 
span.hilite { color: red; /* font-weight: bold */ }
 
li p           { margin-top: 0.3em;
                 margin-bottom: 0.3em; }
 
div.explanation { background-color: #ADD8E6;
                   width: 80%;
                   margin: 12px; padding: 8px; }
div.explanation li { margin-top: 8px; }
div.explanation dd { margin: 4px; }
 
                   
.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><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" 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">HTML5 Profiles</h1><h2 id="w3c-editor-s-draft-22-may-2010"><acronym title="World Wide Web Consortium">W3C</acronym> Editor's Draft 22 May 2010</h2><dl><dt>This version:</dt><dd><a href="http://html5.digitalbazaar.com/specs/html5-profiles.html">http://html5.digitalbazaar.com/specs/html5-profiles.html</a></dd><dt>Latest published version:</dt><dd><a href="http://www.w3.org/TR/html5-profiles/">http://www.w3.org/TR/html5-profiles/</a></dd><dt>Latest editor's draft:</dt><dd><a href="http://html5.digitalbazaar.com/specs/html5-profiles.html">http://html5.digitalbazaar.com/specs/html5-profiles.html</a></dd><dt>Previous version:</dt><dd>none</dd><dt>Editor:</dt><dd>Manu Sporny, Digital Bazaar <a href="mailto:msporny@digitalbazaar.com">msporny@digitalbazaar.com</a> </dd><dt>Authors:</dt><dd>Manu Sporny, Digital Bazaar <a href="mailto:msporny@digitalbazaar.com">msporny@digitalbazaar.com</a> </dd><dd>Julian Reschke, greenbytes, GmbH</dd><dd>Tantek Çelik, Microformats.org</dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2010 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium"><acronym title="World Wide Web Consortium">W3C</acronym></acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology"><acronym title="Massachusetts Institute of Technology">MIT</acronym></acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></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>This specification defines rules and guidelines for extending the 
      document processing rules for [<a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a>] documents. The specification of 
      the <code>profile</code> attribute in this document is designed to correct
      and supercede the definition of <code>profile</code> in [<a class="bibref" rel="biblioentry" href="#bib-HTML401">HTML401</a>] and
      [<a class="bibref" rel="biblioentry" href="#bib-XHTML11">XHTML11</a>].
      </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>
      The latest stable version of the editor's draft of this specification is 
      always available on the <acronym title="World Wide Web Consortium">W3C</acronym> CVS server. The latest editor's working copy 
      (which may contain unfinished text in the process of being prepared) is 
      also available.
      </p>
      
      <p>
      The <acronym title="World Wide Web Consortium">W3C</acronym> HTML Working Group is the <acronym title="World Wide Web Consortium">W3C</acronym> working group responsible for this 
      specification's progress along the <acronym title="World Wide Web Consortium">W3C</acronym> Recommendation track.
      </p>

      <p>This specification is an extension to the HTML5 language. All normative
      content in the HTML5 specification, unless specifically overridden by this
      specification, is intended to be the basis for this specification.
      </p>
    <p>This document was published by the <a href="http://www.w3.org/html/wg/">HTML Working Group</a> as an Editor's Draft. If you wish to make comments regarding this document, please send them to <a href="mailto:public-html@w3.org@w3.org">public-html@w3.org@w3.org</a> (<a href="mailto:public-html@w3.org-request@w3.org?subject=subscribe">subscribe</a>, <a href="http://lists.w3.org/Archives/Public/public-html@w3.org/">archives</a>). All feedback is welcome.</p><p>Publication as a Editor's Draft 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>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</a>. <acronym title="World Wide Web Consortium">W3C</acronym> maintains a <a href="http://www.w3.org/2004/01/pp-impl/39408/status" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the <acronym title="World Wide Web Consortium">W3C</acronym> Patent Policy</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></li><li class="tocline"><a href="#conformance" class="tocxref"><span class="secno">2. </span>Conformance</a></li><li class="tocline"><a href="#the-profile-attribute" class="tocxref"><span class="secno">3. </span>The Profile Attribute</a></li><li class="tocline"><a href="#profile-documents" class="tocxref"><span class="secno">4. </span>Profile Documents</a></li><li class="tocline"><a href="#microformat-profile-document-example" class="tocxref"><span class="secno">5. </span>Microformat Profile Document Example</a></li><li class="tocline"><a href="#rdfa-profile-document-example" class="tocxref"><span class="secno">6. </span>RDFa Profile Document Example</a></li><li class="tocline"><a href="#the-profile-attribute-in-other-languages" class="tocxref"><span class="secno">7. </span>The Profile Attribute in Other Languages</a></li><li class="tocline"><a href="#html-4.01-errata" class="tocxref"><span class="secno">8. </span>HTML 4.01 Errata</a></li><li class="tocline"><a href="#references" class="tocxref"><span class="secno">A. </span>References</a><ul class="toc"><li class="tocline"><a href="#normative-references" class="tocxref"><span class="secno">A.1 </span>Normative references</a></li><li class="tocline"><a href="#informative-references" class="tocxref"><span class="secno">A.2 </span>Informative references</a></li></ul></li></ul></div>
    
    

    <div id="introduction" class="section">
      <!--OddPage--><h2><span class="secno">1. </span>Introduction</h2>
      <p>
      The profile attribute was introduced in [<a class="bibref" rel="biblioentry" href="#bib-HTML401">HTML401</a>] as a means to specifiy 
      the location of one or more metadata profiles. The attribute could 
      contain a space-separated list of tokens or URIs and was primarily 
      designed to extend the way User Agents processed the HTML document. 
      User agents could recognize the URI (without actually retrieving the 
      profile) and perform some activity based on known conventions for that 
      profile. Applications could also dereference the URI and perform some 
      activity based on the definitions within the profile.
      </p>

      <p>
      The mechanism to use the contents of the profile attribute
      was not defined in [<a class="bibref" rel="biblioentry" href="#bib-HTML401">HTML401</a>]. However, the mechanism on processing
      the profile attribute was later described by XMDP, [<a class="bibref" rel="biblioentry" href="#bib-GRDDL">GRDDL</a>], eRDF, 
      [<a class="bibref" rel="biblioentry" href="#bib-RDFA-CORE">RDFA-CORE</a>], [<a class="bibref" rel="biblioentry" href="#bib-XHTML-RDFA">XHTML-RDFA</a>] and [<a class="bibref" rel="biblioentry" href="#bib-HTML-RDFA">HTML-RDFA</a>]. The mechanism in each
      technology defined a set of processing instructions for extracting 
      semantics from attribute values contained in the HTML document.
      </p>
      
      <p>
      Specifically, XMDP clarified profile attribute processing, and introduced 
      a profile document format based on XHTML which authors could produce and 
      link to using the [<a class="bibref" rel="biblioentry" href="#bib-HTML401">HTML401</a>] profile attribute. GRDDL outlined how one
      could use the profile attribute to process the document and 
      extract metadata. The languages that included RDFa defined how the
      profile attribute could be used to pre-declare vocabulary terms and
      prefix mappings.
      </p>

      <p>
      While the HTML5 base specification dropped the <code>profile</code> 
      attribute from the <code>HEAD</code> element, the attribute continues to
      be utilized by a number of structured data communities.
      </p>

      <p>
      This document is an extension to HTML5 which achieves the following:
      </p>
      <ul>
         <li>Generalizes the profile attribute to all elements for scoped 
         indication of vocabularies and metadata processing rules.</li>
         <li>Provides a more thorough and rigorous definition of the 
         profile attribute for languages that include the attribute.</li>
         <li>Provides errata for the profile attribute in HTML4 that brings it
         in-line with current usage in Microformats, GRDDL and RDFa.</li>
      </ul>
    </div>
    
    <div id="conformance" class="normative section"><!--OddPage--><h2><span class="secno">2. </span>Conformance</h2><p>As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.</p>
<p>The key words <em class="rfc2119" title="must">must</em>, <em class="rfc2119" title="must not">must not</em>, <em class="rfc2119" title="required">required</em>, <em class="rfc2119" title="should">should</em>, <em class="rfc2119" title="should not">should not</em>, <em class="rfc2119" title="recommended">recommended</em>, <em class="rfc2119" title="may">may</em>, and <em class="rfc2119" title="optional">optional</em> in this specification are to be interpreted as described in [<a class="bibref" rel="biblioentry" href="#bib-RFC2119">RFC2119</a>].</p>

    </div>
    
    <div id="the-profile-attribute" class="section">
      <!--OddPage--><h2><span class="secno">3. </span>The Profile Attribute</h2>
      <p>This specification defines a single attribute and the way in which
      the values of that attribute are to be interpreted when generating a
      list of URIs.</p>
      <dl>
        <dt><dfn class="adef" title="profile" id="dfn-profile">profile</dfn></dt>
        <dd>a 
        <a href="http://www.w3.org/TR/html5/Overview.html#space-character">
        whitespace separated</a> list of one or more URIs, each corresponding 
        to a profile document.</dd>
      </dl>

      <p>The <code>profile</code> attribute is valid on any element in
      the document. When processing attribute values, each URI must be processed 
      from left to right. The characters that constitute whitespace are detailed
      in the [<a class="bibref" rel="biblioentry" href="#bib-HTML5">HTML5</a>] specification, under the term 
      <strong>space characters</strong>.</p>
    </div>

    <div id="profile-documents" class="section">
      <!--OddPage--><h2><span class="secno">4. </span>Profile Documents</h2>
      <p>
      Profile documents define document metadata extraction instructions and/or 
      vocabulary terms. These instructions and vocabulary terms apply 
      to the current element and all descendant elements.
      </p>
    </div>
    
    <div class="informative section" id="microformat-profile-document-example">
      <!--OddPage--><h2><span class="secno">5. </span>Microformat Profile Document Example</h2><p><em>This section is non-normative.</em></p>
      <pre class="example">&lt;div <span class="hilite">profile</span>="<span class="hilite">http://microformats.org/wiki/hcard</span>" class="<span class="hilite">vcard</span>"&gt;
 &lt;a class="<span class="hilite">url fn</span>" href="<span class="hilite">http://tantek.com/</span>"&gt;<span class="hilite">Tantek Çelik</span>&lt;/a&gt;
&lt;/div&gt;</pre>
      <p>Would generate the following key-value mapping (in JSON format):</p>
      <pre class="example">{
   "___type___": "http://microformats.org/wiki/hcard#vcard",
   "http://microformats.org/wiki/hcard#fn": "Tantek Çelik",
   "http://microformats.org/wiki/hcard#url": "http://tantek.com/"
}</pre>
    </div>

    <div class="informative section" id="rdfa-profile-document-example">
      <!--OddPage--><h2><span class="secno">6. </span>RDFa Profile Document Example</h2><p><em>This section is non-normative.</em></p>
      <pre class="example">&lt;div <span class="hilite">profile</span>="<span class="hilite">http://microformats.org/vocabs/hcard</span>" typeof="<span class="hilite">vcard</span>"&gt;
 &lt;a rel="<span class="hilite">url</span>" href="<span class="hilite">http://manu.sporny.org/</span>" property="<span class="hilite">fn</span>"&gt;<span class="hilite">Manu Sporny</span>&lt;/a&gt;
&lt;/div&gt;</pre>
      <p>Would generate the following triples:</p>
      <pre class="example">_:subject0 
   &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt;
      &lt;http://microformats.org/vocabs/hcard#vcard&gt; .
_:subject0 
   &lt;http://microformats.org/vocabs/hcard#fn&gt;
      "Manu Sporny" .
_:subject0 
   &lt;http://microformats.org/vocabs/hcard#url&gt;
      &lt;http://manu.sporny.org/&gt; .</pre>      
      
      <p class="issue">
      Add a way that microdata could use definitions provided by the 
      profile attribute without having to use full URLs in itemtype attribute 
      values for example.
      </p>
      <p class="issue">
      Add an example using the profile attribute to 
      introduce/define/scope a vocabulary and then use in microdata, 
      microformats, and RDFa markup simultaneously, as a demonstration that they
      can be used on the same data in a complementary overlapping fashion. Not 
      sure of the utility of doing this but demonstrating that they can 
      be used in the same document or even on the same element may 
      help both alleviate incompatibility concerns, and how to use shared 
      vocabularies across multiple syntaxes.
      </p>
    </div>

    <div class="informative section" id="the-profile-attribute-in-other-languages">
      <!--OddPage--><h2><span class="secno">7. </span>The Profile Attribute in Other Languages</h2><p><em>This section is non-normative.</em></p>

      <p>The profile attribute as defined in this specification can be applied 
      to other markup languages (including previous versions of HTML and XHTML) 
      as follows.
      </p>

      <p class="issue">
      Add an informative profile attribute processing model for other languages.
      </p>
      
      <p class="issue">
      Add examples of HTML4, XHTML1, SVG, and other markup languages that have a 
      class attribute.
      </p>

      <p class="issue">
      Add examples of Atom, and other markup languages that have a rel attribute.
      </p>
      
      <p class="issue">
      Add note/reference how other markup languages could be extended with both 
      the profile attribute and with one or more of : microformats (by adding 
      class and rel attributes), RDFa (by adding property, rel, and about 
      attributes), and microdata (by adding itemscope, itemtype, itemprop, 
      itemid, and itemref attributes).
      </p>
    </div>

    <div class="informative section" id="html-4.01-errata">
      <!--OddPage--><h2><span class="secno">8. </span>HTML 4.01 Errata</h2><p><em>This section is non-normative.</em></p>
      <p>
      The HTML4 recommendation is inconsistent in its description of the 
      profile attribute:
      </p>

      <p>
      The DTD specifies <code>%URI;</code>, which just expands to 
      <code>CDATA</code>. On the other hand, the prose explains that
      </p><blockquote>This attribute specifies the location of one or more meta data 
      profiles, separated by white space. For future extensions, user agents 
      should consider the value to be a list even though this specification 
      only considers the first URI to be significant. Profiles are discussed 
      below in the section on meta data.</blockquote>
      <p></p>
      
      <p>
      Since the publication of HTML 4.01, a number of meta data profiles have 
      been defined, and many of them can be used in the same document. While 
      the profile attribute does not help in discovering which profile applies 
      to which part of the document, it does allow declaring which profiles are 
      in use, potentially triggering extended behavior in recipients.
      </p>

      <p>
      This erratum restores consistency in HTML 4.01, explicitly allowing 
      multiple URIs in a single profile attribute.
      </p>

      <p class="issue">
      Do we need to include XMDP interpretations of HTML 4.01 / XHTML 1.0?
      </p>

      <h4 id="section-6.4---uris"><a href="http://www.w3.org/TR/html4/types.html#type-uri">Section 6.4</a> - URIs</h4>
      <p> 
        After
      </p> 
      <blockquote> 
        URIs are represented in the DTD by the parameter entity %URI;.
      </blockquote> 
      <p> 
        add
      </p> 
      <blockquote> 
        A set of whitespace-separated URIs are represented by the parameter entity %URIlist;.
      </blockquote> 
      
      <h4 id="section-7.4.1---the-head-element"><a href="http://www.w3.org/TR/html4/struct/global.html#h-7.4.1">Section 7.4.1</a> - The HEAD element</h4>
      <p> 
        Replace 
      </p> 
      <pre> 
      <tt>profile</tt> = <em>uri</em> [CT]
      </pre> 
      <p> 
        with
      </p> 
      <pre> 
      <tt>profile</tt> = <em>urilist</em> [CT]
      </pre> 
      <p> 
        (just replacing "uri" by "urilist", but not changing the link target)
      </p> 
      
      <p> 
        Replace  
      </p> 
      <pre> 
      profile     %URI;          #IMPLIED  -- named dictionary of meta info --
      </pre> 
      <p> 
        with
      </p> 
      <pre> 
      profile     %URIlist;      #IMPLIED  -- list of named meta info dictionaries, whitespace separated --
      </pre> 
      <p> 
        Update the <a href="http://www.w3.org/TR/html4/index/attributes.html">attribute index</a> accordingly.
      </p> 
      
      <p> 
        Replace
      </p> 
      <blockquote> 
      This attribute specifies the location of one or more meta data profiles,
      separated by white space. For future extensions, user agents should consider
      the value to be a list even though this specification only considers the
      first URI to be significant. Profiles are discussed below in the section on
      meta data.
      </blockquote> 
      <p> 
        with
      </p> 
      <blockquote> 
      This attribute specifies the location of one or more meta data profiles,
      separated by white space. In case of ambiguities, profiles that appear
      later in the attribute value should be considered more significant.
      Profiles are discussed below in the section on meta data.
      </blockquote> 
      
      <h4 id="section-7.4.4---meta-data-profiles"><a href="http://www.w3.org/TR/html4/struct/global.html#profiles">Section 7.4.4</a> - Meta Data Profiles</h4>
      <p> 
        Replace
      </p> 
      <blockquote> 
        The profile attribute of the HEAD specifies the location of a meta data
        profile. The value of the profile attribute is a URI. User agents may use
        this URI in two ways: 
      </blockquote> 
      <p> 
        with
      </p> 
      <blockquote> 
        The profile attribute of the HEAD specifies a set of locations of meta data
        profiles. The value of the profile attribute is a whitespace-separated list
        of URIs. User agents may use these URIs in two ways: 
      </blockquote> 
     
      <h4 id="section-21---document-type-definition"><a href="http://www.w3.org/TR/html4/sgml/dtd.html">Section 21</a> - Document Type Definition</h4>
      <p> 
        Note: the changes below apply both to the copy of the DTD in the HTML 4.01 spec,
        and the actual DTD files.
      </p> 
      <p> 
        After the definition for <code>URI</code>, insert:
      </p> 
      <pre> 
    &lt;!ENTITY % URIlist "CDATA"
        -- whitespace-separated list of Uniform Resource Identifiers,
           see [URI]
        --&gt;
      </pre> 
      <p> 
        Replace the following definition:
      </p> 
      <pre> 
    &lt;!ATTLIST HEAD
      %i18n;                               -- lang, dir --
      profile     %URI;          #IMPLIED  -- named dictionary of meta info --
      &gt;
      </pre> 
      <p> 
        with
      </p> 
      <pre> 
    &lt;!ATTLIST HEAD
      %i18n;                               -- lang, dir --
      profile     %URIlist;      #IMPLIED  -- list of named meta info dictionaries, whitespace separated --
      &gt;
      </pre>
    </div>    

  

<div id="references" class="appendix section"><!--OddPage--><h2><span class="secno">A. </span>References</h2><div id="normative-references" class="section"><h3><span class="secno">A.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/2010/WD-html5-20100304/"><cite>HTML 5.</cite></a> 4 March 2010. W3C Working Draft. (Work in progress.) URL: <a href="http://www.w3.org/TR/2010/WD-html5-20100304/">http://www.w3.org/TR/2010/WD-html5-20100304/</a> 
</dd><dt id="bib-RFC2119">[RFC2119]</dt><dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key words for use in RFCs to Indicate Requirement Levels.</cite></a> Internet RFC 2119. URL: <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a> 
</dd></dl></div><div id="informative-references" class="section"><h3><span class="secno">A.2 </span>Informative references</h3><dl class="bibliography"><dt id="bib-GRDDL">[GRDDL]</dt><dd>Dan Connolly. <a href="http://www.w3.org/TR/2007/REC-grddl-20070911"><cite>Gleaning Resource Descriptions from Dialects of Languages (GRDDL).</cite></a> 11 September 2007. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2007/REC-grddl-20070911">http://www.w3.org/TR/2007/REC-grddl-20070911</a> 
</dd><dt id="bib-HTML-RDFA">[HTML-RDFA]</dt><dd>Manu Sporny; et al. <a href="http://www.w3.org/TR/rdfa-in-html/"><cite>HTML+RDFa</cite></a> 04 March 2010. W3C Working Draft. URL: <a href="http://www.w3.org/TR/rdfa-in-html/">http://www.w3.org/TR/rdfa-in-html/</a> 
</dd><dt id="bib-HTML401">[HTML401]</dt><dd>David Raggett; Ian Jacobs; Arnaud Le Hors. <a href="http://www.w3.org/TR/1999/REC-html401-19991224"><cite>HTML 4.01 Specification.</cite></a> 24 December 1999. W3C Recommendation. URL: <a href="http://www.w3.org/TR/1999/REC-html401-19991224">http://www.w3.org/TR/1999/REC-html401-19991224</a> 
</dd><dt id="bib-RDFA-CORE">[RDFA-CORE]</dt><dd>Shane McCarron; et al. <a href="http://www.w3.org/TR/2010/WD-rdfa-core-20100422"><cite>RDFa Core 1.1: Syntax and processing rules for embedding RDF through attributes.</cite></a>22 April 2010. W3C Working Draft. URL: <a href="http://www.w3.org/TR/2010/WD-rdfa-core-20100422">http://www.w3.org/TR/2010/WD-rdfa-core-20100422</a> 
</dd><dt id="bib-XHTML-RDFA">[XHTML-RDFA]</dt><dd>Shane McCarron; et. al. <a href="http://www.w3.org/TR/2010/WD-xhtml-rdfa-20100422"><cite>XHTML+RDFa 1.1.</cite></a> 22 April 2010. W3C Working Draft. URL: <a href="http://www.w3.org/TR/2010/WD-xhtml-rdfa-20100422">http://www.w3.org/TR/WD-xhtml-rdfa-20100422</a> 
</dd><dt id="bib-XHTML11">[XHTML11]</dt><dd>Murray Altheim; Shane McCarron. <a href="http://www.w3.org/TR/2001/REC-xhtml11-20010531"><cite>XHTML™ 1.1 - Module-based XHTML.</cite></a> 31 May 2001. W3C Recommendation. URL: <a href="http://www.w3.org/TR/2001/REC-xhtml11-20010531">http://www.w3.org/TR/2001/REC-xhtml11-20010531</a> 
</dd></dl></div></div></body></html>

--- NEW FILE: Overview-src.html ---
<!DOCTYPE html>
<html>
  <head>
    <title>HTML5 Profiles</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 src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' class='remove'></script>
    <script src='respec-extensions.js' class='remove'></script>
    <script class='remove'>
      var respecConfig = {
          // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
          specStatus:           "ED",
          
          // the specification's short name, as in http://www.w3.org/TR/short-name/
          shortName:            "html5-profiles",

          // if you wish the publication date to be other than today, set this
          //publishDate:  "2010-01-10",

          // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
          // and its maturity status
          //previousPublishDate:  "2008-09-04",
          //previousMaturity:  "ED",

          // if there a publicly available Editor's Draft, this is the link
          edDraftURI:           "http://html5.digitalbazaar.com/specs/html5-profiles.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",
                     "markup.css"],

          // editors, add as many as you like
          // only "name" is required
          editors:  [
              { name: "Manu Sporny", 
                company: "Digital Bazaar", mailto: "msporny@digitalbazaar.com" },
          ],

          // 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: "Manu Sporny", 
                company: "Digital Bazaar", mailto: "msporny@digitalbazaar.com" },
              { name: "Julian Reschke", 
                company: "greenbytes, GmbH"},
              { name: "Tantek Çelik", 
                company: "Microformats.org"}
          ],
          
          // name of the WG
          wg:           "HTML Working Group",
          
          // URI of the public WG page
          wgURI:        "http://www.w3.org/html/wg/",
          
          // name (with the @w3c.org) of the public mailing to which comments are due
          wgPublicList: "public-html@w3.org",
          
          // 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:  "http://www.w3.org/2004/01/pp-impl/39408/status",
          maxTocLevel: 4,
          preProcess: [ preProc ]          
      };
    </script>
  </head>
  <body>
    <section id="abstract">
      <p>This specification defines rules and guidelines for extending the 
      document processing rules for [[!HTML5]] documents. The specification of 
      the <code>profile</code> attribute in this document is designed to correct
      and supercede the definition of <code>profile</code> in [[HTML401]] and
      [[XHTML11]].
      </p>        
    </section>
    
    <section id="sotd">
      <p>
      The latest stable version of the editor's draft of this specification is 
      always available on the W3C CVS server. The latest editor's working copy 
      (which may contain unfinished text in the process of being prepared) is 
      also available.
      </p>
      
      <p>
      The W3C HTML Working Group is the W3C working group responsible for this 
      specification's progress along the W3C Recommendation track.
      </p>

      <p>This specification is an extension to the HTML5 language. All normative
      content in the HTML5 specification, unless specifically overridden by this
      specification, is intended to be the basis for this specification.
      </p>
    </section>

    <section>
      <h2>Introduction</h2>
      <p>
      The profile attribute was introduced in [[HTML401]] as a means to specifiy 
      the location of one or more metadata profiles. The attribute could 
      contain a space-separated list of tokens or URIs and was primarily 
      designed to extend the way User Agents processed the HTML document. 
      User agents could recognize the URI (without actually retrieving the 
      profile) and perform some activity based on known conventions for that 
      profile. Applications could also dereference the URI and perform some 
      activity based on the definitions within the profile.
      </p>

      <p>
      The mechanism to use the contents of the profile attribute
      was not defined in [[HTML401]]. However, the mechanism on processing
      the profile attribute was later described by XMDP, [[GRDDL]], eRDF, 
      [[RDFA-CORE]], [[XHTML-RDFA]] and [[HTML-RDFA]]. The mechanism in each
      technology defined a set of processing instructions for extracting 
      semantics from attribute values contained in the HTML document.
      </p>
      
      <p>
      Specifically, XMDP clarified profile attribute processing, and introduced 
      a profile document format based on XHTML which authors could produce and 
      link to using the [[HTML401]] profile attribute. GRDDL outlined how one
      could use the profile attribute to process the document and 
      extract metadata. The languages that included RDFa defined how the
      profile attribute could be used to pre-declare vocabulary terms and
      prefix mappings.
      </p>

      <p>
      While the HTML5 base specification dropped the <code>profile</code> 
      attribute from the <code>HEAD</code> element, the attribute continues to
      be utilized by a number of structured data communities.
      </p>

      <p>
      This document is an extension to HTML5 which achieves the following:
      </p>
      <ul>
         <li>Generalizes the profile attribute to all elements for scoped 
         indication of vocabularies and metadata processing rules.</li>
         <li>Provides a more thorough and rigorous definition of the 
         profile attribute for languages that include the attribute.</li>
         <li>Provides errata for the profile attribute in HTML4 that brings it
         in-line with current usage in Microformats, GRDDL and RDFa.</li>
      </ul>
    </section>
    
    <section id='conformance' class='normative'>
    </section>
    
    <section>
      <h2>The Profile Attribute</h2>
      <p>This specification defines a single attribute and the way in which
      the values of that attribute are to be interpreted when generating a
      list of URIs.</p>
      <dl>
        <dt><adef>profile</adef></dt>
        <dd>a 
        <a href="http://www.w3.org/TR/html5/Overview.html#space-character">
        whitespace separated</a> list of one or more URIs, each corresponding 
        to a profile document.</dd>
      </dl>

      <p>The <code>profile</code> attribute is valid on any element in
      the document. When processing attribute values, each URI must be processed 
      from left to right. The characters that constitute whitespace are detailed
      in the [[!HTML5]] specification, under the term 
      <strong>space characters</strong>.</p>
    </section>

    <section>
      <h2>Profile Documents</h2>
      <p>
      Profile documents define document metadata extraction instructions and/or 
      vocabulary terms. These instructions and vocabulary terms apply 
      to the current element and all descendant elements.
      </p>
    </section>
    
    <section class="informative">
      <h3>Microformat Profile Document Example</h3>
      <pre class="example" data-transform="updateExample">
<!--
<div ****profile****="****http://microformats.org/wiki/hcard****" class="****vcard****">
 <a class="****url fn****" href="****http://tantek.com/****">****Tantek Çelik****</a>
</div>
-->
      </pre>
      <p>Would generate the following key-value mapping (in JSON format):</p>
      <pre class="example" data-transform="updateExample">
<!--
{
   "___type___": "http://microformats.org/wiki/hcard#vcard",
   "http://microformats.org/wiki/hcard#fn": "Tantek Çelik",
   "http://microformats.org/wiki/hcard#url": "http://tantek.com/"
}
-->
      </pre>
    </section>

    <section class="informative">
      <h3>RDFa Profile Document Example</h3>
      <pre class="example" data-transform="updateExample">
<!--
<div ****profile****="****http://microformats.org/vocabs/hcard****" typeof="****vcard****">
 <a rel="****url****" href="****http://manu.sporny.org/****" property="****fn****">****Manu Sporny****</a>
</div>
-->
      </pre>
      <p>Would generate the following triples:</p>
      <pre class="example" data-transform="updateExample">
<!--
_:subject0 
   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
      <http://microformats.org/vocabs/hcard#vcard> .
_:subject0 
   <http://microformats.org/vocabs/hcard#fn>
      "Manu Sporny" .
_:subject0 
   <http://microformats.org/vocabs/hcard#url>
      <http://manu.sporny.org/> .
-->
      </pre>      
      
      <p class="issue">
      Add a way that microdata could use definitions provided by the 
      profile attribute without having to use full URLs in itemtype attribute 
      values for example.
      </p>
      <p class="issue">
      Add an example using the profile attribute to 
      introduce/define/scope a vocabulary and then use in microdata, 
      microformats, and RDFa markup simultaneously, as a demonstration that they
      can be used on the same data in a complementary overlapping fashion. Not 
      sure of the utility of doing this but demonstrating that they can 
      be used in the same document or even on the same element may 
      help both alleviate incompatibility concerns, and how to use shared 
      vocabularies across multiple syntaxes.
      </p>
    </section>

    <section class="informative">
      <h2>The Profile Attribute in Other Languages</h2>

      <p>The profile attribute as defined in this specification can be applied 
      to other markup languages (including previous versions of HTML and XHTML) 
      as follows.
      </p>

      <p class="issue">
      Add an informative profile attribute processing model for other languages.
      </p>
      
      <p class="issue">
      Add examples of HTML4, XHTML1, SVG, and other markup languages that have a 
      class attribute.
      </p>

      <p class="issue">
      Add examples of Atom, and other markup languages that have a rel attribute.
      </p>
      
      <p class="issue">
      Add note/reference how other markup languages could be extended with both 
      the profile attribute and with one or more of : microformats (by adding 
      class and rel attributes), RDFa (by adding property, rel, and about 
      attributes), and microdata (by adding itemscope, itemtype, itemprop, 
      itemid, and itemref attributes).
      </p>
    </section>

    <section class="informative">
      <h2>HTML 4.01 Errata</h2>
      <p>
      The HTML4 recommendation is inconsistent in its description of the 
      profile attribute:
      </p>

      <p>
      The DTD specifies <code>%URI;</code>, which just expands to 
      <code>CDATA</code>. On the other hand, the prose explains that
      <blockquote>This attribute specifies the location of one or more meta data 
      profiles, separated by white space. For future extensions, user agents 
      should consider the value to be a list even though this specification 
      only considers the first URI to be significant. Profiles are discussed 
      below in the section on meta data.</blockquote>
      </p>
      
      <p>
      Since the publication of HTML 4.01, a number of meta data profiles have 
      been defined, and many of them can be used in the same document. While 
      the profile attribute does not help in discovering which profile applies 
      to which part of the document, it does allow declaring which profiles are 
      in use, potentially triggering extended behavior in recipients.
      </p>

      <p>
      This erratum restores consistency in HTML 4.01, explicitly allowing 
      multiple URIs in a single profile attribute.
      </p>

      <p class="issue">
      Do we need to include XMDP interpretations of HTML 4.01 / XHTML 1.0?
      </p>

      <h4><a href="http://www.w3.org/TR/html4/types.html#type-uri">Section 6.4</a> - URIs</h4>
      <p> 
        After
      </p> 
      <blockquote> 
        URIs are represented in the DTD by the parameter entity %URI;.
      </blockquote> 
      <p> 
        add
      </p> 
      <blockquote> 
        A set of whitespace-separated URIs are represented by the parameter entity %URIlist;.
      </blockquote> 
      
      <h4><a href="http://www.w3.org/TR/html4/struct/global.html#h-7.4.1">Section 7.4.1</a> - The HEAD element</h4>
      <p> 
        Replace 
      </p> 
      <pre> 
      <tt>profile</tt> = <em>uri</em> [CT]
      </pre> 
      <p> 
        with
      </p> 
      <pre> 
      <tt>profile</tt> = <em>urilist</em> [CT]
      </pre> 
      <p> 
        (just replacing "uri" by "urilist", but not changing the link target)
      </p> 
      
      <p> 
        Replace  
      </p> 
      <pre> 
      profile     %URI;          #IMPLIED  -- named dictionary of meta info --
      </pre> 
      <p> 
        with
      </p> 
      <pre> 
      profile     %URIlist;      #IMPLIED  -- list of named meta info dictionaries, whitespace separated --
      </pre> 
      <p> 
        Update the <a href="http://www.w3.org/TR/html4/index/attributes.html">attribute index</a> accordingly.
      </p> 
      
      <p> 
        Replace
      </p> 
      <blockquote> 
      This attribute specifies the location of one or more meta data profiles,
      separated by white space. For future extensions, user agents should consider
      the value to be a list even though this specification only considers the
      first URI to be significant. Profiles are discussed below in the section on
      meta data.
      </blockquote> 
      <p> 
        with
      </p> 
      <blockquote> 
      This attribute specifies the location of one or more meta data profiles,
      separated by white space. In case of ambiguities, profiles that appear
      later in the attribute value should be considered more significant.
      Profiles are discussed below in the section on meta data.
      </blockquote> 
      
      <h4><a href="http://www.w3.org/TR/html4/struct/global.html#profiles">Section 7.4.4</a> - Meta Data Profiles</h4>
      <p> 
        Replace
      </p> 
      <blockquote> 
        The profile attribute of the HEAD specifies the location of a meta data
        profile. The value of the profile attribute is a URI. User agents may use
        this URI in two ways: 
      </blockquote> 
      <p> 
        with
      </p> 
      <blockquote> 
        The profile attribute of the HEAD specifies a set of locations of meta data
        profiles. The value of the profile attribute is a whitespace-separated list
        of URIs. User agents may use these URIs in two ways: 
      </blockquote> 
     
      <h4><a href="http://www.w3.org/TR/html4/sgml/dtd.html">Section 21</a> - Document Type Definition</h4>
      <p> 
        Note: the changes below apply both to the copy of the DTD in the HTML 4.01 spec,
        and the actual DTD files.
      </p> 
      <p> 
        After the definition for <code>URI</code>, insert:
      </p> 
      <pre> 
    &lt;!ENTITY % URIlist "CDATA"
        -- whitespace-separated list of Uniform Resource Identifiers,
           see [URI]
        -->
      </pre> 
      <p> 
        Replace the following definition:
      </p> 
      <pre> 
    &lt;!ATTLIST HEAD
      %i18n;                               -- lang, dir --
      profile     %URI;          #IMPLIED  -- named dictionary of meta info --
      >
      </pre> 
      <p> 
        with
      </p> 
      <pre> 
    &lt;!ATTLIST HEAD
      %i18n;                               -- lang, dir --
      profile     %URIlist;      #IMPLIED  -- list of named meta info dictionaries, whitespace separated --
      >
      </pre>
    </section>    

  </body>
</html>

--- NEW FILE: markup.css ---
code           { font-family: monospace; }
 
span.hilite { color: red; /* font-weight: bold */ }
 
li p           { margin-top: 0.3em;
                 margin-bottom: 0.3em; }
 
div.explanation { background-color: #ADD8E6;
                   width: 80%;
                   margin: 12px; padding: 8px; }
div.explanation li { margin-top: 8px; }
div.explanation dd { margin: 4px; }
 
                   
.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; }
Received on Saturday, 22 May 2010 15:17:37 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 22 May 2010 15:17:38 GMT