Problem
The RELAX NG Compact schema uses the patterns annotationAttr and annotationNodeIDAttr in several property element definitions, for example:
(annotationAttr | annotationNodeIDAttr)?
However, the schema does not appear to define these patterns later in the RNC schema.
This affects several productions, including:
resourcePropertyElt
literalPropertyElt
parseTypeLiteralPropertyElt
parseTypeResourcePropertyElt
parseTypeTriplePropertyElt
parseTypeOtherPropertyElt
emptyPropertyElt
Expected behavior
The RNC schema should define both annotationAttr and annotationNodeIDAttr, consistently with the grammar productions for RDF/XML 1.2.
Suggested fix
Add definitions corresponding to the RDF/XML 1.2 annotation attributes, for example:
annotationAttr =
attribute rdf:annotation {
IRI
}
annotationNodeIDAttr =
attribute rdf:annotationNodeID {
IDsymbol
}
The exact datatype constraints should be aligned with the normative grammar:
rdf:annotation should denote an IRI.
rdf:annotationNodeID should denote a blank node identifier.
Problem
The RELAX NG Compact schema uses the patterns
annotationAttrandannotationNodeIDAttrin several property element definitions, for example:However, the schema does not appear to define these patterns later in the RNC schema.
This affects several productions, including:
Expected behavior
The RNC schema should define both
annotationAttrandannotationNodeIDAttr, consistently with the grammar productions for RDF/XML 1.2.Suggested fix
Add definitions corresponding to the RDF/XML 1.2 annotation attributes, for example:
The exact datatype constraints should be aligned with the normative grammar:
rdf:annotationshould denote an IRI.rdf:annotationNodeIDshould denote a blank node identifier.