Added examples and in-line schema declarations to HTML. Added a prov:type 'prov:PrimarySource' element to PrimarySource.xml example file
authorStephan Zednik <zednis@rpi.edu>
Mon, 29 Oct 2012 20:53:32 -0600
changeset 4580 5c41683a82bb
parent 4579 580d75e8578d
child 4581 b6fc6f0ba6dc
Added examples and in-line schema declarations to HTML. Added a prov:type 'prov:PrimarySource' element to PrimarySource.xml example file
examples/eg-40-xml-examples-by-term/xml/PrimarySource.xml
xml/prov-xml.html
--- a/examples/eg-40-xml-examples-by-term/xml/PrimarySource.xml	Mon Oct 29 13:32:54 2012 +0000
+++ b/examples/eg-40-xml-examples-by-term/xml/PrimarySource.xml	Mon Oct 29 20:53:32 2012 -0600
@@ -17,6 +17,7 @@
   <prov:wasDerivedFrom>
     <prov:generatedEntity prov:ref="ex:la-campagne-de-Russie-1812-1813"/>
     <prov:usedEntity prov:ref="ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII"/>
+    <prov:type>prov:PrimarySource</prov:type>
   </prov:wasDerivedFrom>
 
 </prov:document>
--- a/xml/prov-xml.html	Mon Oct 29 13:32:54 2012 +0000
+++ b/xml/prov-xml.html	Mon Oct 29 20:53:32 2012 -0600
@@ -723,19 +723,15 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="entity" type="prov:Entity"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on Example 16 from http://www.w3.org/TR/prov-dm/#anexample-entity --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"
     xmlns:tr="http://example.com/ns/tr#"&gt;
 
-  &lt;prov:entity prov:id="tr:WD-prov-dm-20111215"&gt;
+  <b>&lt;prov:entity prov:id="tr:WD-prov-dm-20111215"&gt;
     &lt;prov:type&gt;document&lt;/prov:type&gt;
     &lt;ex:version&gt;2&lt;/ex:version&gt;
-  &lt;/prov:entity&gt;
+  &lt;/prov:entity&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -763,21 +759,16 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="activity" type="prov:Activity"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on PROV-DM's Example 17 from http://www.w3.org/TR/prov-dm/#anexample-activity
-     see also http://www.w3.org/TR/prov-dm/#type_Activity --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"&gt;
 
-  &lt;prov:activity prov:id="a1"&gt;
+  <b>&lt;prov:activity prov:id="a1"&gt;
     &lt;prov:startTime&gt;2011-11-16T16:05:00&lt;/prov:startTime&gt;
     &lt;prov:endTime&gt;2011-11-16T16:06:00&lt;/prov:endTime&gt;
     &lt;prov:type&gt;ex:edit&lt;/prov:type&gt;
     &lt;ex:host&gt;server.example.org&lt;/ex:host&gt;
-  &lt;/prov:activity&gt;
+  &lt;/prov:activity&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -807,10 +798,6 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasGeneratedBy" type="prov:Generation"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- Example 18 from http://www.w3.org/TR/prov-dm/#anexample-generation1 --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"&gt;
@@ -819,30 +806,21 @@
 
   &lt;prov:activity prov:id="a1"/&gt;
 
-  &lt;prov:wasGeneratedBy&gt;
+  <b>&lt;prov:wasGeneratedBy&gt;
     &lt;prov:entity prov:ref="e1"/&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:time&gt;2001-10-26T21:32:52&lt;/prov:time&gt;
     &lt;ex:port>p1&lt;/ex:port&gt;
-  &lt;/prov:wasGeneratedBy&gt;
+  &lt;/prov:wasGeneratedBy&gt;</b>
 
   &lt;prov:entity prov:id="e2"/&gt;
 
-  &lt;prov:wasGeneratedBy&gt;
+  <b>&lt;prov:wasGeneratedBy&gt;
     &lt;prov:entity prov:ref="e2"/&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:time&gt;2001-10-26T10:00:00&lt;/prov:time&gt;
     &lt;ex:port&gt;p2&lt;/ex:port&gt;
-  &lt;/prov:wasGeneratedBy&gt;
-
-  &lt;!-- Example 19, http://www.w3.org/TR/prov-dm/#anexample-generation2 --&gt;
-
-  &lt;prov:entity prov:id="e"/&gt;
-
-  &lt;prov:wasGeneratedBy&gt;
-    &lt;prov:entity prov:ref="e"/&gt;
-    &lt;prov:time&gt;2001-10-26T21:32:52&lt;/prov:time&gt;
-  &lt;/prov:wasGeneratedBy&gt;
+  &lt;/prov:wasGeneratedBy&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -872,10 +850,6 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="used" type="prov:Usage"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on Example 20 from http://www.w3.org/TR/prov-dm/#anexample-usage --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"&gt;
@@ -886,19 +860,19 @@
 
   &lt;prov:entity prov:id="e2"/&gt;
 
-  &lt;prov:used&gt;
+  <b>&lt;prov:used&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:entity prov:ref="e1"/&gt;
     &lt;prov:time&lg;2011-11-16T16:00:00&lt;/prov:time&gt;
     &lt;ex:parameter&gt;p1&lt;/ex:parameter&gt;
-  &lt;/prov:used&gt;
+  &lt;/prov:used&gt;</b>
 
-  &lt;prov:used&gt;
+  <b>&lt;prov:used&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:entity prov:ref="e2"/&gt;
     &lt;prov:time&gt;2011-11-16T16:00:01&lt;/prov:time&gt;
     &lt;ex:parameter&gt;p2&lt;/ex:parameter&gt;
-  &lt;/prov:used&gt;
+  &lt;/prov:used&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -925,10 +899,6 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasInformedBy" type="prov:Communication"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on Example 21 from http://www.w3.org/TR/prov-dm/#anexample-communication --&gt;
-
 &lt;prov:document xmlns:prov="http://www.w3.org/ns/prov#"&gt;
 
   &lt;prov:activity prov:id="a1"&gt;
@@ -939,10 +909,10 @@
     &lt;prov:type>fine paying, check writing, and mailing&lt;/prov:type&gt;
   &lt;/prov:activity&gt;
 
-  &lt;prov:wasInformedBy&gt;
+  <b>&lt;prov:wasInformedBy&gt;
     &lt;prov:informed prov:ref="a2"/&gt;
     &lt;prov:informant prov:ref="a1"/&gt;
-  &lt;/prov:wasInformedBy&gt;
+  &lt;/prov:wasInformedBy&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -973,11 +943,6 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasStartedBy" type="prov:Start"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on PROV-DM's Example 22 from http://www.w3.org/TR/prov-dm/#anexample-start1
-     see also http://www.w3.org/TR/prov-dm/#type_WasStartedBy --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"&gt;
@@ -990,11 +955,11 @@
     &lt;prov:type&gt;Discuss&lt;/prov:type&gt;
   &lt;/prov:activity&gt;
 
