From 6154241c4f7489c7a6dad60652f11279d7f7432f Mon Sep 17 00:00:00 2001 From: Martin de la Iglesia <iglesia@hab.de> Date: Wed, 3 Nov 2021 13:39:55 +0000 Subject: [PATCH] Bibliographie-Split --- koerperschaftsregister.odd | 138 +++++++++++++++++++++++++++++++------ 1 file changed, 118 insertions(+), 20 deletions(-) diff --git a/koerperschaftsregister.odd b/koerperschaftsregister.odd index 0c624d3..c6d89f5 100644 --- a/koerperschaftsregister.odd +++ b/koerperschaftsregister.odd @@ -133,10 +133,10 @@ <rng:text/> </content> <constraintSpec scheme="schematron" ident="docavailable1"> - <constraint><sch:rule context="tei:idno[@type='URI'][contains(.,'#')]"><sch:assert test="unparsed-text-available(substring-before(.,'#'))">ungültiger Hyperlink</sch:assert></sch:rule></constraint> + <constraint><sch:rule context="tei:idno[@type='URI'][contains(.,'#')]"><sch:assert role="warning" test="unparsed-text-available(substring-before(.,'#'))">ungültiger Hyperlink</sch:assert></sch:rule></constraint> </constraintSpec> <constraintSpec scheme="schematron" ident="docavailable2"> - <constraint><sch:rule context="tei:idno[@type='URI'][not(contains(.,'#'))]"><sch:assert test="unparsed-text-available(.)">ungültiger Hyperlink</sch:assert></sch:rule></constraint> + <constraint><sch:rule context="tei:idno[@type='URI'][not(contains(.,'#'))]"><sch:assert role="warning" test="unparsed-text-available(.)">ungültiger Hyperlink</sch:assert></sch:rule></constraint> </constraintSpec> <constraintSpec scheme="schematron" ident="regex"> <constraint> <sch:assert test="matches(.,'^\S[\s\S]+\S$')">darf nicht mit Leerzeichen beginnen oder enden</sch:assert> </constraint> @@ -185,10 +185,9 @@ <sch:let name="orgid" value="substring-after(substring-before(./@target,' '),'#')"/> <sch:let name="psnid" value="substring-after(./@target,' psn:')"/> <sch:let name="plcid" value="substring-after(./@target,' plc:')"/> - <sch:assert test="( - + <sch:assert test="( $orgid ne '' and -( + ( document('../Register/register-org/register-org-a.xml')//*[@xml:id eq $orgid] or document('../Register/register-org/register-org-b.xml')//*[@xml:id eq $orgid] or document('../Register/register-org/register-org-c.xml')//*[@xml:id eq $orgid] or @@ -212,11 +211,10 @@ document('../Register/register-org/register-org-u.xml')//*[@xml:id eq $orgid] or document('../Register/register-org/register-org-v.xml')//*[@xml:id eq $orgid] or document('../Register/register-org/register-org-w.xml')//*[@xml:id eq $orgid] or document('../Register/register-org/register-org-xyz.xml')//*[@xml:id eq $orgid] -) - - ) and ( + ) +) and ( - ($psnid ne '' and + ($psnid ne '' and ( document('../Register/register-person/register-person-a.xml')//*[@xml:id eq $psnid] or document('../Register/register-person/register-person-b.xml')//*[@xml:id eq $psnid] or @@ -241,8 +239,8 @@ document('../Register/register-org/register-org-xyz.xml')//*[@xml:id eq $orgid] document('../Register/register-person/register-person-v.xml')//*[@xml:id eq $psnid] or document('../Register/register-person/register-person-w.xml')//*[@xml:id eq $psnid] or document('../Register/register-person/register-person-xyz.xml')//*[@xml:id eq $psnid] - ) - ) + ) + ) or ($plcid ne '' and @@ -270,9 +268,9 @@ document('../Register/register-org/register-org-xyz.xml')//*[@xml:id eq $orgid] document('../Register/register-place/register-place-v.xml')//*[@xml:id eq $plcid] or document('../Register/register-place/register-place-w.xml')//*[@xml:id eq $plcid] or document('../Register/register-place/register-place-xyz.xml')//*[@xml:id eq $plcid] - ) - - ))">ID ist in den Registern nicht vorhanden.</sch:assert> + ) + ) +)">ID ist in den Registern nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> @@ -284,8 +282,7 @@ document('../Register/register-org/register-org-xyz.xml')//*[@xml:id eq $orgid] <sch:let name="litid" value="substring-after(substring-before(./@target,' '),'lit:')"/> <sch:let name="orgid" value="substring-after(./@target,' #')"/> - <sch:assert test="( - + <sch:assert test="( $orgid ne '' and ( document('../Register/register-org/register-org-a.xml')//*[@xml:id eq $orgid] or @@ -342,7 +339,33 @@ document('../Register/register-work/register-work-w.xml')//*[@xml:id eq $wrkid] document('../Register/register-work/register-work-xyz.xml')//*[@xml:id eq $wrkid] )) -or (document('../Register/bibliography.xml')//*[@xml:id eq $litid]))">ID ist in den Registern nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> +or ($litid ne '' and +( +document('../Register/bibliography/bibliography-a.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-b.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-c.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-d.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-e.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-f.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-g.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-h.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-i.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-j.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-k.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-l.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-m.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-n.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-o.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-p.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-qr.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-s.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-t.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-u.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-v.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-w.xml')//*[@xml:id eq $litid] or +document('../Register/bibliography/bibliography-xyz.xml')//*[@xml:id eq $litid] + )) +)">ID ist in den Registern nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> </constraintSpec> </attDef> </attList> @@ -537,7 +560,32 @@ or (document('../Register/bibliography.xml')//*[@xml:id eq $litid]))">ID ist in <rng:data type="anyURI"/> </datatype> <constraintSpec scheme="schematron" ident="ptr-regex"> - <constraint> <sch:pattern> <sch:rule context="tei:ptr"> <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"> <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> @@ -567,7 +615,32 @@ or (document('../Register/bibliography.xml')//*[@xml:id eq $litid]))">ID ist in <rng:data type="anyURI"/> </datatype> <constraintSpec scheme="schematron" ident="ref-regex"> - <constraint> <sch:pattern> <sch:rule context="tei:ref[parent::tei:bibl]"> <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:ref[parent::tei:bibl]"> <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> @@ -713,7 +786,32 @@ document('../Register/register-person/register-person-xyz.xml')//*[@xml:id eq $v and $variable2 eq 'psn') -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