removed inline schema, added links to published schemas
authorStephan Zednik <zednis@rpi.edu>
Tue, 16 Apr 2013 09:35:36 -0600
changeset 6185 88dd5904b0e9
parent 6184 a821cdd8fafa
child 6186 17137c797f09
removed inline schema, added links to published schemas
xml/prov-xml.html
--- a/xml/prov-xml.html	Tue Apr 16 16:33:34 2013 +0200
+++ b/xml/prov-xml.html	Tue Apr 16 09:35:36 2013 -0600
@@ -2370,538 +2370,26 @@
 <h2>XML Schema</h2>
 
 <section id="prov-schema">
-<h3>prov.xsd</h3>
-<pre class="prov-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#"
-           elementFormDefault="qualified"
-           attributeFormDefault="unqualified"&gt;
-
-  &lt;xs:include schemaLocation="prov-core.xsd"/&gt;
-  &lt;xs:include schemaLocation="prov-dictionary.xsd"/&gt;
-  &lt;xs:include schemaLocation="prov-links.xsd"/&gt;
-
-&lt;/xs:schema&gt;
-</pre>
+<h3>Main Schema</h3>
+<p>The main PROV schema is an aggregation of the PROV core schema and all PROV-defined extension schemas.</p>
+<p>The main PROV schema is available at <a href="http://www.w3.org/ns/prov.xsd">http://www.w3.org/ns/prov.xsd</a></p>
 </section> <!-- end prov-schema -->
 
 <section id="prov-core-schema">
