Commit 3f3a6bd0 authored by David Maus's avatar David Maus
Browse files

Regelsatz: METS/MODS-Serialisierung definiert

parent bd2ec07c
......@@ -80,7 +80,8 @@ AllowedMetadata =
ImportExportDef =
element Formats {
PicaImport?
PicaImport?,
MetsModsSerialization?
}
PicaImport =
......@@ -148,4 +149,75 @@ PicaPlusImportMappingElements =
}*
& element valueCondition { text }?
& element valueRegExp { text }?
& Name
\ No newline at end of file
& Name
MetsModsSerialization =
element METS {
MetsModsSerializationClass
& MetsModsSerializationNamespace*
& MetsModsSerializationAnchorQuery
& MetsModsSerializationAnchorIdentifierMetadataType
& MetsModsSerializationValueRegExp
& MetsModsSerializationMetadataMapping+
& MetsModsSerializationDocStructMapping+
}
MetsModsSerializationClass =
element class { "ugh.fileformats.mets.MetsModsImportExport" }
MetsModsSerializationNamespace =
element NamespaceDefinition {
element URI { xsd:anyURI },
element prefix { xsd:NMTOKEN }
}
MetsModsSerializationAnchorQuery =
element XPathAnchorQuery { text }
MetsModsSerializationAnchorIdentifierMetadataType =
[
s:pattern [
s:rule [
context = "AnchorIdentifierMetadataType[parent::METS]" s:assert [
test = "/Preferences/MetadataType/Name = ."
"Das Metadatum '" s:value-of [ select = "." ] "' muss definiert werden."
]
]
]
]
element AnchorIdentifierMetadataType { xsd:NMTOKEN }
MetsModsSerializationValueRegExp =
element ValueRegExp { text }
MetsModsSerializationMetadataMapping =
element metadata {
MetsModsSerializationInternalName
& element WriteXPath { WriteXPathContent }
& element FirstnameXPath { WriteXPathContent }
& element DisplayNameXPath { WriteXPathContent }
& element IdentifierXPath { WriteXPathContent }
& element ValueRegExp { text }
& element ValueCondition { text }
}
WriteXPathContent = text
MetsModsSerializationInternalName =
[
s:pattern [
s:rule [
context = "InternalName[ancestor::Formats/METS]" s:assert [
test = "/Preferences/MetadataType/Name = ."
"Das Metadatum '" s:value-of [ select = "." ] "' muss definiert werden."
]
]
]
]
element InternalName { xsd:NMTOKEN }
MetsModsSerializationDocStructMapping =
element DocStruct {
MetsModsSerializationInternalName
& element MetsType { xsd:NMTOKEN }
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment