diff --git a/ortsregister.odd b/ortsregister.odd index e851684a11af2ed8e931ac8c58a557f2052e5e10..ec1578dbfcf13cce7d9c3ff02b043817a7327919 100644 --- a/ortsregister.odd +++ b/ortsregister.odd @@ -164,7 +164,7 @@ <rng:text/> </content> <constraintSpec scheme="schematron" ident="regex"> - <constraint> <sch:assert test="matches(.,'(^https?://d-nb\.info/gnd/[0-9]{5,10}-?[0-9]$)|(^http://vocab\.getty\.edu/tgn/[0-9]+$)|(^https?://sws\.geonames\.org/[0-9]+/$)|(^http://ta\.sandrart\.net/-place-[0-9]+$)')">Zeichenkette entspricht nicht den Vorgaben.</sch:assert> </constraint> + <constraint> <sch:assert test="matches(.,'(^https?://d-nb\.info/gnd/[0-9]{5,10}-?([0-9]|X)$)|(^http://vocab\.getty\.edu/tgn/[0-9]+$)|(^https?://sws\.geonames\.org/[0-9]+/$)|(^http://ta\.sandrart\.net/-place-[0-9]+$)')">Zeichenkette entspricht nicht den Vorgaben.</sch:assert> </constraint> </constraintSpec> <attList> <attDef ident="type"> @@ -374,6 +374,36 @@ 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 + + ((//*[@xml:id eq $plcid1]) and ($wrkid1 ne '') and + ( + document('../Register/register-work/register-work-a.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-b.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-c.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-d.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-e.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-f.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-g.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-h.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-i.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-j.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-k.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-l.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-m.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-n.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-o.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-p.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-qr.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-s.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-t.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-u.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-v.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-w.xml')//*[@xml:id eq $wrkid1] or + document('../Register/register-work/register-work-xyz.xml')//*[@xml:id eq $wrkid1] + ) )">ID ist in den Registern nicht vorhanden.</sch:assert> </sch:rule> </sch:pattern> </constraint> </constraintSpec> </attDef>