Task Force "RDF-XML"
List of the changes considered for the RDF 1.1 XML Syntax Specification.
Changes include the Errata for RDF Syntax
Change 1: typo "tiple"
Syntax typo “tiple” in 7.2.11 Production nodeElement: "and the following tiple is added to the graph"
Change 2: hard coded reference to XML and Unicode versions
Hard coded reference to XML 1.0 and to Unicode 3.0 are unduly restrictive. Both reference should be exchanged against a normative reference to the generically latest versions of both standards.
Change 3: signature resolve(e, s)
Section 6.3.3 Grammar Action Notation of the RDF/XML Syntax Specification defines the resolve action with the
signature resolve(e, s), i.e. taking two arguments, and yet we find the following:
in 7.2.11 Production nodeElement
in 7.2.21 Production emptyPropertyElt
while both should read:
Change 4: missing parent accessor
initial erratum Section 6 of the RDF/XML Syntax Specification (Revised) says that the parent property of the element information item in the XML Infoset is required, but section 6.1.2 Element Event does not create a parent accessor for that event. Element events therefore do not have a parent accessor, and yet a parent accessor on element events is made use of in a number or sections. See the error submission for further details.
Change 5: datatyped empty literals
Serialization of datatyped empty literals is not anticipated by the RDF/XML grammar. This is believed by several developers and former WG-members to be an omission in the grammar defined by the RDF/XML Syntax Specification: a bug was reported (and acknowledged by the editor), relating to the use of an rdf:datatype attribute on empty RDF properties. See the archived mailing list thread for technical details. In addition to the question of the RDF/XML grammar's syntactic completeness, note that this issue identifies a construct that occurs within RDF graphs that cannot be serialized in the RDF/XML syntax.
Current section "7.2.16 Production literalPropertyElt" says start-element(URI == propertyElementURIs ), attributes == set(idAttr?, datatypeAttr?)) text() end-element() Note that the empty literal case is defined in production emptyPropertyElt. (...) Current section "7.2.21 Production emptyPropertyElt" says start-element(URI == propertyElementURIs ), attributes == set(idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr*)) end-element() (...) with section "7.2.7 Production propertyAttributeURIs" specifying and anyURI - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms ) (...) with section "7.2.2 Production coreSyntaxTerms" including datatypes: rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype (...) My understanding here is that we could change section 7.2.21 this way: 7.2.21 Production emptyPropertyElt start-element(URI == propertyElementURIs ), attributes == set(idAttr?, ( resourceAttr | nodeIdAttr | datatypeAttr)?, propertyAttr*)) end-element()