--- a/dictionary/Overview.html Thu Mar 28 17:21:10 2013 +0100
+++ b/dictionary/Overview.html Thu Mar 28 17:55:35 2013 +0100
@@ -2365,7 +2365,27 @@
<h3>Dictionary</h3>
<div class="glossary-ref" data-ref="glossary-dictionary"></div>
<p>To specialize an Entity as a Dictionary, include a <code>prov:type</code> with the value "prov:Dictionary".</p>
+<pre class="schema-type">
+<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Dictionary" >
+ <xs:complexContent>
+ <xs:extension base="prov:Collection"></xs:extension>
+ </xs:complexContent>
+</xs:complexType>
+</pre>
+<pre class="schema-usage">
+<xs:element name="dictionary" type="prov:Dictionary" substitutionGroup="prov:internalElement" />
+</pre>
<p>An EmptyDictionary is asserted with the <code>prov:type</code> "prov:EmptyDictionary" and denotes a Dictionary with no members.</p>
+<pre class="schema-type">
+<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="EmptyDictionary" >
+ <xs:complexContent>
+ <xs:extension base="prov:Dictionary"></xs:extension>
+ </xs:complexContent>
+</xs:complexType>
+</pre>
+<pre class="schema-usage">
+<xs:element name="emptyDictionary" type="prov:EmptyDictionary" substitutionGroup="prov:internalElement" />
+</pre>
<pre class="example">
<prov:document
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -2389,17 +2409,19 @@
<section id="term-KeyEntityPair">
-<h3>Key-Value Pair</h3>
+<h3>Key-Entity Pair</h3>
<div class="glossary-ref" data-ref="glossary-keyEntityPair"></div>
-<p>Key-value pairs are used to identify the members of a dictionary.</p>
+<p>Key-entity pairs are used to identify the members of a dictionary.</p>
<pre class="schema-type">
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="KeyEntityPair" >
- <xs:element name="entity" type="prov:IDRef" />
- <xs:element name="key" type="xs:anySimpleType" />
+ <xs:sequence>
+ <xs:element name="entity" type="prov:IDRef" />
+ <xs:element name="key" type="xs:anySimpleType" />
+ </xs:sequence>
</xs:complexType>
</pre>
<pre class="schema-usage">
-<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="keyEntityPair" type="prov:KeyEntityPair"/>
+<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="keyEntityPair" type="prov:KeyEntityPair" substitutionGroup="prov:internalElement"/>
</pre>
<pre class="example">
<prov:document>
@@ -2432,12 +2454,12 @@
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema" name="DictionaryMembership">
<xs:sequence>
<xs:element name="dictionary" type="prov:IDRef"/>
- <xs:element name="keyEntityPair type="prov:KeyEntityPair" maxOccurs="unbounded"/>
+ <xs:element name="keyEntityPair type="prov:KeyEntityPair" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</pre>
<pre class="schema-usage">
-<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="hadDictionaryMember" type="prov:DictionaryMembership"/>
+<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="hadDictionaryMember" type="prov:DictionaryMembership" substitutionGroup="prov:internalElement"/>
</pre>
<pre class="example">
<prov:document
@@ -2482,12 +2504,16 @@
<xs:sequence>
<xs:element name="newDictionary" type="prov:IDRef"/>
<xs:element name="oldDictionary" type="prov:IDRef"/>
- <xs:element name="keyEntityPair type="prov:KeyEntityPair" maxOccurs="unbounded"/>
+ <xs:element name="keyEntityPair type="prov:KeyEntityPair" maxOccurs="unbounded"/>
+ <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
+ <xs:attribute ref="prov:id"/>
</xs:complexType>
</pre>
<pre class="schema-usage">
-<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="derivedByInsertionFrom" type="prov:Insertion"/>
+<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="derivedByInsertionFrom" type="prov:Insertion" substitutionGroup="prov:internalElement"/>
</pre>
<pre class="example">
<prov:document
@@ -2541,11 +2567,15 @@
<xs:element name="newDictionary" type="prov:IDRef"/>
<xs:element name="oldDictionary" type="prov:IDRef"/>
<xs:element name="key" type="xs:anySimpleType" maxOccurs="unbounded" />
+ <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
+ <xs:attribute ref="prov:id"/>
</xs:complexType>
</pre>
<pre class="schema-usage">
-<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="derivedByRemovalFrom" type="prov:Removal"/>
+<xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="derivedByRemovalFrom" type="prov:Removal" substitutionGroup="prov:internalElement"/>
</pre>
<pre class="example">
<prov:document
--- a/xml/schema/prov-dictionary.xsd Thu Mar 28 17:21:10 2013 +0100
+++ b/xml/schema/prov-dictionary.xsd Thu Mar 28 17:55:35 2013 +0100
@@ -49,10 +49,15 @@
<!-- Insertion -->
<xs:complexType name="Insertion">
<xs:sequence>
- <xs:element name="newDictionary" type="prov:IDRef"/>
- <xs:element name="oldDictionary" type="prov:IDRef"/>
- <xs:element name="keyEntityPair" type="prov:KeyEntityPair" maxOccurs="unbounded"/>
- </xs:sequence>
+ <xs:element name="newDictionary" type="prov:IDRef"/>
+ <xs:element name="oldDictionary" type="prov:IDRef"/>
+ <xs:element name="keyEntityPair" type="prov:KeyEntityPair" maxOccurs="unbounded"/>
+ <!-- prov attributes -->
+ <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute ref="prov:id"/>
</xs:complexType>
<xs:element name="derivedByInsertionFrom" type="prov:Insertion" substitutionGroup="prov:internalElement"/>
@@ -60,10 +65,15 @@
<!-- Removal -->
<xs:complexType name="Removal">
<xs:sequence>
- <xs:element name="newDictionary" type="prov:IDRef"/>
- <xs:element name="oldDictionary" type="prov:IDRef"/>
- <xs:element name="key" type="xs:anySimpleType" maxOccurs="unbounded" />
+ <xs:element name="newDictionary" type="prov:IDRef"/>
+ <xs:element name="oldDictionary" type="prov:IDRef"/>
+ <xs:element name="key" type="xs:anySimpleType" maxOccurs="unbounded" />
+ <!-- prov attributes -->
+ <xs:element ref="prov:label" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="prov:type" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
+ <xs:attribute ref="prov:id"/>
</xs:complexType>
<xs:element name="derivedByRemovalFrom" type="prov:Removal" substitutionGroup="prov:internalElement"/>