-  &lt;prov:wasStartedBy&gt;
+  <b>&lt;prov:wasStartedBy&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:trigger prov:ref="e1"/&gt;
     &lt;prov:time&gt;2011-11-16T16:05:00&lt;/prov:time&gt;
-  &lt;/prov:wasStartedBy&gt;
+  &lt;/prov:wasStartedBy&gt;</b>
 
   &lt;prov:used&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
@@ -1010,18 +975,18 @@
     &lt;prov:activity prov:ref="a0"/&gt;
   &lt;/prov:wasGeneratedBy&gt;
 
-  &lt;prov:wasStartedBy&gt;
+  <b>&lt;prov:wasStartedBy&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:trigger prov:ref="e1"/&gt;
     &lt;prov:starter prov:ref="a0"/&gt;
     &lt;prov:time&gt;2011-11-16T16:05:00&lt;/prov:time&gt;
-  &lt;/prov:wasStartedBy&gt;
+  &lt;/prov:wasStartedBy&gt;</b>
 
-  &lt;prov:wasStartedBy&gt;
+  <b>&lt;prov:wasStartedBy&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:starter prov:ref="a0"/&gt;
     &lt;prov:time&gt;2011-11-16T16:05:00&lt;/prov:time&gt;
-  &lt;/prov:wasStartedBy&gt;
+  &lt;/prov:wasStartedBy&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -1052,11 +1017,6 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasEndedBy" ype="prov:End"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on PROV-DM's Example 25 from http://www.w3.org/TR/prov-dm/#term-End 
-     see also http://www.w3.org/TR/prov-dm/#type_WasEndedBy --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"&gt;
@@ -1069,10 +1029,10 @@
     &lt;prov:type&gt;Editing&lt;/prov:type&gt;
   &lt;/prov:activity&gt;
 
-  &lt;prov:wasEndedBy&gt;
+  <b>&lt;prov:wasEndedBy&gt;
     &lt;prov:activity prov:ref="a1"/&gt;
     &lt;prov:trigger prov:ref="e1"/&gt;
-  &lt;/prov:wasEndedBy&gt;
+  &lt;/prov:wasEndedBy&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -1099,14 +1059,9 @@
 &lt;/xs:complexType&gt;
 </pre>
 <pre class="schema-usage">
-&lt;xs:element mlns:xs="http://www.w3.org/2001/XMLSchema" name="wasInvalidatedBy" type="prov:Invalidation"/&gt;
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasInvalidatedBy" type="prov:Invalidation"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on PROV-DM's Example 26 from http://www.w3.org/TR/prov-dm/#anexample-invalidation1
-     see also http://www.w3.org/TR/prov-dm/#type_WasInvalidatedBy --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"
@@ -1123,12 +1078,12 @@
 
   &lt;prov:activity prov:id="ex:crash"/&gt;
 
-  &lt;prov:wasInvalidatedBy&gt;
+  <b>&lt;prov:wasInvalidatedBy&gt;
     &lt;prov:entity prov:ref="ex:The-Painter"/&gt;
     &lt;prov:activity prov:ref="ex:crash"/&gt;
     &lt;prov:time&gt;1998-09-03T01:31:00&lt;/prov:time&gt;
     &lt;ex:circumstances&gt;plane accident&lt;/ex:circumstances&gt;
-  &lt;/prov:wasInvalidatedBy&gt;
+  &lt;/prov:wasInvalidatedBy&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -1144,27 +1099,140 @@
 <section id="term-Derivation">
 <h4>Derivation</h4>
 <div class="glossary-ref" data-ref="glossary-derivation"></div>
-<div class="schema-type" data-name="prov:Derivation" data-include="schema/prov.xsd" data-oninclude="insertSchema_Derivation"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_wasDerivedFrom"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Derivation1.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Derivation"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="generatedEntity" type="prov:EntityRef"/&gt;
+    &lt;xs:element name="usedEntity" type="prov:EntityRef"/&gt;
+    &lt;xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/&gt;
+    &lt;xs:element name="generation" type="prov:GenerationRef" minOccurs="0"/&gt;
+    &lt;xs:element name="usage" type="prov:UsageRef" minOccurs="0"/&gt;
+    &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+      &lt;xs:element ref="prov:label"/&gt;
+      &lt;xs:element ref="prov:type"/&gt;
+      &lt;xs:any namespace="##other"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:sequence&gt;
+  &lt;xs:attribute ref="prov:id"/&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasDerivedFrom" type="prov:Derivation"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document xmlns:prov="http://www.w3.org/ns/prov#"&gt;
+
+  &lt;prov:entity prov:id="e1"/&gt;
+
+  &lt;prov:entity prov:id="e2"/&gt;
+
+  <b>&lt;prov:wasDerivedFrom&gt;
+    &lt;prov:generatedEntity prov:ref="e2"/&gt;
+    &lt;prov:usedEntity prov:ref="e1"/&gt;
+  &lt;/prov:wasDerivedFrom&gt;</b>
+
+  <b>&lt;prov:wasDerivedFrom&gt;
+    &lt;prov:generatedEntity prov:ref="e2"/&gt;
+    &lt;prov:usedEntity prov:ref="e1"/&gt;
+    &lt;prov:type&gt;physical transform&lt;/prov:type&gt;
+  &lt;/prov:wasDerivedFrom&gt;</b>
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end term-Derivation -->
 
 <section id="term-Revision">
 <h3>Revision</h3>
 <div class="glossary-ref" data-ref="glossary-revision"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Revision.xml" data-oninclude="formatExample"></pre> -->
+<p>To specialize a Derivation relationship as a Revision relationship, include a <code>prov:type</code> with the value "prov:Revision".</p>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:rec54="http://www.w3.org/2001/02pd/rec54#"
+    xmlns:tr="http://example.com/ns/tr#"&gt;
+
+  &lt;prov:entity prov:id="tr:WD-prov-dm-20111215"&gt;
+    &lt;prov:type&gt;rec54:WD&lt;/prov:type&gt;
+  &lt;/prov:entity&gt;
+
+  &lt;prov:entity prov:id="tr:WD-prov-dm-20111018"&gt;
+    &lt;prov:type&gt;rec54:WD&lt;/prov:type&gt;
+  &lt;/prov:entity&gt;
+
+  &lt;prov:wasDerivedFrom&gt;
+    &lt;prov:generatedEntity prov:ref="tr:WD-prov-dm-20111215"/&gt;
+    &lt;prov:usedEntity prov:ref="tr:WD-prov-dm-20111018"/&gt;
+    <b>&lt;prov:type&gt;prov:Revision&lt;/prov:type&gt;</b>
+  &lt;/prov:wasDerivedFrom&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section>  <!-- end term-Revision -->
 
 <section id="term-Quotation">
 <h3>Quotation</h3>
 <div class="glossary-ref" data-ref="glossary-quotation"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Quotation.xml" data-oninclude="formatExample"></pre> -->
