diff --git a/transkription.odd b/transkription.odd
index 09f71661ad58ba948159656cac419b539a33c726..e4a30e00a575a1d42ced9bf618cf3695b1515714 100644
--- a/transkription.odd
+++ b/transkription.odd
@@ -1174,16 +1174,39 @@
                                 <rng:data type="anyURI"/>
                             </datatype>
                             <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>
-                            <!-- 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>
+                                <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 ($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')">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">
+                                <constraint><sch:rule context="tei:ref[starts-with(@target,'http')][contains(@target,'#')]"><sch:assert role="warning" 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: -->
+                                <constraint><sch:rule context="tei:ref[starts-with(@target,'http')][not(contains(@target,'#'))]"><sch:assert role="warning" test="unparsed-text-available(@target)">ungültiger Hyperlink</sch:assert></sch:rule></constraint>
+                            </constraintSpec>                           
                             <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>
@@ -1410,7 +1433,32 @@
                                     
                                     and $variable2 eq 'wrk')
                                     
-                                    or (document('../Register/bibliography.xml')//*[@xml:id eq $variable1] and $variable2 eq 'lit')">ID "<sch:value-of select="$variable1"/>" 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 "<sch:value-of select="$variable1"/>" ist in der angegebenen Registerdatei nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint>
                             </constraintSpec>
                         </attDef>
                         <attDef ident="role" usage="req">