Commit 7868a9f6 authored by David Maus's avatar David Maus
Browse files

Grammatik für Konfiguration der Projektformulare

parent 4431ff2b
......@@ -11,12 +11,14 @@ SAXON = java -jar lib/saxon9he.jar
%.sch: %.rng
$(SAXON) -xsl:lib/rngsch.xsl -o:$@ $<
all: ruleset import test
all: ruleset import projects test
import: src/import.xsd src/import.rng
ruleset: src/ruleset.xsd src/ruleset.rng src/ruleset.sch
projects: src/projects.xsd src/projects.rng
.PHONY: clean
clean:
rm -f src/*.xsd
......
# -*- mode: rnc; -*-
#
# RelaxNG Schema für Kitido.Production Projektkonfiguration
#
#
# Author: David Maus <maus@hab.de>
#
namespace s = "http://purl.oclc.org/dsdl/schematron"
start = goobiProjects
goobiProjects =
element goobiProjects {
project+
}
project =
element project {
attribute name { text }
& createNewProcess
& tifheader
& dmsImport
}
createNewProcess =
element createNewProcess {
itemlist
& opac
& templates
& defaultdoctype
& metadatageneration
}
opac =
element opac {
attribute use { xsd:boolean }
& element catalogue {
text
}+
}
templates =
element templates {
attribute use { xsd:boolean }
& empty
}
defaultdoctype =
element defaultdoctype {
text
}
metadatageneration =
element metadatageneration {
attribute use { xsd:boolean }
& empty
}
itemlist =
element itemlist {
item+
& hide
& processtitle+
}
item =
( selectItem | textItem )
selectItem =
element item {
baseItemAttrs,
attribute multiselect { xsd:boolean },
text,
select+
}
textItem =
element item {
baseItemAttrs,
text
}
baseItemAttrs =
attribute from { "vorlage" | "werk" },
attribute required { xsd:boolean }?,
attribute isdoctype { text }?,
attribute isnotdoctype { text }?,
StructTypeMappingAttrs?
select =
element select {
attribute label { text },
text
}
processtitle =
element processtitle {
attribute isdoctype { text },
text
}
hide =
element hide {
empty
}
StructTypeMappingAttrs =
attribute ughbinding { xsd:boolean }?,
attribute docstruct { xsd:NMTOKEN },
attribute metadata { xsd:NMTOKEN }
tifheader =
element tifheader {
element monograph { text }
& element multivolume { text }
& element periodical { text }
& empty
}
dmsImport =
element dmsImport {
empty
}
\ No newline at end of file
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