+<p>To specialize a Derivation relationship as a Quotation relationship, include a <code>prov:type</code> with the value "prov:Quotation".</p>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:wp="http://thinklinks.wordpress.com/2012/03/07/"
+    xmlns:ex="http://example.com/ns/ex#"
+    xmlns:dm="http://dvcs.w3.org/hg/prov/raw-file/default/model/prov-dm.html#"&gt;
+
+  &lt;prov:entity prov:id="wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop"/&gt;
+
+  &lt;prov:entity prov:id="dm:bl-dagstuhl"/&gt;
+
+  &lt;prov:agent prov:id="ex:Luc"/&gt;
+
+  &lt;prov:agent prov:id="ex:Paul"/&gt;
+
+  &lt;prov:wasDerivedFrom&gt;
+    &lt;prov:generatedEntity prov:ref="dm:gl-dagstuhl"/&gt;
+    &lt;prov:usedEntity prov:ref="wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop"/&gt;
+    <b>&lt;prov:type&gt;prov:Quotation&lt;/prov:type&gt;</b>
+  &lt;/prov:wasDerivedFrom&gt;
+
+  &lt;prov:wasAttributedTo&gt;
+    &lt;prov:entity prov:ref="dm:bl-dagstuhl"/&gt;
+    &lt;prov:agent prov:ref="ex:Luc"/&gt;
+  &lt;/prov:wasAttributedTo&gt;
+
+  &lt;prov:wasAttributedTo&gt;
+    &lt;prov:entity prov:ref="wp:thoughts-from-the-dagstuhl-principles-of-provenance-workshop"/&gt;
+    &lt;prov:agent prov:ref="ex:Paul"/&gt;
+  &lt;/prov:wasAttributedTo&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section>  <!-- end term-Quotation -->
 
 <section id="term-Primary-Source">
 <h3>Primary Source</h3>
 <div class="glossary-ref" data-ref="glossary-primary-source"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/PrimarySource.xml" data-oninclude="formatExample"></pre> -->
+<p>To specialize a Derivation relationship as a Primary Source relationship, include a <code>prov:type</code> with the value "prov:PrimarySource".</p>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  &lt;prov:entity prov:id="ex:la-campagne-de-Russie-1812-1813"&gt;
+    &lt;prov:type&gt;map&lt;/prov:type&gt;
+  &lt;/prov:entity&gt;
+
+  &lt;prov:entity prov:id="ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII"&gt;
+    &lt;prov:type&gt;journal&lt;/prov:type&gt;
+  &lt;/prov:entity&gt;
+
+  &lt;prov:wasDerivedFrom&gt;
+    &lt;prov:generatedEntity prov:ref="ex:la-campagne-de-Russie-1812-1813"/&gt;
+    &lt;prov:usedEntity prov:ref="ex:revue-d-Histoire-de-la-Pharmacie-t-XVIII"/&gt;
+    <b>&lt;prov:type&gt;prov:PrimarySource&lt;/prov:type&gt;</b>
+  &lt;/prov:wasDerivedFrom&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section>  <!-- end term-Primary-Source -->
 
 </section>  <!-- end component2 -->
@@ -1178,41 +1246,268 @@
 <section id="term-Agent">
 <h3>Agent</h3>
 <div class="glossary-ref" data-ref="glossary-agent"></div>
-<div class="schema-type" data-name="prov:Agent" data-include="schema/prov.xsd" data-oninclude="insertSchema_Agent"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_agent"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Agent.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Agent"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+      &lt;xs:element ref="prov:location"/&gt;
+      &lt;xs:element ref="prov:label"/&gt;
+      &lt;xs:element ref="prov:type"/&gt;
+      &lt;xs:any namespace="##other"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:sequence&gt;
+  &lt;xs:attribute ref="prov:id"/&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="agent" type="prov:Agent"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  <b>&lt;prov:agent prov:id="e1"&gt;
+    &lt;prov:type&gt;prov:Person&lt;/prov:type&gt;
+    &lt;ex:name&gt;Alice&lt;/ex:name&gt;
+    &lt;ex:employee&gt;1234&lt;/ex:employee&gt;
+  &lt;/prov:agent&gt;</b>
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end term-Agent -->
 
 <section id="term-Attribution">
 <h3>Attribution</h3>
 <div class="glossary-ref" data-ref="glossary-attribution"></div>
-<div class="schema-type" data-name="prov:Attribution" data-include="schema/prov.xsd" data-oninclude="insertSchema_Attribution"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_wasAttributedTo"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Attribution.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Attribution"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="entity" type="prov:EntityRef"/&gt;
+    &lt;xs:element name="agent" type="prov:AgentRef"/&gt;
+    &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+      &lt;xs:element ref="prov:label"/&gt;
+      &lt;xs:element ref="prov:type"/&gt;
+      &lt;xs:any namespace="##other"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:sequence&gt;
+  &lt;xs:attribute ref="prov:id"/&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasAttributedTo" type="prov:Attribution"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"
+    xmlns:tr="http://example.com/ns/tr#"
+    xmlns:rec54="http://example.com/ns/rec54#"&gt;
+
+  &lt;prov:agent prov:id="ex:Paolo"&gt;
+    &lt;prov:type>prov:Person&lt;/prov:type&gt;
+  &lt;/prov:agent&gt;
+
+  &lt;prov:agent prov:id="ex:Simon"&gt;
+    &lt;prov:type>prov:Person&lt;/prov:type&gt;
+  &lt;/prov:agent&gt;
+
+  &lt;prov:entity prov:id="tr:WD-prov-dm-20111215"&gt;
+    &lt;prov:type>rec54:WD&lt;/prov:type&gt;
+  &lt;/prov:entity&gt;
+
+  <b>&lt;prov:wasAttributedTo&gt;
+    &lt;prov:entity prov:ref="rec54:WD"/&gt;
+    &lt;prov:agent prov:ref="ex:Paolo"/&gt;
+    &lt;prov:type&gt;editorship&lt;/prov:type&gt;
+  &lt;/prov:wasAttributedTo&gt;</b>
+
+  <b>&lt;prov:wasAttributedTo&gt;
+    &lt;prov:entity prov:ref="rec54:WD"/&gt;
+    &lt;prov:agent prov:ref="ex:Simon"/&gt;
+    &lt;prov:type>authorship&lt;/prov:type&gt;
+  &lt;/prov:wasAttributedTo&gt;</b>
+
+&lt;/prov:document&gt;
+</pre>
 </section>  <!-- end term-Attribution -->
 
 <section id="term-Association">
 <h4>Association</h4>
 <div class="glossary-ref" data-ref="glossary-activityAssociation"></div>
-<div class="schema-type" data-name="prov:Association" data-include="schema/prov.xsd" data-oninclude="insertSchema_Association"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_wasAssociatedWith"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Association.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Association"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="activity" type="prov:ActivityRef"/&gt;
+    &lt;xs:element name="agent" type="prov:AgentRef" minOccurs="0"/&gt;
+    &lt;xs:element name="plan" type="prov:EntityRef" minOccurs="0"/&gt;
+    &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+      &lt;xs:element ref="prov:role"/&gt;
+      &lt;xs:element ref="prov:label"/&gt;
+      &lt;xs:element ref="prov:type"/&gt;
+      &lt;xs:any namespace="##other"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:sequence&gt;
+  &lt;xs:attribute ref="prov:id"/&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasAssociatedWith" type="prov:Association"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  &lt;prov:activity prov:id="a"&gt;
+    &lt;prov:type&gt;workflow execution&lt;/prov:type&gt;
+  &lt;/prov:activity&gt;
+
+  &lt;prov:agent prov:id="ag1"&gt;
+    &lt;prov:type&gt;operator&lt;/prov:type&gt;
+  &lt;/prov:agent&gt;
+
+  &lt;prov:agent prov:id="ag2"&gt;
+    &lt;prov:type&gt;designator&lt;/prov:type&gt;
+  &lt;/prov:agent&gt;
+
+  <b>&lt;prov:wasAssociatedWith&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:agent prov:ref="ag1"/&gt;
+    &lt;prov:role&gt;loggedInUser&lt;/prov:role&gt;
+    &lt;ex:how&gt;webapp&lt;/ex:how&gt;
+  &lt;/prov:wasAssociatedWith&gt;</b>
+
+  <b>&lt;prov:wasAssociatedWith&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:agent prov:ref="ag2"/&gt;
+    &lt;prov:plan prov:ref="ex:wf"/&gt;
+    &lt;prov:role&gt;designer&lt;/prov:role&gt;
+    &lt;ex:content&gt;project1&lt;/ex:content&gt;
+  &lt;/prov:wasAssociatedWith&gt;</b>
+
+  &lt;prov:entity prov:id="ex:wf"&gt;
+    &lt;prov:type&gt;prov:Plan&lt;/prov:type&gt;
+    &lt;ex:label&gt;Workflow 1&lt;/ex:label&gt;
+    &lt;prov:location&gt;http://example.org/workflow1.bpel&lt;/prov:location&gt;
+  &lt;/prov:entity&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section>  <!-- end term-Association -->
 
 <section id="term-Delegation">
 <h4>Delegation</h4>
 <div class="glossary-ref" data-ref="glossary-delegation"></div>
-<div class="schema-type" data-name="prov:Delegation" data-include="schema/prov.xsd" data-oninclude="insertSchema_Delegation"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_actedOnBehalfOf"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Delegation.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Delegation"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="delegate" type="prov:AgentRef"/&gt;
+    &lt;xs:element name="responsible" type="prov:AgentRef"/&gt;
+    &lt;xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/&gt;
+    &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+      &lt;xs:element ref="prov:label"/&gt;
+      &lt;xs:element ref="prov:type"/&gt;
+      &lt;xs:any namespace="##other"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:sequence&gt;
+  &lt;xs:attribute ref="prov:id"/&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="actedOnBehalfOf" type="prov:Delegation"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document xmlns:prov="http://www.w3.org/ns/prov#"&gt;
+
+  &lt;prov:activity prov:id="a"&gt;
+    &lt;prov:type&gt;workflow&lt;/prov:type&gt;
+  &lt;/prov:activity&gt;
+
+  &lt;prov:agent prov:id="ag1"&gt;
+    &lt;prov:type&gt;programmer&lt;/prov:type&gt;
+  &lt;/prov:agent&gt;
+
+  &lt;prov:agent prov:id="ag2"&gt;
+    &lt;prov:type&gt;researcher&lt;/prov:type&gt;
+  &lt;/prov:agent&gt;
+
+  &lt;prov:agent prov:id="ag3"&gt;
+    &lt;prov:type&gt;funder&lt;/prov:type&gt;
+  &lt;/prov:agent&gt;
+
+  &lt;prov:wasAssociatedWith&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:agent prov:ref="ag1"/&gt;
+    &lt;prov:role&gt;loggedInUser&lt;/prov:role&gt;
+  &lt;/prov:wasAssociatedWith&gt;
+
+  &lt;prov:wasAssociatedWith&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:agent prov:ref="ag2"/&gt;
+  &lt;/prov:wasAssociatedWithv
+
+  &lt;prov:wasAssociatedWith&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:agent prov:ref="ag3"/&gt;
+  &lt;/prov:wasAssociatedWith&gt;
+
+  <b>&lt;prov:actedOnBehalfOf&gt;
+    &lt;prov:delegate prov:ref="ag1"/&gt;
+    &lt;prov:responsible prov:ref="ag2"/&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:type&gt;line-management&lt;/prov:type&gt;
+  &lt;/prov:actedOnBehalfOf&gt;</b>
+
+  <b>&lt;prov:actedOnBehalfOf&gt;
+    &lt;prov:delegate prov:ref="ag2"/&gt;
+    &lt;prov:responsible prov:ref="ag3"/&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:type&gt;contract&lt;/prov:type&gt;
+  &lt;/prov:actedOnBehalfOf&gt;</b>
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end term-Delegation -->
 
 <section id="term-Influence">
 <h4>Influence</h4>
 <div class="glossary-ref" data-ref="glossary-influence"></div>
-<div class="schema-type" data-name="prov:Influence" data-include="schema/prov.xsd" data-oninclude="insertSchema_Influence"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_wasInfluencedBy"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Influence.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Influence"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="influencee" type="prov:AnyRef"/&gt;
+    &lt;xs:element name="influencer" type="prov:AnyRef"/&gt;
+    &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+      &lt;xs:element ref="prov:label"/&gt;
+      &lt;xs:element ref="prov:type"/&gt;
+      &lt;xs:any namespace="##other"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:sequence&gt;
+  &lt;xs:attribute ref="prov:id"/&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="wasInfluencedBy" type="prov:Influence"/&gt;
+</pre>
+<pre class="example" id="example_38">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:tr="http://example.com/ns/tr#"
+    xmlns:w3="http://w3.org/"&gt;
+
+  &lt;prov:entity prov:id="tr:WD-prov-dm-20111215"/&gt;
+
+  &lt;prov:agent prov:id="w3:Consortium"/&gt;
+
+  <b>&lt;prov:wasInfluencedBy&gt;
+    &lt;prov:influencee prov:ref="tr:WD-prov-dm-20111215"/&gt;
+    &lt;prov:influencer prov:ref="w3:Consortium"/&gt;
+  &lt;/prov:wasInfluencedBy&gt;</b>
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end term-influence -->
 
 </section> <!-- end component3 -->
@@ -1228,25 +1523,145 @@
 <section id="term-Specialization">
 <h4>Specialization</h4>
 <div class="glossary-ref" data-ref="glossary-specialization"></div>
-<div class="schema-type" data-name="prov:Specialization" data-include="schema/prov.xsd" data-oninclude="insertSchema_Specialization"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_specializationOf"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Specialization.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Specialization"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="specificEntity" type="prov:EntityRef"/&gt;
+    &lt;xs:element name="generalEntity" type="prov:EntityRef"/&gt;
+  &lt;/xs:sequence&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="specializationOf" type="prov:Specialization"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"
+    xmlns:bbc="http://www.bbc.co.uk/"&gt;
+
+  &lt;prov:entity prov:id="ex:bbcNews2012-03-23"/&gt;
+
+  &lt;prov:entity prov:id="bbc:news"/&gt;
+
+  <b>&lt;prov:specializationOf&gt;
+    &lt;prov:specificEntity prov:ref="ex:bbcNews2012-03-23"/&gt;
+    &lt;prov:generalEntity prov:ref="bbc:news"/&gt;
+  &lt;/prov:specializationOf&gt;</b>
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end term-Specialization -->
 
 <section id="term-Alternate">
 <h4>Alternate</h4>
 <div class="glossary-ref" data-ref="glossary-alternate"></div>
-<div class="schema-type" data-name="prov:Alternate" data-include="schema/prov.xsd" data-oninclude="insertSchema_Alternate"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_alternateOf"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Alternate_43.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Alternate"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="alternate1" type="prov:EntityRef"/&gt;
+    &lt;xs:element name="alternate2" type="prov:EntityRef"/&gt;
+  &lt;/xs:sequence&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="alternateOf" type="prov:Alternate"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:bbc="http://www.bbc.co.uk/news"
+    xmlns:bbcmobile="http://www.bbc.co.uk/news/mobile"&gt;
+
+  &lt;prov:entity prov:id="bbc:science-environment-17526723"&gt;
+    &lt;prov:type&gt;a news item for desktop&lt;/prov:type&gt;
+  &lt;/prov:entity&gt;
+
+  &lt;prov:entity prov:id="bbcmobile:science-environment-17526723"&gt;
+    &lt;prov:type&gt;a news item for mobile devices&lt;/prov:type&gt;
+  &lt;/prov:entity&gt;
+
+  <b>&lt;prov:alternateOf&gt;
+    &lt;prov:alternate1 prov:ref="bbcmobile:science-environment-17526723"/&gt;
+    &lt;prov:alternate2 prov:ref="bbc:science-environment-17526723"/&gt;
+  &lt;/prov:alternateOf&gt;</b>
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end term-Alternate -->
 
 <section id="term-Mention">
 <h4>Mention</h4>
 <div class="glossary-ref" data-ref="glossary-mention"></div>
-<div class="schema-type" data-name="prov:Mention" data-include="schema/prov.xsd" data-oninclude="insertSchema_Mention"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_mentionOf"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Mention_45.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-type">
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Mention"&gt;
+  &lt;xs:sequence&gt;
+    &lt;xs:element name="specificEntity" type="prov:EntityRef"/&gt;
+    &lt;xs:element name="generalEntity" type="prov:EntityRef"/&gt;
+    &lt;xs:element name="bundle" type="prov:EntityRef"/&gt;
+  &lt;/xs:sequence&gt;
+&lt;/xs:complexType&gt;
+</pre>
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="mentionOf" type="prov:Mention"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"
+    xmlns:perf="http://example.com/ns/perf#"
+    xmlns:tool="http://example.com/ns/tool#"&gt;
+
+  &lt;prov:bundle prov:id="ex:run1"&gt;
+    &lt;prov:activity prov:id="ex:a1"&gt;
+      &lt;prov:startTime&gt;2011-11-16T16:00:00&lt;/prov:startTime&gt;
+      &lt;prov:endTime&gt;2011-11-16T17:00:00&lt;/prov:endTime&gt;
+    &lt;/prov:activity&gt;
+
+    &lt;prov:wasAssociatedWith&gt;
+      &lt;prov:activity prov:ref="ex:a1" /&gt;
+      &lt;prov:agent prov:ref="ex:Bob" /&gt;
+      &lt;prov:role&gt;controller&lt;/prov:role&gt;
+    &lt;/prov:wasAssociatedWith&gt;
+  &lt;/prov:bundle&gt;
+
+  &lt;prov:bundle prov:id="ex:run2"&gt;
+    &lt;prov:activity prov:id="ex:a2"&gt;
+      &lt;prov:startTime&gt;2011-11-17T10:00:00&lt;/prov:startTime&gt;
+      &lt;prov:endTime&gt;2011-11-17T17:00:00&lt;/prov:endTime&gt;
+    &lt;/prov:activity&gt;
+
+    &lt;prov:wasAssociatedWith&gt;
+      &lt;prov:activity prov:ref="ex:a2" /&gt;
+      &lt;prov:agent prov:ref="ex:Bob" /&gt;
+      &lt;prov:role&gt;controller&lt;/prov:role&gt;
+    &lt;/prov:wasAssociatedWith&gt;
+  &lt;/prov:bundle&gt;
+
+  &lt;prov:bundle prov:id="tool:analysis01"&gt;
+    &lt;prov:agent prov:id="tool:Bob-2011-11-16"&gt;
+      &lt;ex:perfrating&gt;good&lt;/ex:perfrating&gt;
+    &lt;/prov:agent&gt;
+
+    <b>&lt;prov:mentionOf&gt;
+      &lt;prov:specificEntity prov:ref="tool:Bob-2011-11-16" /&gt;
+      &lt;prov:generalEntity prov:ref="ex:Bob" /&gt;
+      &lt;prov:bundle prov:ref="ex:run1" /&gt;
+    &lt;/prov:mentionOf&gt;</b>
+
+    &lt;prov:agent prov:id="tool:Bob-2011-11-17"&gt;
+      &lt;ex:perfrating&gt;bad&lt;/ex:perfrating&gt;
+    &lt;/prov:agent&gt;
+
+    <b>&lt;prov:mentionOf&gt;
+      &lt;prov:specificEntity prov:ref="tool:Bob-2011-11-17" /&gt;
+      &lt;prov:generalEntity prov:ref="ex:Bob" /&gt;
+      &lt;prov:bundle prov:ref="ex:run2" /&gt;
+    &lt;/prov:mentionOf&gt;</b>
+  &lt;/prov:bundle&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end term-Mention -->
 
 </section> <!-- end component5 -->
@@ -1260,26 +1675,22 @@
 <section id="term-Collection">
 <h3>Collection</h3>
 <div class="glossary-ref" data-ref="glossary-collection"></div>
