Difference between revisions of "Prov-XML Identifiers"

From Provenance WG Wiki
Jump to: navigation, search
Line 50: Line 50:
=== QName ===
=== QName ===
=== xs:anyURI/xs:anyURI ===
=== anyURI ===

Revision as of 19:08, 17 January 2013

Discussions on how to represent identifiers (prov:id) in PROV-XML

Options regarding the type of the prov:id and prov:ref xml attributes


Use xs:ID for prov:id and xs:IDRef for prov:ref

 <xs:attribute name="id" type="xs:ID"/>
 <xs:attribute name="ref" type="xs:IDRef"/>


Validity constraint: ID
Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them.

Validity constraint: One ID per Element Type
No element type may have more than one ID attribute specified.

Validity constraint: ID Attribute Default
An ID attribute must have a declared default of #IMPLIED or #REQUIRED.

Validity constraint: IDREF
Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each Name must match the value of an ID attribute on some element in the XML document; i.e. IDREF values must match the value of some ID attribute.


  1. ID recognized by XML tools as an identifier type
  2. IDRef recognized by XML tools as a reference to an identified element
  3. ID uniqueness constraint (document scope only)
  4. IDRef must match some identified element in the document


  1. ID and IDRef cannot contain colons, whitespaces, or start with numbers
    1. URIs and qualified names are not valid IDs because both contain colons.
  2. Requiring unique IDs may cause problems with bundles