Skip to content

Define annotationAttr and annotationNodeIDAttr in the RELAX NG schema #105

@domel

Description

@domel

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions