Adding the business Core Voc for the first time
authorphila
Thu, 06 Sep 2012 12:59:15 +0100
changeset 197 b16897c1de79
parent 196 6a8f4468005e
child 198 6a3550ce6580
Adding the business Core Voc for the first time
legal/BusinessCVdiagram.png
legal/index.html
legal/respec-config.js
legal/respec-ref.js
Binary file legal/BusinessCVdiagram.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/legal/index.html	Thu Sep 06 12:59:15 2012 +0100
@@ -0,0 +1,428 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+  <title>Business Core Vocabulary</title>
+  <meta name="description" content="A vocabulary for describing businesses that gain legal entity status through a formal registration process." />
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+  <!--[if lt IE 9]>
+  <script src="http://www.w3.org/2008/site/js/html5shiv.js"></script>  <![endif]-->
+	<script type="text/javascript" src="http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js" class="remove"></script>
+	<script src="respec-ref.js"></script>
+	<script src="respec-config.js"></script>
+  <style type="text/css">
+  table {
+    border-collapse:collapse;
+    max-width:30em;
+  }
+  td, th {
+    border:1px solid black;
+    padding:1em;
+  }  
+  td.code {font-family:monospace}
+  table#namespaces td {
+    font-family: monospace;
+  }
+  table.definition td.prop {
+    width:10em;
+  }
+  table tr.midtable th {
+    border-top: black medium double;
+  }
+  .editorsnote::before {
+    content:    "Editor's Note";
+    display:    block;
+  	width:      150px;
+    background: #F30023;
+    color:  #fff;
+    margin: -1.5em 0 0.5em 0;
+    font-weight:    bold;
+    border: 1px solid #cff6d9;
+    padding:    3px 1em;
+  }
+  .editorsnote {
+    margin: 1em 0em 1em 1em;
+    padding:    1em;
+    border: 2px solid #cff6d9;
+  }
+  pre {
+  	padding: 1em;
+  	border: 1px dashed #2f6fab;
+  	color: black;
+  	background-color: #f9f9f9;
+  	line-height: 1.1em;
+  }
+  figure img {
+    display:block;
+    margin:0 auto;
+  }
+  figcaption {
+    text-align:center;
+    font-style:italic;
+    font-weight:bold;
+  }
+  </style>
+</head>
+<body>
+
+<section id="abstract">
+<p>This is a vocabulary for describing businesses that gain legal entity status
+through a formal registration process, typically in a national or regional company register.
+This document is a companion to the namespace document at <a href="http://www.w3.org/ns/adms">http://www.w3.org/ns/legal</a></p>
+</section>
+
+<section id="sotd">
+  <p>This is the First Public Working Draft of the Business Core Vocabulary in W3C's TR space and
+  signals its move to the Recommendations Track. The Business Core Vocabulary was first
+  developed by PwC EU Services on behalf of the European Commission and 
+  <a href="http://joinup.ec.europa.eu/asset/adms/home">published by the European Commission</a>.
+  Further development is now being undertaken by the <a href="http://www.w3.org/2011/gld/">Government 
+  Linked Data Working Group</a> (GLD WG).</p>
+
+</section>
+
+<section class="informative">
+<h2 id="intro">Introduction</h2>
+<p>This is a vocabulary for describing businesses that have gained legal entity status
+through a formal registration process, typically in a national or regional company register.
+It focuses solely on legal entities and excludes sole traders, virtual organizations 
+and other types of 'agent' that are able to do business. It may be seen as a specialization of the more
+flexible Organization Ontology [[ORG]].</p>
+<p>It includes classes and properties that are designed to capture the typical details recorded
+by business registers and thereby facilitate information exchange between them, 
+although there is significant variation between business registers in what they record and
+publish. 
+
+<p>The original development of the Business Core Vocabulary was carried out under the
+Interoperability Solutions for European Public Administrations (<a href="http://ec.europa.eu/isa/">ISA Programme</a>) 
+of the European Commission (EC). Contributors included representatives of Member
+States of the European Union, operators of national repositories, standardization 
+bodies and independent experts whose work was published in April 2012 [[CV1]]. 
+That document includes the history and motivation behind the development of a set of three interlinked 
+Core Vocabularies of which this is one.</p>
+<p>This version of the Business Core Vocabulary builds on that work in a broader, global context.</p>
+
+</section>
+
+<section id="conformance">
+<p>Conformance to this vocabulary means using its classes, properties and relationships to 
+describe businesses. It does not necessarily mean using <em>every</em> term and there are no
+terms that are mandatory. However, the inclusion of a term signals that the Working Group 
+has found it to be useful. Applications MAY specify a minimum set of terms that publishers must use
+if their data is to be processed, and MAY also specify controlled vocabularies as acceptable values for properties. 
+This specification treats such restrictions as <em>application-specific</em> and therefore
+makes no such restrictions. However, the Working Group recognizes that 
+restrictions (cardinality constraints) are often important.</p>
+<p>It is, perhaps, easier to define non-conformance. A non-conformant implementation is one that
+uses a term other than one defined in this document that could reasonably be used.</p>
+
+<p>The Business Core Vocabulary is technology-neutral and a publisher may use any of the terms defined in this 
+document encoded in any technology although RDF and XML are preferred.</p>
+
+</section>
+
+<section>
+<h2 id="ns">Namespaces</h2>
+<p>The namespace for the Business Core Vocabulary is <code>http://www.w3.org/ns/legal#</code>. 
+A full set of namespaces and prefixes used in this document is shown in the table below.</p>
+
+<table id="namespaces">
+  <thead><tr><th>Prefix</th><th>Namespace</th></tr></thead>
+  <tbody>
+    <tr><td>adms</td><td>http://www.w3.org/ns/adms#</td></tr>
+    <tr><td>dcterms</td><td>http://purl.org/dc/terms/</td></tr>
+    <tr><td>org</td><td>http://www.w3.org/ns/org#</td></tr>
+    <tr><td>skos</td><td>http://www.w3.org/2004/02/skos/core#</td></tr>
+    <tr><td>xsd</td><td>http://www.w3.org/2001/XMLSchema#</td></tr>
+  </tbody>
+</table>
+</section>
+
+
+<section class="informative">
+<h2 id="terminology">Terminology</h2>
+<p>This document uses the following terminology:</p>
+<P><strong>Semantic interoperability</strong> is defined by the European Interoperability Framework 2.02
+[[EIF2]] as the ability of information and communication
+technology (ICT) systems and the business processes they support to exchange data and to
+enable the sharing of information and knowledge: Semantic Interoperability enables systems to
+combine received information with other information resources and to process it in a meaningful
+manner. It aims at the mental representations that
+human beings have of the meaning of any given data.</p>
+<p>The European Commission defines a <strong>semantic interoperability asset</strong> as highly reusable metadata (e.g. xml schemata,
+generic data models) and reference data (e.g. code lists, taxonomies, dictionaries,
+vocabularies) which is used for eGovernment system development [[TOGD]].</p>
+<p>This definition is sufficiently broad to allow the inclusion of descriptions of various types of
+(meta)data to be included and managed in asset repositories. Possible types are for example
+specifications, guideline documents, metadata schemas, code lists, controlled vocabularies, and
+references to various types of entities in the real world, such as organizations, people and
+places.</p>
+
+<p>A <strong>Core Vocabulary</strong> is a simplified, reusable, and extensible data model that 
+captures the fundamental characteristics of an entity in a context-neutral fashion [[CV1]]. 
+Well known examples of existing Core Vocabularies include the Dublin Core Metadata Set [[DC11]]. 
+Such Core Vocabularies are the starting point for agreeing on new semantic interoperability 
+assets and defining mappings between existing assets. Semantic interoperability assets that map 
+to or extend such Core Vocabularies are the minimum required to guarantee a level of cross-domain 
+and cross-border interoperability that can be attained by public administrations.</p>
+
+</section> <!-- Terminology -->
+
+<section class="informative">
+<h2 id="example">Example of Use</h2>
+<p>The following is an example of a (real) company described using the Business Core Vocabulary (in RDF/Turtle). This includes:</p></ul>
+<li>a description of the legal entity ;</li>
+<li>a legal identifier (i.e. details of the registration with the authority that conferred legal status) ;</li>
+<li>a further identifier (Open Corporates) .</li></ul>
+
+<p>We assume here that example.com is publishing information about legal entities. This might be the
+company register itself or another organization.</p>
+
+<pre id="appleBinding">
+1  &lt;http://data.companieshouse.gov.uk/id/company/04285910&gt;
+2    a legal:LegalEntity ;
+3    legal:legalName "Apple Binding Ltd" ;
+4    legal:companyStatus &lt;http://example.com/ref/status/NormalActivity&gt; ;
+5    legal:companyType &lt;http://example.com/ref/type/Plc&gt; ;
+6    legal:companyActivity &lt;http://example.com/ref/NACE/2/C/18/01/02&gt; ;
+7    legal:companyActivity &lt;http://example.com/ref/NACE/2/C/18/01/04&gt; ;
+8    # Note the use of legalIdentifier on the next line
+9    legal:legalIdentifier &lt;http://example.com/id/li04285910&gt; ;
+10   # Other identifiers are often very useful but they do
+11   # not confer legal entity status.
+12   legal:identifier &lt;http://example.com/id/oc04285910&gt; ;
+13   legal:registeredAddress &lt;http://example.com/id/ra04285910&gt; .
+
+14 # The actual registration
+15 &lt;http://example.com/id/li04285910&gt; a adms:Identifier ;
+16   skos:notation "04285910" ;
+17   adms:schemaAgency "UK Companies House" ;
+18   dcterms:created "2001-09-12"^^xsd:date .
+
+19 # A supplementary identifier (Open Corporates)
+20 &lt;http://example.com/id/oc04285910&gt; a adms:Identifier ;
+21   skos:notation "http://opencorporates.com/companies/gb/04285910" ;
+22   dcterms:created "2010-10-21T15:09:59Z"^^xsd:dateTime ;
+23   dcterms:modified "2012-04-26T15:16:44Z"^^xsd:dateTime ;
+24   dcterms:creator &lt;http://opencorporates.com/companies/gb/07444723&gt; .
+</pre>
+
+<p>Line 3 gives the legally registered name of the company. In some jurisdictions,
+especially those where there are multiple official languages, a single company
+may have several legal names and therefore it is appropriate to use
+multiple instance of the <code><a href="#legalName">legalName</a></code> property (language tags may, of course, be added). 
+However, where a company is known informally by an alternative name of some sort, or a trading name, 
+in addition to its legal name, then <code>dcterms:alternative</code> should be used to provide those alternatives.</p>
+
+<p>In lines 4 and 5, URIs identify <a href="#companyStatus">company status</a> and 
+<a href="#companyType">company type</a>. Different jurisdictions will
+typically define different values for company status such as trading, insolvent and
+ceased trading. Similarly there is a wide variety of company types such as Plc, SA and GmbH 
+although within a given jurisdiction there will be a limited number of defined terms.
+Even where the terms used in different jurisdictions are lexically identical, they may have slightly 
+different legal meanings. At the time of writing the working group has not been able to
+identify an internationally agreed set of terms for company status or company type.</p>
+
+<p>Business registers typically record the type of activity (or multiple activities) carried out. 
+These are normally set out in a controlled vocabulary and again, these can vary from one jurisdiction to another.
+The UN's ISIC Codes [[ISIC4]] form a common starting point for several such vocabularies including
+the European Union's NACE [[NACE]] Codes and UK's SIC codes [[SIC07]].</p>
+
+<p>Line 9 carries the crucial <code><a href="#legalIdentifer">legalIdentifier</a></code> property that points to an 
+Identifier class (defined in <abbr title="Asset Description Metadata Schema">ADMS</abbr> [[ADMS]]). 
+Although formally the Business Core Vocabulary has no mandatory
+classes or properties, the defining characteristic of a legal entity is that it is formally registered.
+This is the property that captures that information and links to the formal registration which is described
+in lines 15 - 18. In this case, Apple Binding became a legal entity on 12 September 2001 when 
+UK Companies House issued it with the identifier 04285910. Incidentally, Companies House
+publishes its information about registered companies as linked data and the example uses that URI
+as the subject of the description.</p> 
+
+<p>In addition to their company registration identifier, legal entities are very likely to
+have other identifiers associated with them, such as tax numbers, VAT numbers etc. Line 12 points 
+to an example of an additional identifier, one that does not confer legal status (or any other status) on
+the company but that is potentially useful as an identifier.</p>
+
+</section> <!-- Example -->
+
+<section>
+<h2 id="conceptualmodel">The Conceptual Model</h2>
+
+<figure id="uml">
+  <img src="BusinessCVdiagram.png" width="729" height="247" alt="UML Diagram of the Business Core Vocabulary" />
+  <figcaption>UML Diagram of the Business Core Vocabulary</figcaption>
+</figure>
+
+<p>The classes and properties are described in the following sub-sections.</p>
+<section>
+<h3 id="LegalEntity">The Legal Entity Class</h3>
+<p><code>legal:LegalEntity</code> is the key class for the Business Core Vocabulary and represents a business that is 
+legally registered. In many countries there is a single registry although in others, such 
+as Spain and Germany, multiple registries exist. A Legal Entity is able to trade, is 
+legally liable for its actions, accounts, tax affairs etc.</p>
+<p>This makes legal entities distinct from the concept of organizations, groups or, in some jurisdictions, sole traders. 
+Many organizations exist that are not legal entities yet to the outside world they have staff,  hierarchies, 
+locations etc. Other organizations exist that are an umbrella for several legal entities (universities 
+are often good examples of this). This vocabulary is concerned solely with registered legal 
+entities and does not attempt to cover all possible trading bodies.</p>
+<p>In RDF, Legal Entity is a sub class of the Organization Ontology's <code>org:FormalOrganization</code> 
+which is itself a sub class of the more general 'Agent' class found in FOAF [[FOAF]] and Dublin Core [[DC11]] that 
+<em>does</em> encompass organizations, natural persons, groups etc. - i.e. an Agent is 
+any entity that is able to carry out actions.</p>
+</section>
+<section>
+<h3 id="legalName">legal name</h3>
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr>
+  <tbody><tr><td class="code">legalName</td><td>Text</td></tr></tbody>
+</table>
+<p>The legal name of the business. A business might have more than one legal name, 
+particularly in countries with more than one official language. In such cases, and where 
+the encoding technology allows, the language of the string should be identified.</p>
+</section>
+<section>
+
+<h3 id="alternativeName">alternative name</h3>
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">alternativeName</td><td>Text</td></tr></tbody>
+</table>
+<p>Some jurisdictions recognize concepts such as a trading name or alternative forms of a 
+legal entity's name. The alternative name property can be used to record such names but 
+should not be used to record translations of the primary legal name. Where more 
+than one legal name exists and where they have equal standing but are expressed 
+in different languages, identify the language used in each of the multiple legal 
+names (see previous section).</p> 
+<p>It is notable that some jurisdictions regard the use of any name other than the primary Legal Name as suspicious.</p>
+
+</section>
+<section>
+<h3 id="companyType">company type</h3>
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">companyType</td><td>Code</td></tr></tbody>
+</table>
+<p>This property records the type of company. Familiar types are SA, PLC, LLC, 
+GmbH etc. At the time of publication, there is no agreed set of company types that 
+crosses borders. The term 'SA' is used in Poland and France for example although they 
+mean slightly different things. The UK's LLP and Greece's EPE provide further example of 
+close, but not exact, matches.</p>
+<p>That said, each jurisdiction will have a limited set of recognized company types and these 
+should be used in a consistent manner. See section @@@ for guidance on using controlled vocabularies.</p>
+
+</section>
+<section>
+<h3 id="companyStatus">company status</h3>
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">companyStatus</td><td>Code</td></tr></tbody>
+</table>
+<p>Recording the status of a company presents the same issues as its type. 
+The terms 'insolvent', 'bankrupt' and 'in receivership,' for example, are likely to mean 
+slightly different things with different legal implications in different jurisdictions. Again, at 
+the time of publication, there is no agreed vocabulary for recording the status of a 
+company although <a href="www.xbrl-eu.org/">XBRL Europe</a> is in the process of defining such a vocabulary.</p>
+<p>Taking the existing XBRL work as a starting point, however, the term 'Normal Activity' 
+does appear to have cross-border usefulness and this should be used in preference to 
+terms like 'trading' or 'operating.'</p>
+<p>Best Practice for recording various other status levels is to use the relevant jurisdiction's 
+terms and to identify the controlled vocabulary used. See section @@@ for guidance on using controlled vocabularies.</p>
+
+</section>
+<section>
+<h3 id="companyActivity">company activity</h3>
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">companyActivity</td><td>Code</td></tr></tbody>
+</table>
+<p>The activity of a company should be recorded using a controlled vocabulary. Several 
+such vocabularies exist, many of which map to the UN's ISIC codes [[ISIC4]]. Where a particular controlled 
+vocabulary is in use within a given context, such as SIC codes in the UK, it is acceptable to use 
+these, however, the preferred choice for European interoperability is NACE [[NACE]]. 
+Again, section @@@ offers guidance on using controlled vocabularies.</p>
+
+</section>
+<section>
+<h3 id="legalIdentifier">legal identifier</h3>
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">legalIdentifier</td><td>Identifier</td></tr></tbody>
+</table>
+<p>The legal status of a business is conferred on it by an authority within a given 
+jurisdiction. The Legal Identifier is therefore a fundamental relationship between a legal 
+entity and the authority with which it is registered. The details of the registration are 
+provided as properties of the Identifier class which is defined by ADMS [[ADMS]]. The vocabulary 
+sets no restriction on the type of legal identifier. In many countries, the business 
+register's identifier is the relevant data point. The tax number often fulfils this function in Spain.</p>
+<p>Although there is no formal cardinality constraint on any property in the Business Core Vocabulary, it is 
+questionable whether a description of a legal entity without this property and an associated Identifier class
+will be of any value.</p>
+<p>In RDF terms, <code>legalIdentifier</code> is a sub property of identifier (see next section) with specific semantics.</p>
+
+</section>
+<section>
+<h3 id="identifier">identifier</h3>
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">identifier</td><td>Identifier</td></tr></tbody>
+</table>
+<p>The identifier property links a resource to any formally issued identifier for that 
+resource other than the one that confers legal status upon it.</p>
+<p>Legal Entities, people, organizations and other Agents may have any number of 
+identifiers (but only one legal identifier). For example, in many jurisdictions, 
+a business will have one or more tax numbers associated with them which do not, by themselves, 
+confer legal entity status. An individual may be issued with identifiers for everything from 
+social security to club membership. The identifier relationship should not be used to 
+link to the identifier issued by the authority that conferred legal entity status on a business.</p>
+<p>In RDF terms, the identifier property is not constrained by its domain so that any resource can be linked to an Identifier. This
+is in contrast to <code>dcterms:identifier</code> that specifies a domain of <code>rdfs:Literal</code>.</p>
+
+</section>
+<section>
+<h3 id="registeredAddress">registered address</h3>
+
+<p class="editorsnote">This property ties in with the Location core voc, one of the inputs to the
+<a href="http://www.w3.org/community/locadd/">LOCADD Community Group</a>. The original ISA Programme Location Core Vocabulary offers a
+structure for addresses that is conformant with INSPIRE but that may be inappropriate here? Using the Address
+class creates a dependency we may not wish to have.</p>
+
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">registeredAddress</td><td>Address</td></tr></tbody>
+</table>
+<p>In almost all jurisdictions, legal entities must register a postal address. This 
+may or may not be the actual address at which the legal entity does its business, 
+it is commonly the address of their lawyer or accountant, but it is the address to which formal communications can be sent.</p>
+<p>In RDF terms, registeredAddress is a sub property of the more general address property that links any resource to an associated address without further semantics.</p>
+
+</section>
+<section>
+<h3 id="legalEntity">legal entity</h3>
+
+<table>
+  <thead><tr><th>Property</th><th>Abstract Data Type</th></tr></thead>
+  <tbody><tr><td class="code">legalEntity</td><td>Legal Entity</td></tr></tbody>
+</table>
+<p>The legal entity relationship can be used to link any resource to a Legal Entity Class. 
+This is useful, for example, where an organization includes one or more legal entities. The Dublin Core 
+term <code>dcterms:isPartOf</code> is a suitable inverse of this relationship. </p>
+</section>
+</section> <!-- Conceptual Model -->
+
+<section>
+<h2 id="ack">Acknowledgements</h2>
+<p>Significant contributions to the original work on the Business Core Vocabulary were made by:
+Ignacio Boixo,
+Debora Di Giacomo,
+Stijn Goedertier,
+Piotr Madziar (original WG chair),
+Aine Mitchell,
+Andrea Perego,
+João Rodrigues Frade,
+Chris Taggart, 
+Niels Van Hee,
+Thomas Verdin.</p>
+<p>The working group would also like to thank the directors of <a href="http://applebinding.co.uk/">Apple Binding</a> for
+permission to describe their company in the example.</p>
+
+
+</body></html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/legal/respec-config.js	Thu Sep 06 12:59:15 2012 +0100
@@ -0,0 +1,98 @@
+var respecConfig = {
+    // specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
+    specStatus:           "ED",
+    publishDate:          "2012-09-28",
+    //copyrightStart:       "2010",
+
+    // the specification's short name, as in http://www.w3.org/TR/short-name/
+    shortName:            "vocab-legal",
+    //subtitle:             "",
+    // if you wish the publication date to be other than today, set this
+    // publishDate:  "2009-08-06",
+
+    // if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
+    // and its maturity status
+    //previousPublishDate:  "2011-06-26",
+    //previousMaturity:     "ED",
+    //previousDiffURI:      "http://dvcs.w3.org/hg/gld/bp/",
+    diffTool:             "http://www.aptest.com/standards/htmldiff/htmldiff.pl",
+
+    // if there a publicly available Editor's Draft, this is the link
+    edDraftURI:           "http://dvcs.w3.org/hg/gld/legal/",
+
+    // 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: "Phil Archer", url: "http://www.w3.org/People/all#phila", company: "W3C/ERCIM", companyURL: "http://www.w3.org" },
+    ],
+
+    // 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: "Maxk Dekkers", url: "http://makxdekkers.com/", company: "AMI Consult (original document)"},
+//    ],
+
+    // name of the WG
+    wg:           "Government Linked Data Working Group",
+
+    // URI of the public WG page
+    wgURI:        "http://www.w3.org/2011/gld/",
+
+    // name of the public mailing to which comments are due
+    wgPublicList: "public-gld-comments",
+
+    // 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-20110507.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;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/legal/respec-ref.js	Thu Sep 06 12:59:15 2012 +0100
@@ -0,0 +1,144 @@
+var preProc = {
+      apply:  function(c) {
+                // extend the bibliography entries
+                berjon.biblio["MICRODATA"] = "<cite><a href=\"http://www.w3.org/TR/microdata/\">Microdata</a></cite> Ian Hickson; et al. 04 March 2010. W3C Working Draft. URL: http://www.w3.org/TR/microdata/ ";
+                berjon.biblio["XHTML-RDFA"] = "<cite><a href=\"http://www.w3.org/TR/xhtml-rdfa/\">XHTML+RDFa</a></cite> Manu Sporny; et al. 31 March 2011. W3C Working Draft. URL: http://www.w3.org/TR/xhtml-rdfa/ ";
+                berjon.biblio["HTML-RDFA"] = "<cite><a href=\"http://dev.w3.org/html5/rdfa/\">HTML+RDFa</a></cite> Manu Sporny; et al. 24 May 2011. W3C Working Draft. URL: http://dev.w3.org/html5/rdfa/ ";
+                berjon.biblio["HOWTO-LODP"] = "<cite><a href=\"http://linkeddata.org/docs/how-to-publish\">How to Publish Linked Data on the Web</a></cite>, C. Bizer, R. Cyganiak, and Tom Heath, Community Tutorial 17 July 2008. URL: http://linkeddata.org/docs/how-to-publish";
+                berjon.biblio["COOL-SWURIS"] = "<cite><a href=\"http://www.w3.org/TR/cooluris/\">Cool URIs for the Semantic Web</a></cite>, L. Sauermann and R. Cyganiak, W3C Interest Group Note 03 December 2008. URL: http://www.w3.org/TR/cooluris/";
+                berjon.biblio["VOID-GUIDE"] = "<cite><a href=\"http://www.w3.org/TR/void/\">Describing Linked Datasets with the VoID Vocabulary</a></cite>, K. Alexander, R. Cyganiak, M. Hausenblas, and J. Zhao, W3C Interest Group Note 03 March 2011. URL: http://www.w3.org/TR/void/";
+                berjon.biblio["RDFA-CORE-PROFILE"] = "<cite><a href=\"http://www.w3.org/profile/rdfa-1.1\">RDFa Core Default Profile</a></cite>, I. Herman, W3C RDF Web Applications Working Group 02 June 2011. URL: http://www.w3.org/profile/rdfa-1.1";
+                berjon.biblio["XHTML-RDFA-PROFILE"] = "<cite><a href=\"http://www.w3.org/profile/html-rdfa-1.1\">HTML+RDFa Core Default Profile</a></cite>, I. Herman, W3C RDF Web Applications Working Group 24 May 2011. URL: http://www.w3.org/profile/html-rdfa-1.1";
+                berjon.biblio["RFC2616"] = "<cite><a href=\"http://www.w3.org/Protocols/rfc2616/rfc2616.html\">Hypertext Transfer Protocol -- HTTP/1.1</a></cite>, R. Fielding; et al. June 1999. Internet RFC 2616. URL: http://www.w3.org/Protocols/rfc2616/rfc2616.html."
+                berjon.biblio["EIF2"] = "<cite><a href=\"http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf\">European Interoperability Framework (EIF) for European public services</a></cite> (PDF) European Commission. URL: http://ec.europa.eu/isa/documents/isa_annex_ii_eif_en.pdf."
+                berjon.biblio["TOGD"] = "<cite><a href=\"http://joinup.ec.europa.eu/sites/default/files/towards_open_government_metadata_0.pdf\">Towards Open Government Metadata</a></cite> (PDF) European Commission Joinup e-Library. URL: http://joinup.ec.europa.eu/sites/default/files/towards_open_government_metadata_0.pdf"
+                berjon.biblio["ADMS1"] = "<cite><a href=\"http://joinup.ec.europa.eu/asset/adms/release/100\">ADMS 1.0</a></cite> European Commission ADMS (link is to a page offering various downloadable files in a variety of formats). URL: http://joinup.ec.europa.eu/asset/adms/release/100"
+                berjon.biblio["ADMS"] = "<cite><a href=\"http://www.w3.org/TR/vocab-adms/\">Asset Description Metadata Schema (ADMS)</a></cite> P. Archer, W3C Recommendations Track Working Draft. URL: http://www.w3.org/TR/vocab-adms/"
+                berjon.biblio["ORG"] = "<cite><a href=\"http://www.w3.org/TR/vocab-org/\">An organization ontology</a></cite>, D. Reynolds, W3C Recommendations Track Working Draft URL: http://www.w3.org/TR/vocab-org/"
+                berjon.biblio["EDSU"] = "<cite><a href=\"http://mediatypes.appspot.com/\">Media Types Application</a></cite> Ed Summers' work on providing URIs for media types  URL: http://mediatypes.appspot.com/"
+                berjon.biblio["FRBR"] = "<cite><a href=\"http://archive.ifla.org/VII/s13/frbr/frbr_current_toc.htm\">Functional Requirements for Bibliographic Records</a></cite> OFLA 1998  URL: http://archive.ifla.org/VII/s13/frbr/frbr_current_toc.htm"
+                berjon.biblio["UNCEFACT"] = "<cite><a href=\"http://www.unece.org/fileadmin/DAM/cefact/codesfortrade/CCTS/CCTS-DTCatalogueVersion3p1.pdf\"> (PDF) Core Components Data Type Catalogue Version 3.1</a></cite> UNECE United Nations Economic Commission for Europe. UN Centre for Trade Facilitation and Electronic Business (UN/CEFACT).   URL: http://www.unece.org/fileadmin/DAM/cefact/codesfortrade/CCTS/CCTS-DTCatalogueVersion3p1.pdf"
+                berjon.biblio["ISO8601"] = "<cite><a href=\"http://www.iso.org/iso/catalogue_detail?csnumber=40874\">ISO 8601:2004. Data elements and interchange formats &mdash; Information interchange &mdash; Representation of dates and times.</a></cite> ISO   URL: http://www.iso.org/iso/catalogue_detail?csnumber=40874"
+                berjon.biblio["DCAT"] = "<cite><a href=\"http://www.w3.org/TR/vocab-dcat/\">Data Catalog Vocabulary (DCAT)</a></cite> F. Maali, J. Erickson, P. Archer, W3C Recommendations Track Working Draft URL: http://www.w3.org/TR/vocab-dcat/"
+                berjon.biblio["CV1"] = "<cite><a href=\"http://joinup.ec.europa.eu/asset/core_business/release/all\">Core Business Vocabulary</a></cite> European Commission (link is to a page offering various downloadable files in a variety of formats).   URL: http://joinup.ec.europa.eu/asset/core_business/release/all"
+                berjon.biblio["ISIC4"] = "<cite><a href=\"http://unstats.un.org/unsd/cr/registry/regcst.asp?Cl=27\">International Standard Industrial Classification of All Economic Activities, Rev.4</a></cite>, United Nations Statistics Division.   URL: http://unstats.un.org/unsd/cr/registry/regcst.asp?Cl=27"
+                berjon.biblio["NACE"] = "<cite><a href=\"http://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=LST_NOM_DTL&StrNom=NACE_REV2&StrLanguageCode=EN\">Statistical Classification of Economic Activities in the European Community</a></cite>, Eurostat   URL: http://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=LST_NOM_DTL&StrNom=NACE_REV2&StrLanguageCode=EN"
+                berjon.biblio["SIC07"] = "<cite><a href=\"http://www.companieshouse.gov.uk/infoAndGuide/sic/sic2007.shtml\">Standard Industrial Classification of Economic Activities 2007</a></cite>, UK Companies House   URL: http://www.companieshouse.gov.uk/infoAndGuide/sic/sic2007.shtml"
+
+
+
+
+                // 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) ;
+                }
+            }
+    } ;
\ No newline at end of file