--- a/xml/schema/prov.xsd Tue Sep 18 10:20:32 2012 -0400
+++ b/xml/schema/prov.xsd Tue Sep 18 11:17:01 2012 -0400
@@ -31,23 +31,18 @@
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
- <xs:group name="commonAttributes">
+ <!-- Component 1 -->
+
+ <xs:complexType name="Entity">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element ref="prov:label"/>
- <xs:element ref="prov:type"/>
- <xs:element ref="prov:location"/>
- <xs:element ref="prov:value"/>
- <xs:element ref="prov:role"/>
+ <xs:element name="location"/>
+ <xs:element name="value"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
<xs:any namespace="##other"/>
</xs:choice>
</xs:sequence>
- </xs:group>
-
- <!-- Component 1 -->
-
- <xs:complexType name="Entity">
- <xs:group ref="prov:commonAttributes"/>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -55,7 +50,12 @@
<xs:sequence>
<xs:element name="startTime" type="xs:dateTime" minOccurs="0"/>
<xs:element name="endTime" type="xs:dateTime" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="location"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -65,7 +65,13 @@
<xs:element name="entity" type="prov:EntityRef"/>
<xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
<xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="location"/>
+ <xs:element name="role"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -75,7 +81,13 @@
<xs:element name="activity" type="prov:ActivityRef"/>
<xs:element name="entity" type="prov:EntityRef" minOccurs="0"/>
<xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="location"/>
+ <xs:element name="role"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -84,7 +96,11 @@
<xs:sequence>
<xs:element name="informed" type="prov:ActivityRef"/>
<xs:element name="informant" type="prov:ActivityRef"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -95,7 +111,13 @@
<xs:element name="trigger" type="prov:EntityRef" minOccurs="0"/>
<xs:element name="starter" type="prov:ActivityRef" minOccurs="0"/>
<xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="location"/>
+ <xs:element name="role"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -106,7 +128,13 @@
<xs:element name="trigger" type="prov:EntityRef" minOccurs="0"/>
<xs:element name="ender" type="prov:ActivityRef" minOccurs="0"/>
<xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="location"/>
+ <xs:element name="role"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -116,7 +144,13 @@
<xs:element name="entity" type="prov:EntityRef"/>
<xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
<xs:element name="time" type="xs:dateTime" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="location"/>
+ <xs:element name="role"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -130,7 +164,11 @@
<xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
<xs:element name="generation" type="prov:GenerationRef" minOccurs="0"/>
<xs:element name="usage" type="prov:UsageRef" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -139,7 +177,12 @@
<xs:complexType name="Agent">
<xs:sequence>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="location"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -148,7 +191,11 @@
<xs:sequence>
<xs:element name="entity" type="prov:EntityRef"/>
<xs:element name="agent" type="prov:AgentRef"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -158,7 +205,12 @@
<xs:element name="activity" type="prov:ActivityRef"/>
<xs:element name="agent" type="prov:AgentRef" minOccurs="0"/>
<xs:element name="plan" type="prov:EntityRef" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="role"/>
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -168,7 +220,11 @@
<xs:element name="delegate" type="prov:AgentRef"/>
<xs:element name="responsible" type="prov:AgentRef"/>
<xs:element name="activity" type="prov:ActivityRef" minOccurs="0"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>
@@ -177,7 +233,11 @@
<xs:sequence>
<xs:element name="influencee" type="prov:AnyRef"/>
<xs:element name="influencer" type="prov:AnyRef"/>
- <xs:group ref="prov:commonAttributes"/>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="label"/>
+ <xs:element name="type"/>
+ <xs:any namespace="##other"/>
+ </xs:choice>
</xs:sequence>
<xs:attribute ref="prov:id"/>
</xs:complexType>