From a2853802b11932c375f91d806b24eb58da359571 Mon Sep 17 00:00:00 2001 From: Tom Schraitle Date: Fri, 3 Sep 2021 15:51:14 +0200 Subject: [PATCH] Fix #83: Allow personname related elements In regards to personname: * Allow givenname, othername, honorifc, and linage * Restore content model of personname to not mix firstname with givenname --- geekodoc/rng/2_5.2/geekodoc-v2.rnc | 21 +++++++++++++------- tests/v2/bad/personname-with-givenname.xml | 22 +++++++++++++++++++++ tests/v2/good/geekodoc-v2-flat.rnc | 1 - tests/v2/good/personname-with-givenname.xml | 22 +++++++++++++++++++++ 4 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 tests/v2/bad/personname-with-givenname.xml delete mode 120000 tests/v2/good/geekodoc-v2-flat.rnc create mode 100644 tests/v2/good/personname-with-givenname.xml diff --git a/geekodoc/rng/2_5.2/geekodoc-v2.rnc b/geekodoc/rng/2_5.2/geekodoc-v2.rnc index 91e83fd..3ebd7af 100644 --- a/geekodoc/rng/2_5.2/geekodoc-v2.rnc +++ b/geekodoc/rng/2_5.2/geekodoc-v2.rnc @@ -319,7 +319,7 @@ include "db52itsxi.rnc" db.guisubmenu = notAllowed db.hardware = notAllowed # db.holder = notAllowed - db.honorific = notAllowed + # db.honorific = notAllowed # db.imagedata = notAllowed # db.imageobject = notAllowed db.imageobjectco = notAllowed @@ -349,7 +349,7 @@ include "db52itsxi.rnc" db.label = notAllowed # db.legalnotice = notAllowed db.lhs = notAllowed - db.lineage = notAllowed + # db.lineage = notAllowed db.lineannotation = notAllowed # db.link = notAllowed # db.listitem = notAllowed @@ -1442,17 +1442,24 @@ include "db52itsxi.rnc" } # personname + # Issue #83: Allow givenname, lineage, and honorific div { # Removed text db.personname = ## The personal name of an individual element personname { db.personname.attlist, - (db.honorific - | db.firstname - | db.surname - | db.lineage - | db.othername)+ + ( (db.honorific + | db.firstname + | db.surname + | db.lineage + | db.othername)+ + | (db.honorific + | db.givenname + | db.surname + | db.lineage + | db.othername)+ + ) } db.person.author.contentmodel = db.personname, diff --git a/tests/v2/bad/personname-with-givenname.xml b/tests/v2/bad/personname-with-givenname.xml new file mode 100644 index 0000000..5464314 --- /dev/null +++ b/tests/v2/bad/personname-with-givenname.xml @@ -0,0 +1,22 @@ + + +
+ Bad names + + + + Tux + Tix + Penguin + + + + + Geeko + Gecko + Chamaeleon + + + + +
diff --git a/tests/v2/good/geekodoc-v2-flat.rnc b/tests/v2/good/geekodoc-v2-flat.rnc deleted file mode 120000 index 0c7f8a8..0000000 --- a/tests/v2/good/geekodoc-v2-flat.rnc +++ /dev/null @@ -1 +0,0 @@ -../../../geekodoc/rng/5.1_2/geekodoc-v2-flat.rnc \ No newline at end of file diff --git a/tests/v2/good/personname-with-givenname.xml b/tests/v2/good/personname-with-givenname.xml new file mode 100644 index 0000000..d6a7321 --- /dev/null +++ b/tests/v2/good/personname-with-givenname.xml @@ -0,0 +1,22 @@ + + +
+ Good names + + + + Tux + Penguin + + + + + Geeko + Gecko + Chamaeleon + Jr. + + + + +