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

Regelsatz: METS/MODS-Serialisierung definiert

parent bd2ec07c
...@@ -80,7 +80,8 @@ AllowedMetadata = ...@@ -80,7 +80,8 @@ AllowedMetadata =
ImportExportDef = ImportExportDef =
element Formats { element Formats {
PicaImport? PicaImport?,
MetsModsSerialization?
} }
PicaImport = PicaImport =
...@@ -148,4 +149,75 @@ PicaPlusImportMappingElements = ...@@ -148,4 +149,75 @@ PicaPlusImportMappingElements =
}* }*
& element valueCondition { text }? & element valueCondition { text }?
& element valueRegExp { text }? & element valueRegExp { text }?
& Name & Name
\ No newline at end of file
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