--- 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"/>