+<p>To specialize an Entity as a Collection, include a <code>prov:type</code> with the value "prov:Collection".</p>
+<p>An EmptyCollection is asserted with the <code>prov:type</code> "prov:EmptyCollection" and denotes a Collection with no members.</p>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on PROV-DM's Example 47 from http://www.w3.org/TR/prov-dm/#example_47 --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"
     xmlns:ex="http://example.com/ns/ex#"&gt;
 
   &lt;!-- c0 is an empty collection --&gt;
-  &lt;prov:entity prov:id="c0"&gt;
-    &lt;!-- prov:EmptyCollection denotes an empty collection. --&gt;
+  <b>&lt;prov:entity prov:id="c0"&gt;
     &lt;prov:type>prov:EmptyCollection&lt;/prov:type&gt;
-  &lt;/prov:entity&gt;
+  &lt;/prov:entity&gt;</b>
 
   &lt;!-- c1 is a collection, with unknown content --&gt;
-  &lt;prov:entity prov:id="c1"&gt;
-    &lt;!-- prov:Collection denotes an entity of type Collection, i.e. an entity that can participate in relations amongst collections --&gt;
+  <b>&lt;prov:entity prov:id="c1"&gt;
     &lt;prov:type&gt;prov:Collection&lt;/prov:type&gt;
-  &lt;/prov:entity&gt;
+  &lt;/prov:entity&gt;</b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -1289,7 +1700,7 @@
 <h3>Membership</h3>
 <div class="glossary-ref" data-ref="glossary-membership"></div>
 <pre class="schema-type">
-&lt;xs:complexType name="Membership"&gt;
+&lt;xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Membership"&gt;
   &lt;xs:sequence&gt;
     &lt;xs:element name="collection"  type="prov:EntityRef"/&gt;
     &lt;xs:element name="entity"      type="prov:EntityRef" maxOccurs="unbounded"/&gt;
@@ -1300,10 +1711,6 @@
 &lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="hadMember" type="prov:Membership"/&gt;
 </pre>
 <pre class="example">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-
-&lt;!-- based on Example 48 from http://www.w3.org/TR/prov-dm/#example_48 --&gt;
-
 &lt;prov:document
     xmlns:prov="http://www.w3.org/ns/prov#"&gt;
 
@@ -1315,12 +1722,12 @@
     &lt;prov:type&gt;prov:Collection&lt;/prov:type&gt;
   &lt;/prov:entity&gt;
 
-  &lt;prov:hadMember&gt;
+  <b>&lt;prov:hadMember&gt;
     &lt;prov:collection prov:ref="c"/&gt;
     &lt;prov:entity prov:ref="e0"/&gt;
     &lt;prov:entity prov:ref="e1"/&gt;
     &lt;prov:entity prov:ref="e2"/&gt;
-  &lt;/prov:hadMember>
+  &lt;/prov:hadMember></b>
 
 &lt;/prov:document&gt;
 </pre>
@@ -1335,41 +1742,157 @@
 
 <section id="attribute-Identifier">
 <h4>Identifier</h4>
+<div class="glossary-ref" data-ref="glossary-identifier"></div>
+<p>The identifier attribute is used to identify instances of PROV types or relations.</p>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#" 
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  &lt;prov:entity <b>prov:id="tr:WD-prov-dm-20111215"</b>&gt;
+    &lt;prov:type&gt;document&lt;/prov:type&gt;
+    &lt;ex:version&gt;2&lt;/ex:version&gt;
+  &lt;/prov:entity&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end attribute-Identifier --> 
 
 <section id="element-Label">
 <h4>Label</h4>
 <div class="glossary-ref" data-ref="glossary-label"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_label"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Label.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="label" type="prov:InternationalizedString"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#" 
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  &lt;prov:entity prov:id="ex:e1"&gt;
+    <b>&lt;prov:label&gt;This is a human-readable label&lt;/prov:label&gt;</b>
+  &lt;/prov:entity&gt;
+
+  &lt;prov:entity prov:id="ex:car01"&gt;
+    <b>&lt;prov:label xml:lang="fr"&gt;Voiture 01&lt;/prov:label&gt;
+    &lt;prov:label xml:lang="en"&gt;Car 01&lt;/prov:label&gt;</b>
+  &lt;/prov:entity&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end element-Label -->
 
 <section id="element-Location">
 <h4>Location</h4>
 <div class="glossary-ref" data-ref="glossary-location"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_location"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Location.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="location" type="xs:anySimpleType"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  &lt;prov:entity prov:id="ex:MonaLisa"&gt;
+    &lt;prov:type&gt;StillImage&lt;/prov:type&gt;
+    <b>&lt;prov:location&gt;Le Louvre, Paris&lt;/prov:location&gt;</b>
+  &lt;/prov:entity&gt;
+
+  &lt;prov:entity prov:id="ex:cell"&gt;
+    <b>&lt;prov:location&gt;(5,5)&lt;/prov:location&gt;</b>
+    &lt;prov:value&gt;10&lt;/prov:value&gt;
+  &lt;/prov:entity&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end element-Location -->
 
 <section id="element-Role">
 <h4>Role</h4>
 <div class="glossary-ref" data-ref="glossary-role"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_role"></div>
-<!-- <pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Role.xml" data-oninclude="formatExample"></pre> -->
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="role" type="xs:anySimpleType"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  &lt;prov:wasAssociatedWith&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:agent prov:ref="ag1"/&gt;
+    <b>&lt;prov:role&gt;loggedInUser&lt;/prov:role&gt;</b>
+    &lt;ex:how&gt;webapp&lt;/ex:how&gt;
+  &lt;/prov:wasAssociatedWith&gt;
+
+  &lt;prov:wasAssociatedWith&gt;
+    &lt;prov:activity prov:ref="a"/&gt;
+    &lt;prov:agent prov:ref="ag2"/&gt;
+    &lt;prov:plan prov:ref="ex:wf"/&gt;
+    <b>&lt;prov:role&gt;designer&lt;/prov:role&gt;</b>
+    &lt;ex:content&gt;project1&lt;/ex:content&gt;
+  &lt;/prov:wasAssociatedWith&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end element-Role -->
 
 <section id="element-Type">
 <h4>Type</h4>
 <div class="glossary-ref" data-ref="glossary-type"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_type"></div>
-<!--<pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Type.xml" data-oninclude="formatExample"></pre>-->
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="type" type="xs:anySimpleType"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"
+    xmlns:tr="http://example.com/ns/tr#"&gt;
+
+  &lt;prov:entity prov:id="tr:WD-prov-dm-20111215"&gt;
+    <b>&lt;prov:type&gt;document&lt;/prov:type&gt;</b>
+    &lt;ex:version&gt;2&lt;/ex:version&gt;
+  &lt;/prov:entity&gt;
+
+  &lt;prov:agent prov:id="e1"&gt;
+    <b>&lt;prov:type&gt;prov:Person&lt;/prov:type&gt;</b>
+    &lt;ex:name&gt;Alice&lt;/ex:name&gt;
+    &lt;ex:employee&gt;1234&lt;/ex:employee&gt;
+  &lt;/prov:agent&gt;
+
+  &lt;prov:activity prov:id="a1"&gt;
+    &lt;prov:startTime&gt;2011-11-16T16:05:00&lt;/prov:startTime&gt;
+    &lt;prov:endTime&gt;2011-11-16T16:06:00&lt;/prov:endTime&gt;
+    <b>&lt;prov:type&gt;ex:edit&lt;/prov:type&gt;</b>
+    &lt;ex:host&gt;server.example.org&lt;/ex:host&gt;
+  &lt;/prov:activity&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end element-Type -->
 
 <section id="element-Value">
 <h4>Value</h4>
 <div class="glossary-ref" data-ref="glossary-value-attribute"></div>
-<div class="schema-usage" data-include="schema/prov.xsd" data-oninclude="insertSchema_value"></div>
-<!--<pre class="example" data-include="../examples/eg-40-xml-examples-by-term/xml/Value.xml" data-oninclude="formatExample"></pre>-->
+<pre class="schema-usage">
+&lt;xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="value" type="xs:anySimpleType"/&gt;
+</pre>
+<pre class="example">
+&lt;prov:document
+    xmlns:prov="http://www.w3.org/ns/prov#"
+    xmlns:ex="http://example.com/ns/ex#"&gt;
+
+  &lt;prov:entity prov:id="ex:in"&gt;
+    <b>&lt;prov:value&gt;abcd&lt;/prov:value&gt;</b>
+  &lt;/prov:entity&gt;
+
+  &lt;prov:entity prov:id="ex:out"&gt;
+    <b>&lt;prov:value&gt;4&lt;/prov:value&gt;</b>
+  &lt;/prov:entity&gt;
+
+&lt;/prov:document&gt;
+</pre>
 </section> <!-- end element-Value -->
 
 </section> <!-- end further-elements -->
@@ -1402,9 +1925,403 @@
 
 
 
+<!-- Should this be folded or hid in some way until the user asks to see it? -->
 <section class="appendix"> 
       <h2>Full XML Schema</h2> 
