--- a/model/prov-n.html Mon Mar 26 14:46:00 2012 +0100
+++ b/model/prov-n.html Mon Mar 26 21:10:59 2012 +0100
@@ -822,10 +822,10 @@
<div class="anexample">
<pre class="codeexample">
-wasAttributedTo(e,ag)
-wasAttributedTo(e,ag,[ex:license="cc:attributionURL" %% "xsd:QName"])
-wasAttributedTo(id,e,ag,[ex:license="cc:attributionURL" %% "xsd:QName"])
-wasAttributedTo(-,e,ag,[ex:license="cc:attributionURL" %% "xsd:QName"])
+wasAttributedTo(e, ag)
+wasAttributedTo(e, ag, [ex:license="cc:attributionURL" %% "xsd:QName"])
+wasAttributedTo(id, e, ag, [ex:license="cc:attributionURL" %% "xsd:QName"])
+wasAttributedTo(-, e, ag, [ex:license="cc:attributionURL" %% "xsd:QName"])
</pre>
</div>
@@ -1445,7 +1445,25 @@
<span class="name">default</span> <span class="nonterminal">IRI</span> <br/>
</div>
-<p>In PROV-N, the prefix <span class="name">prov</span> is reserved and denotes the PROV namespace.</p>
+<p>In PROV-N, the prefix <span class="name">prov</span> is reserved and denotes the PROV namespace;
+the prefix <span class="name">xsd</span> is also reserved and denotes the XML Schema namespace
+ <span class="name">http://www.w3.org/2001/XMLSchema</span>.
+</p>
+
+
+<div class="anexample" id="anexample-namespace">
+The following example declares two namespaces.
+<pre class="codeexample">
+container
+ prefix ex1 <http://example.org/1/>
+ prefix ex2 <http://example.org/2/>
+...
+end
+</pre>
+</div>
+
+<p>A PROV-N document MUST not redeclare namespaces <span class="name">prov</span> and <span class="name">xsd</span>.</p>
+
</section>
@@ -1464,17 +1482,57 @@
<span class="nonterminal">accIdentifier</span>::= <span class="nonterminal">identifier</span> <em>(intended to denote an account)</em>
<br/>
<br/>
-<span class="nonterminal">qualifiedName</span> ::= <span class="nonterminal">prefixedName</span> | <span class="nonterminal">unprefixedName</span><br/>
-<span class="nonterminal">prefixedName</span> ::= <span class="nonterminal">prefix</span> <span class="name">:</span> <span class="nonterminal">localPart</span><br/>
-<span class="nonterminal">unprefixedName</span> ::= <span class="nonterminal">localPart</span><br/>
-<span class="nonterminal">prefix</span> ::= <em>a name without colon compatible with the <a href="http://www.w3.org/TR/2009/REC-xml-names-20091208/#NT-NCName">NC_NAME</a> production
-[[!XML-NAMES]]</em><br/>
-<span class="nonterminal">localPart</span> ::= <em>a name without colon compatible with the <a href="http://www.w3.org/TR/2009/REC-xml-names-20091208/#NT-NCName">NC_NAME</a> production
-[[!XML-NAMES]]</em>
+<span class="nonterminal">qualifiedName</span> ::=
+<span class="optional">
+<span class="nonterminal">prefix</span> <span class="name">:</span>
+</span> <span class="nonterminal">localPart</span> | <span class="name">:</span> <span class="nonterminal">localPart</span><br/>
+<span class="nonterminal">prefix</span> ::= <em>a name without colon compatible with the <a href="http://www.w3.org/TR/2009/REC-xml-names-20091208/#NT-NCName">NC_NAME</a> production [[!XML-NAMES]]</em><br/>
+<span class="nonterminal">localPart</span> ::= <em>a name compatible with the
+<a href="http://www.w3.org/TR/rdfa-core/#P_reference">reference</a> production [[!RDFA-CORE]]</em>
</div>
-<div class="note">Note that XML NC_NAME don't allow local identifiers to start with a number. Instead, should we use the productions used in SPARQL or TURTLE?</div>
+<p>
+A PROV <dfn id="dfn-qualifiedName">qualified name</dfn> is a name subject to <a>namespace</a> interpretation. It consists of a <a>namespace</a>, denoted by an optional prefix, and a local name.
+PROV-DM stipulates that a qualified name can be mapped into an IRI
+ by concatenating the IRI associated with the prefix and the local part.
+<p>A qualified name's prefix is OPTIONAL. If a prefix occurs in a
+ qualified name, it refers to a <a>namespace</a> declared in a namespace declaration. In the absence of prefix, the qualified name
+ refers to the <a title="default namespace declaration">default namespace</a>.</p>
+
+<p>PROV qualified names have a more permissive syntax then XML QNames [[!XML-NAMES]] since they allow any syntax for its local part such that the concatenation with the namespace results in a valid IRI [[!IRI]]. </p>
+
+<div class="anexample" id="anexample-qualified-name">
+Examples of articles on the BBC web site seen as entities.
+<pre class="codeexample">
+container
+ prefix bbc <http://www.bbc.co.uk/>
+ prefix bbcNews <http://www.bbc.co.uk/news/>
+
+ entity(bbc:) // bbc site itself
+ entity(bbc:news/) // bbc news
+ entity(bbc:news/world-asia-17507976) // a given news article
+
+ entity(bbcNews:) // an alternative way of referring to the bbc news site
+
+end
+</pre>
+</div>
+
+<div class="anexample" id="anexample-qualified-name">
+Examples of entities with declared and default namespace.
+<pre class="codeexample">
+container
+ prefix ex <http://example.org/1/>
+ default <http://example.org/2/>
+
+ entity(ex:a) // corresponds to IRI http://example.org/1/a
+ entity(ex:a/) // corresponds to IRI http://example.org/1/a/
+ entity(ex:a/b) // corresponds to IRI http://example.org/1/a/b
+ entity(b) // corresponds to IRI http://example.org/2/b
+end
+</pre>
+</div>
</section>
@@ -1494,7 +1552,6 @@
<li> <span class="name">prov:label</span>
<li> <span class="name">prov:location</span>
<li> <span class="name">prov:role</span>
-<li> <span class="name">prov:steps</span>
<li> <span class="name">prov:type</span>
</ol>
@@ -1513,11 +1570,11 @@
<div class='grammar'>
<span class="nonterminal">Literal</span> ::= <span class="nonterminal">typedLiteral</span> | <span class="nonterminal">convenienceNotation</span> <br/>
<span class="nonterminal">typedLiteral</span> ::= <span class="nonterminal">quotedString</span> <span class="name">%%</span> <span class="nonterminal">datatype</span><br/>
-<span class="nonterminal">datatype</span> ::= <span class="nonterminal">qualifiedName</span><br/>
+<span class="nonterminal">datatype</span> ::= <span class="nonterminal">qualifiedName</span> <em> listed in Table <a href="#permitted-datatypes">permitted-datatypes</a><br/>
<span class="nonterminal">convenienceNotation</span> ::= <span class="nonterminal">stringLiteral</span> | <span class="nonterminal">intLiteral</span><br/>
<span class="nonterminal">stringLiteral</span> ::= <span class="nonterminal">quotedString</span><br/>
-<span class="nonterminal">quotedString</span> ::= <em>a finite sequence of characters in which " (U+22) and \ (U+5C) occur only in pairs of the form \" (U+5C, U+22) and \\ (U+5C,
-U+5C), enclosed in a pair of " (U+22) characters</em><br/>
+<span class="nonterminal">quotedString</span> ::= <em>a finite sequence of characters in which " (#x22) and \ (#x5C) occur only in pairs of the form \" (#x5C, #x22) and \\ (#x5C,
+#x5C), enclosed in a pair of " (#x22) characters</em><br/>
<span class="nonterminal">intLiteral</span> ::= <em>a finite-length sequence of decimal digits (#x30-#x39) with an optional leading negative sign (-)</em>
</div>
@@ -1528,6 +1585,26 @@
<p> In particular, a PROV-DM Literal may be an IRI-typed string (with datatype <span class="name">xsd:anyURI</span>); such IRI has no specific interpretation in the context of PROV-DM.</p>
+<table border="1" style="margin-left: auto; margin-right: auto;">
+<caption id="permitted-datatypes">Permitted datatypes</caption>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#decimal">xsd:decimal</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#double">xsd:double</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#dateTime">xsd:dateTime</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#integer">xsd:integer</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#float">xsd:float</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger">xsd:nonNegativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a></td> <td><a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-XMLLiteral">rdf:XMLLiteral</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger">xsd:nonPositiveInteger</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#normalizedString">xsd:normalizedString</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#positiveInteger">xsd:positiveInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#negativeInteger">xsd:negativeInteger</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#language">xsd:language</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#long">xsd:long</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#Name">xsd:Name</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#int">xsd:int</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#NCName">xsd:NCName</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#short">xsd:short</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#NMTOKEN">xsd:NMTOKEN</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#byte">xsd:byte</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#boolean">xsd:boolean</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedLong">xsd:unsignedLong</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#hexBinary">xsd:hexBinary</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedInt">xsd:unsignedInt</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#base64Binary">xsd:base64Binary</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedShort">xsd:unsignedShort</a></td><td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</a></td> </tr>
+<tr><td><a href="http://www.w3.org/TR/xmlschema-2/#unsignedByte">xsd:unsignedByte</a></td> <td><a href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:QName</a></td></tr>
+</table>
+
+
+
<section id="expression-types">
<h4>Reserved Type Values</h4>
@@ -1550,6 +1627,13 @@
<p><dfn id="dfn-time">Time instants</dfn> are defined according to xsd:dateTime [[!XMLSCHEMA-2]].</p>
+<div class="anexample" id="anexample-time">
+The third argument is this usage expression is a time instance, namely 4pm on 2011-11-16.
+<pre class="codeexample">
+used(ex:act2, ar3:0111, 2011-11-16T16:00:00)
+</pre>
+</div>
+