-<h3>prov-core.xsd</h3>
-<pre class="prov-core-schema">
-&lt;?xml version="1.0" encoding="utf-8"?&gt;
-
-&lt;!-- 
-  In PROV-DM, all ids are qualified names, specified as prov:QualifiedName in PROV-N.
-  In this schema, all ids are instead defined as xsd:QNames. 
-  --&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;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:value" minOccurs="0"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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;!-- prov attributes --&gt; 
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="activity" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="time" type="xs:dateTime" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="entity" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="time" type="xs:dateTime" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="informant" type="prov:IDRef"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="trigger" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="starter" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="time" type="xs:dateTime" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="trigger" type="prov:IDRef"  minOccurs="0"/&gt;
-      &lt;xs:element name="ender" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="time" type="xs:dateTime" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="activity" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="time" type="xs:dateTime" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="usedEntity" type="prov:IDRef"/&gt;
-      &lt;xs:element name="activity" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="generation" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="usage" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&gt;
-    &lt;/xs:sequence&gt;
-    &lt;xs:attribute ref="prov:id"/&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="Revision"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Derivation"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="Quotation"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Derivation"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="PrimarySource"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Derivation"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;!-- Component 3 --&gt;
-  
-  &lt;xs:complexType name="Agent"&gt;
-    &lt;xs:sequence&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:location" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&gt;
-    &lt;/xs:sequence&gt;
-    &lt;xs:attribute ref="prov:id"/&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="Person"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Agent"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="Organization"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Agent"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="SoftwareAgent"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Agent"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="Attribution"&gt;
-    &lt;xs:sequence&gt;
-      &lt;xs:element name="entity" type="prov:IDRef"/&gt;
-      &lt;xs:element name="agent" type="prov:IDRef"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="agent" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;xs:element name="plan" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:role" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="responsible" type="prov:IDRef"/&gt;
-      &lt;xs:element name="activity" type="prov:IDRef" minOccurs="0"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&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:IDRef"/&gt;
-      &lt;xs:element name="influencer" type="prov:IDRef"/&gt;
-      &lt;!-- prov attributes --&gt;
-      &lt;xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&gt;
-    &lt;/xs:sequence&gt;
-    &lt;xs:attribute ref="prov:id"/&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;!-- Component 4 --&gt;
-
-  &lt;xs:complexType name="Bundle"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Entity"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;!-- bundle container and allowable PROV elements --&gt;
-
-  &lt;xs:complexType name="BundleConstructor"&gt;
-    &lt;xs:sequence maxOccurs="unbounded"&gt;
-      &lt;xs:element ref="prov:entity" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:activity" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasGeneratedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:used" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasInformedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasStartedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasEndedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasInvalidatedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasDerivedFrom" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasRevisionOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasQuotedFrom" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:hadPrimarySource" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:agent" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:person" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:organization" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:softwareAgent" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasAttributedTo" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasAssociatedWith" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:actedOnBehalfOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasInfluencedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:bundle" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:specializationOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:alternateOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:collection" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:emptyCollection" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:hadMember" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:plan" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:other" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:internalElement" minOccurs="0"/&gt;
-    &lt;/xs:sequence&gt;
-    &lt;xs:attribute ref="prov:id"/&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;!-- Component 5 --&gt;
-
-  &lt;xs:complexType name="Specialization"&gt;
-    &lt;xs:sequence&gt;
-      &lt;xs:element name="specificEntity" type="prov:IDRef"/&gt;
-      &lt;xs:element name="generalEntity" type="prov:IDRef"/&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:IDRef"/&gt;
-      &lt;xs:element name="alternate2" type="prov:IDRef"/&gt;
-    &lt;/xs:sequence&gt;
-  &lt;/xs:complexType&gt;
-  
-  &lt;!-- Component 6 --&gt;
-
-  &lt;xs:complexType name="Collection"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Entity"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="EmptyCollection"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Collection"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="Membership"&gt;
-    &lt;xs:sequence&gt;
-      &lt;xs:element name="collection" type="prov:IDRef"/&gt;
-      &lt;xs:element name="entity" type="prov:IDRef" maxOccurs="unbounded"/&gt;
-    &lt;/xs:sequence&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;xs:complexType name="Plan"&gt;
-    &lt;xs:complexContent&gt;
-      &lt;xs:extension base="prov:Entity"&gt;
-      &lt;/xs:extension&gt;
-    &lt;/xs:complexContent&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;xs:attribute name="id" type="xs:QName"/&gt;
-  &lt;xs:attribute name="ref" type="xs:QName"/&gt;
-
-  &lt;xs:complexType name="IDRef"&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;xs:element name="wasRevisionOf"        type="prov:Revision"/&gt;
-  &lt;xs:element name="wasQuotedFrom"        type="prov:Quotation"/&gt;
-  &lt;xs:element name="hadPrimarySource"     type="prov:PrimarySource"/&gt;
-
-  &lt;!-- Component 3 elements --&gt;
-
-  &lt;xs:element name="agent"                type="prov:Agent"/&gt;
-  &lt;xs:element name="person"               type="prov:Person"/&gt;
-  &lt;xs:element name="organization"         type="prov:Organization"/&gt;
-  &lt;xs:element name="softwareAgent"        type="prov:SoftwareAgent"/&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="bundle"               type="prov:Bundle"/&gt;
-  &lt;xs:element name="specializationOf"     type="prov:Specialization"/&gt;
-  &lt;xs:element name="alternateOf"          type="prov:Alternate"/&gt;
-
-  &lt;!-- Component 6 elements --&gt;
-
-  &lt;xs:element name="hadMember"            type="prov:Membership"/&gt;
-  &lt;xs:element name="collection"           type="prov:Collection"/&gt;
-  &lt;xs:element name="emptyCollection"      type="prov:EmptyCollection"/&gt;
-
-  &lt;!-- Component 7 elements --&gt;
-
-  &lt;xs:element name="plan"                 type="prov:Plan"/&gt;
-
-  &lt;!-- document container and allowable PROV elements --&gt;
-
-  &lt;xs:element name="document" type="prov:Document" /&gt;
-
-  &lt;xs:complexType name="Document"&gt;
-    &lt;xs:sequence maxOccurs="unbounded"&gt;
-      &lt;xs:element ref="prov:entity" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:activity" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasGeneratedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:used" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasInformedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasStartedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasEndedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasInvalidatedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasDerivedFrom" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasRevisionOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasQuotedFrom" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:hadPrimarySource" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:agent" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:person" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:organization" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:softwareAgent" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasAttributedTo" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasAssociatedWith" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:actedOnBehalfOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:wasInfluencedBy" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:bundle" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:specializationOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:alternateOf" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:collection" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:emptyCollection" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:hadMember" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:plan" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:other" minOccurs="0"/&gt;
-      &lt;xs:element ref="prov:internalElement" minOccurs="0"/&gt;
-      &lt;xs:element name="bundleContent" type="prov:BundleConstructor" minOccurs="0"/&gt;
-    &lt;/xs:sequence&gt;
-  &lt;/xs:complexType&gt;
-
-  &lt;!-- abstract element used by PROV extensions --&gt;
-
-  &lt;xs:element name="internalElement" abstract="true" /&gt;
-
-  &lt;!-- 'others' element used to contain non-PROV elements --&gt;
-
-  &lt;xs:element name="other" type="prov:Other"/&gt;
-
-  &lt;xs:complexType name="Other"&gt;
-    &lt;xs:sequence&gt;
-      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/&gt;
-    &lt;/xs:sequence&gt;
-  &lt;/xs:complexType&gt;
-
-&lt;/xs:schema&gt;
-
-</pre>
+<h3>Core Schema</h3>
+<p>The PROV core schema defines an XML representation of the PROV data model defined by the PROV-DM.  Extensions to PROV, defined in WG Notes, are defined in separate extension schemas.</p>
+<p>The PROV core schema is available at <a href="http://www.w3.org/ns/prov-core.xsd">http://www.w3.org/ns/prov-core.xsd</a></p>
 </section> <!-- end prov-core-schema -->
 
 <section id="extension-schemas">
 <h3>Extension Schemas</h3>
 <p>Extension schemas are schemas in the PROV Namespace that define additional PROV elements not from the PROV-DM.  Workgroup Notes provide extension schemas to define their Note-introduced PROV elements.  Extension schemas must import (using <code>xs:include</code>) the <b>prov-core.xsd</b> schema and make use of a substitution group on the <code>prov:internalElement</code> to add extension defined elements to the list of valid PROV elements in a bundle or document.</p>
-<p>Here is an example from the <b>prov-links.xsd</b> extension schema.</p>
-<pre title="prov-links.xsd">
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-	targetNamespace="http://www.w3.org/ns/prov#" xmlns:prov="http://www.w3.org/ns/prov#"
-	elementFormDefault="qualified"&gt;
-	
-  &lt;xs:include schemaLocation="prov-core.xsd" /&gt;
-	
-  &lt;xs:complexType name="Mention"&gt;
-    &lt;xs:sequence&gt;
-      &lt;xs:element name="specificEntity" type="prov:IDRef" /&gt;
-      &lt;xs:element name="generalEntity" type="prov:IDRef" /&gt;
-      &lt;xs:element name="bundle" type="prov:IDRef" /&gt;
-    &lt;/xs:sequence&gt;
-  &lt;/xs:complexType&gt;
-	
-  &lt;xs:element name="mentionOf" type="prov:Mention" substitutionGroup="prov:internalElement" /&gt;
-	
-&lt;/xs:schema&gt;
-</pre>
+<!-- TODO link to http://www.w3.org/ns/prov-dictionary.xsd, http://www.w3.org/ns/prov.xsd-links-->
+<p>The PROV-defined extension schemas are available at</p>
+<ul>
+<li>PROV-Dictionary: <a href="http://www.w3.org/ns/prov-dictionary.xsd">http://www.w3.org/ns/prov-dictionary.xsd</a></li>
+<li>PROV-Links: <a href="http://www.w3.org/ns/prov-links.xsd">http://www.w3.org/ns/prov-links.xsd</a></li>
+</ul>
 </section> <!-- end extension-schemas -->
 </section> <!-- end prov-xml-schema -->