Home · Blog · Planet Digital Humanities

David Maus M. A.

Digital Humanities Publishing

Today I Learned: Schematron in RelaxNG/Compact einbetten

David Maus, 18.10.2017 · Twitter · Comment · Permalink

Die Syntax für Annotationen in der kompakten Syntax von RelaxNG ist etwas gewöhnungsbedürftig, erlaubt aber das Einbinden von Schematron-Regeln, mit denen weitergehende Restriktionen geprüft werden können.

internalEntity =
[
s:pattern [
s:rule [
context = "*[@rdf:about]" s:assert [
test = "matches(@rdf:about, '^http://([^.]+\.)?hab\.de')"
"Verwende <owl:sameAs> für Statements zu Entitäten, die nicht unter der Kontrolle der HAB liegen."
]
]
]
]
attribute rdf:about { xsd:anyURI }
& Label+

Im Kopf der Grammatik müssen die Schematron-Namensraumbindungen vorgenommen werden, da trang sie nicht automatisch ergänzt.

[
s:ns [ prefix = "rdf" uri = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ]
s:ns [ prefix = "owl" uri = "http://www.w3.org/2002/07/owl#" ]
]

Und merke: