From 7705908d8bf3008bc8be36687680804853a694b2 Mon Sep 17 00:00:00 2001 From: Martin de la Iglesia <iglesia@hab.de> Date: Wed, 3 Nov 2021 13:41:17 +0000 Subject: [PATCH] Bibliographie-Split --- ortsregister.odd | 81 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/ortsregister.odd b/ortsregister.odd index 46aa0f0..fb73e7a 100644 --- a/ortsregister.odd +++ b/ortsregister.odd @@ -568,7 +568,32 @@ <rng:data type="anyURI"/> </datatype> <constraintSpec scheme="schematron" ident="ptr-regex"> - <constraint> <sch:pattern> <sch:rule context="tei:ptr[not(./@type)]"> <sch:let name="variable" value="substring(./@target,5)"/> <sch:assert test="(document('../Register/bibliography.xml')//*[@xml:id eq $variable])">ID "<sch:value-of select="$variable"/>" ist in der Bibliographie nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> + <constraint> <sch:pattern> <sch:rule context="tei:ptr[not(./@type)]"> <sch:let name="variable" value="substring(./@target,5)"/> <sch:assert test="$variable ne '' and + ( + document('../Register/bibliography/bibliography-a.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-b.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-c.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-d.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-e.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-f.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-g.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-h.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-i.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-j.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-k.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-l.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-m.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-n.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-o.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-p.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-qr.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-s.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-t.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-u.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-v.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-w.xml')//*[@xml:id eq $variable] or + document('../Register/bibliography/bibliography-xyz.xml')//*[@xml:id eq $variable] + )">ID "<sch:value-of select="$variable"/>" ist in der Bibliographie nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> </constraintSpec> </attDef> </attList> @@ -598,7 +623,32 @@ <rng:data type="anyURI"/> </datatype> <constraintSpec scheme="schematron" ident="ref-regex"> - <constraint> <sch:pattern> <sch:rule context="tei:bibl/tei:ref"> <sch:let name="variable1" value="substring(./@target,5)"/> <sch:let name="variable2" value="substring(./@target,1,3)"/> <sch:assert test="(document('../Register/bibliography.xml')//*[@xml:id eq $variable1] and $variable2 eq 'lit')">ID "<sch:value-of select="$variable1"/>" ist in der Literaturverzeichnisdatei nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> + <constraint> <sch:pattern> <sch:rule context="tei:bibl/tei:ref"> <sch:let name="variable1" value="substring(./@target,5)"/> <sch:let name="variable2" value="substring(./@target,1,3)"/> <sch:assert test="($variable1 ne '' and + ( + document('../Register/bibliography/bibliography-a.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-b.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-c.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-d.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-e.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-f.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-g.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-h.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-i.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-j.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-k.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-l.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-m.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-n.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-o.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-p.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-qr.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-s.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-t.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-u.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-v.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-w.xml')//*[@xml:id eq $variable1] or + document('../Register/bibliography/bibliography-xyz.xml')//*[@xml:id eq $variable1] + ) and $variable2 eq 'lit')">ID "<sch:value-of select="$variable1"/>" ist in keiner Literaturverzeichnisdatei vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> </constraintSpec> </attDef> </attList> @@ -740,7 +790,32 @@ and $variable2 eq 'wrk' ) -or (document('../Register/bibliography.xml')//*[@xml:id eq $variable1] and $variable2 eq 'lit')">ID ist in der angegebenen Registerdatei nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> +or ($variable1 ne '' and +( +document('../Register/bibliography/bibliography-a.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-b.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-c.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-d.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-e.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-f.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-g.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-h.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-i.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-j.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-k.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-l.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-m.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-n.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-o.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-p.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-qr.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-s.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-t.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-u.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-v.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-w.xml')//*[@xml:id eq $variable1] or +document('../Register/bibliography/bibliography-xyz.xml')//*[@xml:id eq $variable1] +) and $variable2 eq 'lit')">ID ist in der angegebenen Registerdatei nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> </constraintSpec> </attDef> <attDef ident="type" usage="req"> -- GitLab