Notes & Suggestions for change to PROV-XSD CollectionMemberOf

The curent CollectionMemberOf complexType in prov.xsd is as follows  

<xs:complexType name="CollectionMemberOf">
    <xs:sequence>
      <xs:element name="entity"          type="prov:EntityRef"/>
      <xs:element name="complete"        type="xs:boolean"/>
      <xs:element name="member"          type="prov:Entity" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element ref="prov:label" minOccursc="0"  maxOccurs="unbounded"/> 
      <xs:element ref="prov:type"  minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other"  minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute ref="prov:id"/>
  </xs:complexType>

I have a few suggestions for improvement:
1) Entity element of CollectionMemberOf should be named "collection"  (for readability)
2) prov:complete element should probably be optional (DM does not seem to imply this is required to be known)
3) prov:member element should have type prov:EntityRef (I think the current modeling is a typo)

With these changes the complexType would look like:

  <xs:complexType name="CollectionMemberOf">
    <xs:sequence>
      <xs:element name="collection"          type="prov:EntityRef"/>
      <xs:element name="complete"        type="xs:boolean" minOccurs="0" maxOccurs="1"/>
      <xs:element name="member"          type="prov:EntityRef" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element ref="prov:label" minOccursc="0"  maxOccurs="unbounded"/> 
      <xs:element ref="prov:type"  minOccurs="0" maxOccurs="unbounded"/>
      <xs:any namespace="##other"  minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute ref="prov:id"/>
  </xs:complexType>

--Stephan

Received on Monday, 20 August 2012 05:46:27 UTC