From f2525ef227f87b4e6f99e0486b50c693d39f101f Mon Sep 17 00:00:00 2001
From: Martin de la Iglesia <iglesia@hab.de>
Date: Wed, 2 Jun 2021 07:57:23 +0000
Subject: [PATCH] Link-Check bei ref/@target korrigiert

---
 transkription.odd | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/transkription.odd b/transkription.odd
index d84add2..d2675e3 100644
--- a/transkription.odd
+++ b/transkription.odd
@@ -1181,11 +1181,16 @@
                             <constraintSpec scheme="schematron" ident="ref-regex">
                                 <constraint> <sch:pattern> <sch:rule context="tei:ref[@target][not(starts-with(@target,'http'))]"> <sch:let name="variable1" value="substring(./@target,5)"/> <sch:let name="variable2" value="substring(./@target,1,3)"/> <sch:assert test="(starts-with(./@target, 'http')) or (document('../Register/bibliography.xml')//*[@xml:id eq $variable1] and $variable2 eq 'lit')">Das Ziel der Verknüpfung ist nicht vorhanden oder die Adresse/ID fehlerhaft.</sch:assert> </sch:rule> </sch:pattern> </constraint>
                             </constraintSpec>
-                            <constraintSpec scheme="schematron" ident="docavailable1">
+                            <!-- alt (falsch positiv bei z.B. <https://www.deutschestextarchiv.de/wander_sprichwoerterlexikon01_1867/638>): -->
+                            <!--<constraintSpec scheme="schematron" ident="docavailable1">
                                 <constraint><sch:rule context="tei:ref[starts-with(@target,'http')][contains(@target,'#')]"><sch:assert test="unparsed-text-available(substring-before(@target,'#'))">ungültiger Hyperlink</sch:assert></sch:rule></constraint>
                             </constraintSpec>
                             <constraintSpec scheme="schematron" ident="docavailable2">
                                 <constraint><sch:rule context="tei:ref[starts-with(@target,'http')][not(contains(@target,'#'))]"><sch:assert test="unparsed-text-available(@target)">ungültiger Hyperlink</sch:assert></sch:rule></constraint>
+                            </constraintSpec>-->
+                            <!-- neu: -->
+                            <constraintSpec scheme="schematron" ident="uri">
+                                <constraint><sch:rule context="tei:ref[starts-with(@target,'http')]"><sch:assert test="matches(@target,'^https?://\S+$')">ungültiger Hyperlink</sch:assert></sch:rule></constraint>
                             </constraintSpec>
                         </attDef>
                         <attDef ident="cRef" usage="opt">
-- 
GitLab