diff --git a/public/instance/schema/diglib-rightsmd.rnc b/public/instance/schema/diglib-rightsmd.rnc index b31c0b3b6b6ce0f1aa2c06fbb17df14626dde8d9..47c24cb381124b39618a1404b42c7f000a932756 100644 --- a/public/instance/schema/diglib-rightsmd.rnc +++ b/public/instance/schema/diglib-rightsmd.rnc @@ -1,7 +1,7 @@ # Administrative Metadaten # # Autor: David Maus <maus@hab.de> -# Timestamp: <2018-11-07 11:33:59 maus> +# Timestamp: <2019-01-16 12:17:50 maus> # namespace dct = "http://purl.org/dc/terms/" @@ -11,42 +11,18 @@ namespace owl = "http://www.w3.org/2002/07/owl#" namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" namespace skos = "http://www.w3.org/2004/02/skos/core#" +include "shared-dc.rnc" + start = element rdf:Description { element dct:relation { element foaf:Project { model.Entity } }? - & element dct:rightsHolder { - element dct:Agent { - model.Entity - } - }? - & element dct:rights { - element dct:RightsStatement { - model.Entity - } - }? - & element dct:license { - element dct:LicenseDocument { - model.Entity - } - }? + & property.rightsHolder? + & property.rights? + & property.license? & element marcrel:fnd { - element dct:Agent { - model.Entity - } + entity.Agent }* } - -model.Entity = - element owl:sameAs { - attribute rdf:resource { xsd:anyURI } - }* - & element foaf:homepage { - attribute rdf:resource { xsd:anyURI } - }? - & element skos:prefLabel { - attribute xml:lang { xsd:language }? - & text - }+ \ No newline at end of file diff --git a/public/instance/schema/shared-dc.rnc b/public/instance/schema/shared-dc.rnc new file mode 100644 index 0000000000000000000000000000000000000000..5603132498e710e62c873aec2eb654b37e84dc2e --- /dev/null +++ b/public/instance/schema/shared-dc.rnc @@ -0,0 +1,52 @@ +# Wiederverwendbare Definition von Eigenschaften aus Dublin Core Qualified +# +# Autor: David Maus <maus@hab.de> +# Timestamp: <2019-01-16 12:17:44 maus> +# + +namespace dct = "http://purl.org/dc/terms/" +namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" +namespace owl = "http://www.w3.org/2002/07/owl#" +namespace skos = "http://www.w3.org/2004/02/skos/core#" + +property.license = + element dct:license { + element dct:LicenseDocument { + model.Entity + } + } + +property.rights = + element dct:rights { + element dct:RightsStatement { + model.Entity + } + } + +property.rightsHolder = + element dct:rightsHolder { + entity.Agent + } + +entity.Agent = + element dct:Agent { + model.Entity + } + +property.label = + element skos:prefLabel { + attribute xml:lang { xsd:language }? + & text + } + +model.Entity = ( model.internalEntity | model.externalEntity ) + +model.internalEntity = + attribute rdf:about { xsd:anyURI }? + & property.label + +model.externalEntity = + element owl:sameAs { + attribute rdf:resource { xsd:anyURI } + }* + & property.label