-      <p><!-- <pre class='schema' data-include='schema/prov.xsd' data-oninclude='insertSchema'></pre>  --></p> 
+		<pre class="full-schema">
+&lt;?xml version="1.0" encoding="utf-8"?&gt;
+
+&lt;xs:schema targetNamespace="http://www.w3.org/ns/prov#"
+           xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:prov="http://www.w3.org/ns/prov#"
+           xmlns:cu="http://www.w3.org/1999/xhtml/datatypes/"
+           xmlns:xml="http://www.w3.org/XML/1998/namespace"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified"&gt;
+
+
+
+  &lt;xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" /&gt;
+  &lt;xs:import namespace="http://www.w3.org/XML/1998/namespace" 
+             schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
+
+  &lt;!-- Component 1 --&gt;
+
+  &lt;xs:complexType name="Entity"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:value"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;  
+
+  &lt;xs:complexType name="Activity"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="startTime"    type="xs:dateTime" minOccurs="0"/&gt; 
+      &lt;xs:element name="endTime"      type="xs:dateTime" minOccurs="0"/&gt; 
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Generation"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="entity"   type="prov:EntityRef"/&gt;
+      &lt;xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/&gt;
+      &lt;xs:element name="time"     type="xs:dateTime" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:role"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Usage"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="activity" type="prov:ActivityRef"/&gt;
+      &lt;xs:element name="entity"   type="prov:EntityRef" minOccurs="0"/&gt;
+      &lt;xs:element name="time"     type="xs:dateTime" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:role"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Communication"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="informed"  type="prov:ActivityRef"/&gt;
+      &lt;xs:element name="informant" type="prov:ActivityRef"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Start"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="activity" type="prov:ActivityRef"/&gt;
+      &lt;xs:element name="trigger"  type="prov:EntityRef" minOccurs="0"/&gt;
+      &lt;xs:element name="starter"  type="prov:ActivityRef" minOccurs="0"/&gt;
+      &lt;xs:element name="time"     type="xs:dateTime" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:role"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="End"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="activity" type="prov:ActivityRef"/&gt;
+      &lt;xs:element name="trigger"  type="prov:EntityRef"  minOccurs="0"/&gt;
+      &lt;xs:element name="ender"    type="prov:ActivityRef" minOccurs="0"/&gt;
+      &lt;xs:element name="time"     type="xs:dateTime" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:role"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Invalidation"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="entity"   type="prov:EntityRef"/&gt;
+      &lt;xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/&gt;
+      &lt;xs:element name="time"     type="xs:dateTime" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:role"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;!-- Component 2 --&gt;
+
+  &lt;xs:complexType name="Derivation"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="generatedEntity"  type="prov:EntityRef"/&gt;
+      &lt;xs:element name="usedEntity"       type="prov:EntityRef"/&gt;
+      &lt;xs:element name="activity"         type="prov:ActivityRef" minOccurs="0"/&gt;
+      &lt;xs:element name="generation"       type="prov:GenerationRef" minOccurs="0"/&gt;
+      &lt;xs:element name="usage"            type="prov:UsageRef" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;!-- Component 3 --&gt;
+
+  &lt;xs:complexType name="Agent"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:location"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Attribution"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="entity" type="prov:EntityRef"/&gt;
+      &lt;xs:element name="agent"    type="prov:AgentRef"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Association"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="activity" type="prov:ActivityRef"/&gt;
+      &lt;xs:element name="agent"    type="prov:AgentRef" minOccurs="0"/&gt;
+      &lt;xs:element name="plan"     type="prov:EntityRef" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:role"/&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Delegation"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="delegate" type="prov:AgentRef"/&gt;
+      &lt;xs:element name="responsible" type="prov:AgentRef"/&gt;
+      &lt;xs:element name="activity"    type="prov:ActivityRef" minOccurs="0"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Influence"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="influencee"     type="prov:AnyRef"/&gt;
+      &lt;xs:element name="influencer"     type="prov:AnyRef"/&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:label"/&gt;
+        &lt;xs:element ref="prov:type"/&gt;
+        &lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;!-- Component 4 --&gt;
+
+  &lt;!-- Component 5 --&gt;
+
+  &lt;xs:complexType name="Specialization"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="specificEntity"   type="prov:EntityRef"/&gt;
+      &lt;xs:element name="generalEntity"   type="prov:EntityRef"/&gt;
+    &lt;/xs:sequence&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Alternate"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="alternate1"   type="prov:EntityRef"/&gt;
+      &lt;xs:element name="alternate2"   type="prov:EntityRef"/&gt;
+    &lt;/xs:sequence&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Mention"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="specificEntity"   type="prov:EntityRef"/&gt;
+      &lt;xs:element name="generalEntity"     type="prov:EntityRef"/&gt;
+      &lt;xs:element name="bundle"            type="prov:EntityRef"/&gt;
+    &lt;/xs:sequence&gt;
+  &lt;/xs:complexType&gt;
+
+
+  &lt;!-- Component 6 --&gt;
+
+  &lt;xs:complexType name="Membership"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element name="collection"          type="prov:EntityRef"/&gt;
+      &lt;xs:element name="entity"          type="prov:EntityRef" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="InternationalizedString"&gt;
+    &lt;xs:simpleContent&gt;
+      &lt;xs:extension base="xs:string"&gt;
+        &lt;xs:attribute ref="xml:lang" use="optional"/&gt;
+      &lt;/xs:extension&gt;
+    &lt;/xs:simpleContent&gt;
+  &lt;/xs:complexType&gt;    
+
+
+   &lt;!--
+       Typed literals are encoded by means
+       of xsi:type that represent the prov:datatype.
+
+       --&gt;
+
+  &lt;xs:element name="label"    type="prov:InternationalizedString"/&gt;
+  &lt;xs:element name="role"     type="xs:anySimpleType"/&gt;
+  &lt;xs:element name="type"     type="xs:anySimpleType"/&gt;
+  &lt;xs:element name="location" type="xs:anySimpleType"/&gt;
+  &lt;xs:element name="value"    type="xs:anySimpleType"/&gt;
+
+  &lt;!-- See comment in preamble.
+       These should be prov:QualifiedName
+       but instead are xsd:QName for tools to process them --&gt;
+
+  &lt;xs:attribute name="id"  type="xs:QName"/&gt;
+  &lt;xs:attribute name="ref" type="xs:QName"/&gt;
+
+  &lt;xs:complexType name="ActivityRef"&gt;
+    &lt;xs:attribute ref="prov:ref" use="required" /&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="EntityRef"&gt;
+    &lt;xs:attribute ref="prov:ref" use="required"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="AgentRef"&gt;
+    &lt;xs:attribute ref="prov:ref" use="required"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="UsageRef"&gt;
+    &lt;xs:attribute ref="prov:ref" use="required"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="GenerationRef"&gt;
+    &lt;xs:attribute ref="prov:ref" use="required"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="AnyRef"&gt;
+    &lt;xs:attribute ref="prov:ref" use="required"/&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;!--
+     top-level definition of elements following the salami slice XSD design pattern
+     to encourage integration within existing non-prov XML documents.
+  --&gt;
+
+  &lt;!-- Component 1 elements --&gt;
+
+  &lt;xs:element name="entity"               type="prov:Entity"/&gt;
+  &lt;xs:element name="activity"             type="prov:Activity"/&gt;
+  &lt;xs:element name="wasGeneratedBy"       type="prov:Generation"/&gt;
+  &lt;xs:element name="used"                 type="prov:Usage"/&gt;
+  &lt;xs:element name="wasInformedBy"        type="prov:Communication"/&gt;
+  &lt;xs:element name="wasStartedBy"         type="prov:Start"/&gt;
+  &lt;xs:element name="wasEndedBy"           type="prov:End"/&gt;
+  &lt;xs:element name="wasInvalidatedBy"     type="prov:Invalidation"/&gt;
+
+  &lt;!-- Component 2 elements --&gt;
+
+  &lt;xs:element name="wasDerivedFrom"       type="prov:Derivation"/&gt;
+
+  &lt;!-- Component 3 elements --&gt;
+
+  &lt;xs:element name="agent"                type="prov:Agent"/&gt;
+  &lt;xs:element name="wasAttributedTo"      type="prov:Attribution"/&gt;
+  &lt;xs:element name="wasAssociatedWith"    type="prov:Association"/&gt;
+  &lt;xs:element name="actedOnBehalfOf"      type="prov:Delegation"/&gt;
+  &lt;xs:element name="wasInfluencedBy"      type="prov:Influence"/&gt;
+
+  &lt;!-- Component 5 elements --&gt;
+
+  &lt;xs:element name="specializationOf"     type="prov:Specialization"/&gt;
+  &lt;xs:element name="alternateOf"          type="prov:Alternate"/&gt;
+  &lt;xs:element name="mentionOf"            type="prov:Mention"/&gt;
+
+  &lt;!-- Component 6 elements --&gt;
+
+  &lt;xs:element name="hadMember"            type="prov:Membership"/&gt;
+
+  &lt;xs:group name="documentElements"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;
+        &lt;xs:element ref="prov:entity"/&gt;
+        &lt;xs:element ref="prov:activity"/&gt;
+        &lt;xs:element ref="prov:wasGeneratedBy"/&gt;
+        &lt;xs:element ref="prov:used"/&gt;
+        &lt;xs:element ref="prov:wasInformedBy"/&gt;
+        &lt;xs:element ref="prov:wasStartedBy"/&gt;
+        &lt;xs:element ref="prov:wasEndedBy"/&gt;
+        &lt;xs:element ref="prov:wasInvalidatedBy"/&gt;
+        &lt;xs:element ref="prov:wasDerivedFrom"/&gt;
+        &lt;xs:element ref="prov:agent"/&gt;
+        &lt;xs:element ref="prov:wasAttributedTo"/&gt;
+        &lt;xs:element ref="prov:wasAssociatedWith"/&gt;
+        &lt;xs:element ref="prov:actedOnBehalfOf"/&gt;
+        &lt;xs:element ref="prov:wasInfluencedBy"/&gt;
+        &lt;xs:element ref="prov:specializationOf"/&gt;
+        &lt;xs:element ref="prov:alternateOf"/&gt;
+        &lt;xs:element ref="prov:mentionOf"/&gt;
+        &lt;xs:element ref="prov:hadMember"/&gt;
+		&lt;xs:any namespace="##other"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+  &lt;/xs:group&gt;
+
+  &lt;xs:element name="document" type="prov:Document" /&gt;
+  &lt;xs:complexType name="Document"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:choice maxOccurs="unbounded"&gt;
+        &lt;xs:group ref="prov:documentElements"/&gt;
+        &lt;xs:element name="bundle" type="prov:Bundle"/&gt;
+      &lt;/xs:choice&gt;
+    &lt;/xs:sequence&gt;
+  &lt;/xs:complexType&gt;
+
+  &lt;xs:complexType name="Bundle"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="prov:documentElements"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attribute ref="prov:id"/&gt;
+  &lt;/xs:complexType&gt;
+
+&lt;/xs:schema&gt;
+		</pre>
     </section> 
 
 <section class="appendix">