Difference between revisions of "Prov-XML Identifiers"

From Provenance WG Wiki
Jump to: navigation, search
(xs:ID/xs:IDRef)
(xs:ID/xs:IDRef)
Line 5: Line 5:
 
== Options regarding the type of the prov:id and prov:ref xml attributes ==
 
== Options regarding the type of the prov:id and prov:ref xml attributes ==
  
=== xs:ID/xs:IDRef ===
+
=== Using xs:ID for prov:id and xs:IDRef for prov:ref ===
 +
 
 +
'''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.
  
 
Advantages:
 
Advantages:
 +
# IDs would be required to be unique in a document to for the document to be valid (this could also be a disadvantage)
  
 
Disadvantages:
 
Disadvantages:
 +
# ID and IDRef have a base type of NCName
 +
## cannot contain colons, whitespaces, or start with numbers
 +
## URIs and qualified names are not valid IDs because both contain colons.
 +
 +
Notes:
 +
# IDs would be required to be unique in a document to for the document to be valid.
 +
# IDRefs are references against identified elements within the same document, will not work to reference external records.
  
 
=== xs:QName/xs:QName ===
 
=== xs:QName/xs:QName ===
  
 
=== xs:anyURI/xs:anyURI ===
 
=== xs:anyURI/xs:anyURI ===

Revision as of 18:54, 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

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

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.

Advantages:

  1. IDs would be required to be unique in a document to for the document to be valid (this could also be a disadvantage)

Disadvantages:

  1. ID and IDRef have a base type of NCName
    1. cannot contain colons, whitespaces, or start with numbers
    2. URIs and qualified names are not valid IDs because both contain colons.

Notes:

  1. IDs would be required to be unique in a document to for the document to be valid.
  2. IDRefs are references against identified elements within the same document, will not work to reference external records.

xs:QName/xs:QName

xs:anyURI/xs:anyURI