From 3b45bab7859fa1c1ce276750a9327462e4041992 Mon Sep 17 00:00:00 2001 From: eduarddrenth Date: Thu, 23 Sep 2021 06:54:15 +0200 Subject: [PATCH 01/70] improve overridability for docx to TEI conversion --- docx/build-from.xml | 1 + docx/from/docxtotei.xsl | 4 ++-- docx/from/textruns.xsl | 45 ++++++++++++++++++++++++++--------------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/docx/build-from.xml b/docx/build-from.xml index e11a1df7d..0e8f10afb 100644 --- a/docx/build-from.xml +++ b/docx/build-from.xml @@ -25,6 +25,7 @@ + diff --git a/docx/from/docxtotei.xsl b/docx/from/docxtotei.xsl index 4c3ec6043..77550bbe7 100644 --- a/docx/from/docxtotei.xsl +++ b/docx/from/docxtotei.xsl @@ -38,7 +38,8 @@ - + + true mml @@ -65,7 +66,6 @@ - diff --git a/docx/from/textruns.xsl b/docx/from/textruns.xsl index f0214153b..0d6e9a9cb 100644 --- a/docx/from/textruns.xsl +++ b/docx/from/textruns.xsl @@ -96,7 +96,11 @@ of this software, even if advised of the possibility of such damage. - + + Creates appropriate elements from word style, calls basicStyles. When word style starts with "TEI " or "tei_" calls elementFromStyle. + + + @@ -128,27 +132,21 @@ of this software, even if advised of the possibility of such damage. - - - true - - + + + - - - true - - + + + - - - true - - + + + @@ -166,12 +164,27 @@ of this software, even if advised of the possibility of such damage. + + + Creates an element named $style. $style is the word style name with prefix "TEI " or "tei_" stripped off. + Override this method if you need to, for example preprocess $style and call the super. + + + + + + + true + + + Look at the Word underlying basic formatting. We can ignore the run's font change if a) it's not a special para AND the font is the ISO default, OR b) the font for the run is the same as its parent paragraph. + Param parented is true when calling template created an element. false From 71d837945c79bfde512f59aaecf249b236c2a289 Mon Sep 17 00:00:00 2001 From: eduarddrenth Date: Thu, 23 Sep 2021 07:30:12 +0200 Subject: [PATCH 02/70] improve overridability for docx to TEI conversion --- docx/from/textruns.xsl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docx/from/textruns.xsl b/docx/from/textruns.xsl index 0d6e9a9cb..5f3d51879 100644 --- a/docx/from/textruns.xsl +++ b/docx/from/textruns.xsl @@ -166,8 +166,8 @@ of this software, even if advised of the possibility of such damage. - Creates an element named $style. $style is the word style name with prefix "TEI " or "tei_" stripped off. - Override this method if you need to, for example preprocess $style and call the super. + Creates an element named $style and calls basicStyles with parented=true. $style is the word style name with prefix "TEI " or "tei_" stripped off. + Override this method if you need to, for example preprocess $style. From 1c8c069c3e996300a627e6384670c9ad1f15adba Mon Sep 17 00:00:00 2001 From: eduarddrenth Date: Fri, 24 Sep 2021 11:08:10 +0200 Subject: [PATCH 03/70] no import needed (yet) --- docx/from/docxtotei.xsl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docx/from/docxtotei.xsl b/docx/from/docxtotei.xsl index 77550bbe7..e5ce852d5 100644 --- a/docx/from/docxtotei.xsl +++ b/docx/from/docxtotei.xsl @@ -38,8 +38,7 @@ - - + true mml @@ -55,8 +54,8 @@ false false 890 - 576 - + 576 + @@ -67,8 +66,9 @@ - - + + +

TEI stylesheet for converting Word docx files to TEI

From e6fc5516e3cc6cbe6a20d7f3a059fc91967e13ef Mon Sep 17 00:00:00 2001 From: eduarddrenth Date: Fri, 24 Sep 2021 11:11:49 +0200 Subject: [PATCH 04/70] layout --- docx/from/docxtotei.xsl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docx/from/docxtotei.xsl b/docx/from/docxtotei.xsl index e5ce852d5..213d603c7 100644 --- a/docx/from/docxtotei.xsl +++ b/docx/from/docxtotei.xsl @@ -55,7 +55,6 @@ false 890 576 - @@ -65,8 +64,8 @@ - + From ba91e72bfa0810dfef9815b9228be1ccb2fbb4df Mon Sep 17 00:00:00 2001 From: eduarddrenth Date: Fri, 24 Sep 2021 11:13:24 +0200 Subject: [PATCH 05/70] layout --- docx/from/docxtotei.xsl | 1 - 1 file changed, 1 deletion(-) diff --git a/docx/from/docxtotei.xsl b/docx/from/docxtotei.xsl index 213d603c7..b1e1b924c 100644 --- a/docx/from/docxtotei.xsl +++ b/docx/from/docxtotei.xsl @@ -38,7 +38,6 @@ - true mml From ea44c76d06799cc8b22a78e2feeffe00cdc19705 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 2 Oct 2021 15:37:36 -0400 Subject: [PATCH 06/70] Attempt to fix TEIC/TEI#2070: Insert 'doc/tei-p5-doc/' between the version number and the filename ("VERSION") in the URL that points at the VERSION file for a given version. --- profiles/readme/html/to.xsl | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/profiles/readme/html/to.xsl b/profiles/readme/html/to.xsl index eaf2fd523..32502f008 100644 --- a/profiles/readme/html/to.xsl +++ b/profiles/readme/html/to.xsl @@ -62,8 +62,26 @@ of this software, even if advised of the possibility of such damage.

- - + + + + + From fd1d1e2e2c7fd324ef488b2826915162c9d0e366 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 27 May 2022 12:45:41 -0400 Subject: [PATCH 07/70] Stylesheets grp work on #424: * There were 2 definitions of tei:uniqueName(), which look at a glance like they are *exectly* the same. We deleted one. * Change how tei:uniqueName() works, based on @dmj's idea. --- odds/odd2odd.xsl | 41 +++++++++++++++++++++++++++-------------- odds/teiodds.xsl | 13 ------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/odds/odd2odd.xsl b/odds/odd2odd.xsl index c483db72d..6b5c979a8 100644 --- a/odds/odd2odd.xsl +++ b/odds/odd2odd.xsl @@ -135,11 +135,11 @@ of this software, even if advised of the possibility of such damage. - - - - - + + + + + @@ -281,16 +281,29 @@ of this software, even if advised of the possibility of such damage. - - - - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/odds/teiodds.xsl b/odds/teiodds.xsl index 7b1778490..e409ab00f 100644 --- a/odds/teiodds.xsl +++ b/odds/teiodds.xsl @@ -2018,25 +2018,12 @@ select="$makeDecls"/> - - - - - - - - - From bf8aab43476a46153e40c49087ba5084d78c11d3 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 10 Sep 2022 10:10:20 +0100 Subject: [PATCH 08/70] First steps towards #543. Repo is not in a working state, here, but rather is in a state for debugging --- bin/teitorelaxng | 5 +++- bin/transformtei | 31 +++++++++++++++--------- profiles/default/{relaxng => rng}/to.xsl | 0 {relaxng => rng}/build-to.xml | 0 4 files changed, 23 insertions(+), 13 deletions(-) mode change 120000 => 100755 bin/teitorelaxng rename profiles/default/{relaxng => rng}/to.xsl (100%) rename {relaxng => rng}/build-to.xml (100%) diff --git a/bin/teitorelaxng b/bin/teitorelaxng deleted file mode 120000 index cac68564d..000000000 --- a/bin/teitorelaxng +++ /dev/null @@ -1 +0,0 @@ -transformtei \ No newline at end of file diff --git a/bin/teitorelaxng b/bin/teitorelaxng new file mode 100755 index 000000000..232cc0b9a --- /dev/null +++ b/bin/teitorelaxng @@ -0,0 +1,4 @@ +#!/bin/sh -e + +echo "$0 has been superceded by teitorng (and oddtorng, which is the same as teitorng --odd)" +exit 13 diff --git a/bin/transformtei b/bin/transformtei index f46511146..d9f9bcb5d 100755 --- a/bin/transformtei +++ b/bin/transformtei @@ -37,23 +37,18 @@ echo " --lang=$lang # which language to use " echo " --oxygenlib=$oxygenlib # where is oxygenlib" echo " --splitLevel=$splitLevel # splitting level " case $format in - teitorelaxng) ;; - teitornc) ;; - teitodtd) ;; - teitoxsd) ;; - *) - echo " --odd # perform processing of ODD (if appropriate)" + rng|rnc|dtd|xsd) + if [ $from != odd ]; then echo " --odd # perform processing of ODD (if appropriate)"; fi echo " --localsource=DIR # where is local copy of source of TEI Guidelines" echo " --summaryDoc # only make summary, when doing ODD processing" echo " --schema=NAME # process the schemaSpec called NAME" ;; esac - case "$script" in teitoepub*) # could be teitoepub or teitoepub3 -echo " --fileperpage # create output files one per page " -echo " --nocompress # disable compression of epub output file" - ;; + echo " --fileperpage # create output files one per page " + echo " --nocompress # disable compression of epub output file" + ;; esac echo @@ -121,6 +116,12 @@ else outsuffix=.$to fi +case $to in + rnc|rng|dtd|xsd) + if [ $from = odd ]; then odd=true; fi + ;; + *) ;; +esac while test $# -gt 0; do case $1 in @@ -209,7 +210,11 @@ D=`dirname "$in"` indir=`(cd $D; pwd)` if [ $# -eq 1 ] then - outfile=`basename "$1" .$from`$outsuffix + inputfilename=$1 + inputfilename=${inputfilename%.odd} + inputfilename=${inputfilename%.tei} + inputfilename=${inputfilename%.xml} + outfile=`basename "$inputfilename"`$outsuffix outdir=$indir else outfile=`basename $2` @@ -237,9 +242,11 @@ case $format in fi ;; esac +if [ $infile = $outfile ]; then die "Generated output filename same as input filename ($outfile)."; fi + echo Convert $infile to $outdir/$outfile \($from to $to\) using profile $profile $debug $fileperpage $splitLevel $viewportwidth $viewportheight -ant $antflag -f "$APPHOME/$format/build-$direction.xml" \ +echo ant $antflag -f "$APPHOME/$format/build-$direction.xml" \ -lib "${SAXONJAR}" $debug \ $fileperpage $cssFile $splitLevel $viewportwidth $viewportheight $summaryDoc $mediaoverlay $nocompress \ -Dodd=$odd \ diff --git a/profiles/default/relaxng/to.xsl b/profiles/default/rng/to.xsl similarity index 100% rename from profiles/default/relaxng/to.xsl rename to profiles/default/rng/to.xsl diff --git a/relaxng/build-to.xml b/rng/build-to.xml similarity index 100% rename from relaxng/build-to.xml rename to rng/build-to.xml From dc4a3c4448ff338a35849f4b0cca3024e0037029 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 2 Mar 2023 15:39:56 -0500 Subject: [PATCH 09/70] Stylesheets group takes one giant leap towards a structured attribute list. (More to do, but we got a lot done.) --- common/common_tagdocs.xsl | 205 ++++++++++++++++++++------------------ 1 file changed, 106 insertions(+), 99 deletions(-) diff --git a/common/common_tagdocs.xsl b/common/common_tagdocs.xsl index f1ce661c0..4a4ee9839 100644 --- a/common/common_tagdocs.xsl +++ b/common/common_tagdocs.xsl @@ -2078,64 +2078,79 @@
- - - - - - - - ( - - - - - unusedattribute - - - , + + + + + + + + + + + + + + + + + + + unusedattribute + + + + + - - - @ - - , - - ) - - - + + + + + + + + [odds] display attribute list + - - - - - - - - attList - - - - - - - - - - - + + + + + + + + + attList + + + + + + + + + + + + + + + + DEBUG::output + + + [odds] display list of model parents @@ -2771,60 +2786,52 @@
+ - 1 - - - - - - ( - - - - - ( - - - attribute - - @ - - - - - , - - - ) - - - - - - ( - - + + + + + + + + + + - ) - - - - - - - ) - - - - - - - - - - + + + + + + attribute + + + + + + + + + + + + + + + + + + + + + + + + + + Date: Tue, 4 Apr 2023 14:53:47 -0400 Subject: [PATCH 10/70] Increment version to our best guess of next release number (alpha) --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 3c089096a..85e9f42d1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -7.55.0 +7.56.0a From 0cefdb27f9f8cd0ab39b16a9233415934e565da0 Mon Sep 17 00:00:00 2001 From: sabine seifert Date: Mon, 24 Apr 2023 18:06:58 +0200 Subject: [PATCH 11/70] Update p5subset.xml --- source/p5subset.xml | 50 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/source/p5subset.xml b/source/p5subset.xml index 9c8140e2f..5c2d4cc50 100644 --- a/source/p5subset.xml +++ b/source/p5subset.xml @@ -6,8 +6,8 @@ The TEI Guidelines - Version 4.6.0. Last updated on - 4th April 2023, revision 2129d5947 + Version 4.7.0a. Last updated on + 11th April 2023, revision bec660a72 TEI Consortium @@ -45266,23 +45266,24 @@ ou encodé. - A facsimile element represents a text with images, thus - transcribed text should not be present within it. - - + A facsimile element represents a text with images, thus + transcribed text should not be present within it. + + @@ -45767,15 +45768,14 @@ element. - + + Since a path> represents a line with distinct start and + end points, the last coordinate should not be the same as the + first coordinate. + - @@ -68118,9 +68118,9 @@ déclaration de même nom dans la définition courante. - + - + which could be wrapped in a <sequence> element. From 7d7586c8b3e1b6fa478f6b63b0f1fe5dab2b85d2 Mon Sep 17 00:00:00 2001 From: helenasabel Date: Mon, 24 Apr 2023 18:29:32 +0200 Subject: [PATCH 12/70] updated expected results (only white space issues) --- Test/expected-results/test.isosch | 6 +++--- Test/expected-results/test.rng | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Test/expected-results/test.isosch b/Test/expected-results/test.isosch index 08e58a1a0..10001b2c6 100644 --- a/Test/expected-results/test.isosch +++ b/Test/expected-results/test.isosch @@ -183,9 +183,9 @@ On , either the @marks attribute should be used, or a paragraph of descri - A facsimile element represents a text with images, thus - transcribed text should not be present within it. - + A facsimile element represents a text with images, thus + transcribed text should not be present within it. + diff --git a/Test/expected-results/test.rng b/Test/expected-results/test.rng index 85f665a33..0b5859fb1 100644 --- a/Test/expected-results/test.rng +++ b/Test/expected-results/test.rng @@ -7502,9 +7502,9 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 - A facsimile element represents a text with images, thus - transcribed text should not be present within it. - + A facsimile element represents a text with images, thus + transcribed text should not be present within it. + From f9bd5d573fe57e8c7fcad0797ac03dcdc7078474 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Mon, 1 May 2023 12:09:47 -0400 Subject: [PATCH 13/70] Fix #607, I hope: With @trishaoconnor, change the "makeTEIVersion" template in odds/teiodds.xsl so that a) it does not output the string "P5 Version " as part of the version URL; and b) it outputs the version information on 1 line instead of two. --- odds/teiodds.xsl | 366 ++++++++++++++++++++++------------------------- 1 file changed, 175 insertions(+), 191 deletions(-) diff --git a/odds/teiodds.xsl b/odds/teiodds.xsl index 679921114..f35173710 100644 --- a/odds/teiodds.xsl +++ b/odds/teiodds.xsl @@ -23,7 +23,7 @@ Unported License http://creativecommons.org/licenses/by-sa/3.0/ 2. http://www.opensource.org/licenses/BSD-2-Clause - + Redistribution and use in source and binary forms, with or without @@ -153,7 +153,7 @@ of this software, even if advised of the possibility of such damage. - /xml/tei/odd/p5subset.xml + /xml/tei/odd/p5subset.xml @@ -194,13 +194,13 @@ of this software, even if advised of the possibility of such damage. - - This formatted version of the Guidelines was created on - . - + + This formatted version of the Guidelines was created on + . + - + @@ -232,7 +232,7 @@ of this software, even if advised of the possibility of such damage. /> - + @@ -257,10 +257,10 @@ of this software, even if advised of the possibility of such damage. - + - + @@ -272,10 +272,10 @@ of this software, even if advised of the possibility of such damage. - + - +
@@ -296,11 +296,11 @@ of this software, even if advised of the possibility of such damage. - - + + - + @@ -308,7 +308,7 @@ of this software, even if advised of the possibility of such damage. - + @@ -345,11 +345,11 @@ of this software, even if advised of the possibility of such damage. - + - + @@ -432,7 +432,7 @@ of this software, even if advised of the possibility of such damage. false - - - - - - - - - - - - - - - - - TEI Edition: - - TEI Edition Location: - - - - - Edition: - - + + + + + + + + + + + + + Edition: + + - + @@ -1914,8 +1898,8 @@ select="$makeDecls"/> @@ -1990,28 +1974,28 @@ select="$makeDecls"/> - - - - - - /@ - - - - - - @ - - - - - - - - + + + + + + /@ + + + + + + @ + + + + + + + + @@ -2019,7 +2003,7 @@ select="$makeDecls"/> - + @@ -2035,10 +2019,10 @@ select="$makeDecls"/> + if (@ns='http://www.tei-c.org/ns/1.0') then '' + else if (@ns) then @ns + else if (ancestor::tei:schemaSpec/@ns) then + ancestor::tei:schemaSpec/@ns else '',@ident)"/> @@ -2062,21 +2046,21 @@ select="$makeDecls"/> + select="*|@*|processing-instruction()|text()" mode="justcopy"/> + select="*|@*|processing-instruction()|text()" mode="justcopy"/> + select="*|@*|processing-instruction()|text()" mode="justcopy"/> @@ -2183,7 +2167,7 @@ select="$makeDecls"/> - + @@ -2195,7 +2179,7 @@ select="$makeDecls"/> - + @@ -2332,22 +2316,22 @@ select="$makeDecls"/> - - - - - - - - + + + + + + + + - - - - - - + + + + + + @@ -2374,40 +2358,40 @@ select="$makeDecls"/> + select="ancestor::*[@prefix][1]/@prefix"/> - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -2417,11 +2401,11 @@ select="$makeDecls"/> - true - true - false - false - true + true + true + false + false + true From 4d17c5f453bb24fd5fe3fde7e4b8c65eb8062d9c Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Mon, 1 May 2023 13:18:40 -0400 Subject: [PATCH 14/70] =?UTF-8?q?More=20work=20on=20#607:=20Get=20output?= =?UTF-8?q?=20to=20pass=20tests:=20=20*=20Update=20routine=20so=20that=20i?= =?UTF-8?q?t=20deals=20with=20both=20=E2=80=9CP5=20Version=20=E2=80=A6?= =?UTF-8?q?=E2=80=9D=20and=20=E2=80=9CVersion=20=E2=80=A6=E2=80=9D=20=20*?= =?UTF-8?q?=20Update=20Makefile=20so=20that=20test35.rnc=20has=20these=20c?= =?UTF-8?q?omments=20stripped=20out=20correctly=20=20*=20Update=20some=20e?= =?UTF-8?q?xpected=20results=20because=20of=20*slight*=20comment=20differe?= =?UTF-8?q?nces=20that=20should=20be=20ignored?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test/Makefile | 4 ++-- Test/expected-results/test-pure.rnc | 2 -- Test/expected-results/test-pure2.rnc | 2 -- Test/expected-results/test15.odd.rnc | 2 -- Test/expected-results/test21.odd.rnc | 8 +++----- Test/expected-results/test30.rnc | 8 +++----- Test/expected-results/test33.rnc | 2 -- Test/expected-results/test34.rnc | 2 -- debian-tei-xsl/debian/changelog | 6 ++++++ odds/teiodds.xsl | 4 ++-- 10 files changed, 16 insertions(+), 24 deletions(-) diff --git a/Test/Makefile b/Test/Makefile index 98de952aa..fda052bfd 100644 --- a/Test/Makefile +++ b/Test/Makefile @@ -751,11 +751,11 @@ test-namespaces: actual $(BINDIR)/teitornc $(FLAGS) test35.odd $(AR)/test35.rnc perl -p -i -e 's/generated from ODD source .*//' $(AR)/test35.rnc - perl -i -pe 'BEGIN{undef $$/;} s/# ?Schema[^#]+#[^#]+#[^#]+#[^#]+#\n//smg' $(AR)/test35.rnc + perl -i -pe 'BEGIN{undef $$/;} s/# ?Schema[^#]+#[^#]+#[^#]+#\n//smg' $(AR)/test35.rnc if [ $(DIFFNOW) -eq 1 ]; \ then diff -bBw $(AR)/test35.rnc $(ER)/test35.rnc; \ else echo "==deferring: \` diff -bBw $(AR)/test35.rnc $(ER)/test35.rnc \`"; fi - + #HBS 2022-04-30 tests attributes @include and @except $(BINDIR)/teitornc $(FLAGS) testClass.odd $(AR)/testClass.rnc perl -p -i -e 's/generated from ODD source .*//' $(AR)/testClass.rnc diff --git a/Test/expected-results/test-pure.rnc b/Test/expected-results/test-pure.rnc index e2e64620b..0cf4f8342 100644 --- a/Test/expected-results/test-pure.rnc +++ b/Test/expected-results/test-pure.rnc @@ -6,8 +6,6 @@ namespace teix = "http://www.tei-c.org/ns/Examples" namespace xlink = "http://www.w3.org/1999/xlink" -# - sch:ns [ prefix = "tei" uri = "http://www.tei-c.org/ns/1.0" ] stuff = diff --git a/Test/expected-results/test-pure2.rnc b/Test/expected-results/test-pure2.rnc index f2104220e..7458800bc 100644 --- a/Test/expected-results/test-pure2.rnc +++ b/Test/expected-results/test-pure2.rnc @@ -5,8 +5,6 @@ namespace teix = "http://www.tei-c.org/ns/Examples" namespace xlink = "http://www.w3.org/1999/xlink" -# - sch:ns [ prefix = "tei" uri = "http://www.tei-c.org/ns/1.0" ] stuffPart = bob | bit stuff = diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index 1a69302d5..97df284d6 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -7,8 +7,6 @@ namespace teix = "http://www.tei-c.org/ns/Examples" namespace xi = "http://www.w3.org/2001/XInclude" namespace xlink = "http://www.w3.org/1999/xlink" - -# macro.abContent = (text | model.paraPart | ab)* macro.paraContent = (text | model.paraPart)* macro.limitedContent = (text | model.limitedPhrase | model.inter)* diff --git a/Test/expected-results/test21.odd.rnc b/Test/expected-results/test21.odd.rnc index b6ed8ccd6..33cd31fbd 100644 --- a/Test/expected-results/test21.odd.rnc +++ b/Test/expected-results/test21.odd.rnc @@ -7,8 +7,6 @@ namespace teix = "http://www.tei-c.org/ns/Examples" namespace xi = "http://www.w3.org/2001/XInclude" namespace xlink = "http://www.w3.org/1999/xlink" - -# macro.abContent = (text | model.paraPart | ab)* macro.paraContent = (text | model.paraPart)* macro.limitedContent = (text | model.limitedPhrase | model.inter)* @@ -8093,9 +8091,9 @@ facsimile = sch:report [ test = "child::text()[ normalize-space(.) ne '']" "\x{a}" ~ - " A facsimile element represents a text with images, thus\x{a}" ~ - " transcribed text should not be present within it.\x{a}" ~ - " " + " A facsimile element represents a text with images, thus\x{a}" ~ + " transcribed text should not be present within it.\x{a}" ~ + " " ] "\x{a}" ~ " " diff --git a/Test/expected-results/test30.rnc b/Test/expected-results/test30.rnc index 3d5ef19d6..0c8e66532 100644 --- a/Test/expected-results/test30.rnc +++ b/Test/expected-results/test30.rnc @@ -8,8 +8,6 @@ namespace teix = "http://www.tei-c.org/ns/Examples" namespace xi = "http://www.w3.org/2001/XInclude" namespace xlink = "http://www.w3.org/1999/xlink" - -# Tmacro.abContent = (text | Tmodel.paraPart | Tab)* Tmacro.paraContent = (text | Tmodel.paraPart)* Tmacro.limitedContent = (text | Tmodel.limitedPhrase | Tmodel.inter)* @@ -6488,9 +6486,9 @@ Tfacsimile = sch:report [ test = "child::text()[ normalize-space(.) ne '']" "\x{a}" ~ - " A facsimile element represents a text with images, thus\x{a}" ~ - " transcribed text should not be present within it.\x{a}" ~ - " " + " A facsimile element represents a text with images, thus\x{a}" ~ + " transcribed text should not be present within it.\x{a}" ~ + " " ] "\x{a}" ~ " " diff --git a/Test/expected-results/test33.rnc b/Test/expected-results/test33.rnc index d14e38820..c7920a1bc 100644 --- a/Test/expected-results/test33.rnc +++ b/Test/expected-results/test33.rnc @@ -9,8 +9,6 @@ namespace teix = "http://www.tei-c.org/ns/Examples" namespace xi = "http://www.w3.org/2001/XInclude" namespace xlink = "http://www.w3.org/1999/xlink" - -# tei_macro.abContent = (text | tei_model.paraPart | tei_ab)* tei_macro.paraContent = (text | tei_model.paraPart)* tei_macro.limitedContent = diff --git a/Test/expected-results/test34.rnc b/Test/expected-results/test34.rnc index b8b34fac4..ca16a1306 100644 --- a/Test/expected-results/test34.rnc +++ b/Test/expected-results/test34.rnc @@ -10,8 +10,6 @@ namespace teix = "http://www.tei-c.org/ns/Examples" namespace xi = "http://www.w3.org/2001/XInclude" namespace xlink = "http://www.w3.org/1999/xlink" - -# tei_macro.abContent = (text | tei_model.paraPart | tei_ab)* tei_macro.paraContent = (text | tei_model.paraPart)* tei_macro.limitedContent = diff --git a/debian-tei-xsl/debian/changelog b/debian-tei-xsl/debian/changelog index 36f1cd55d..94cba8d54 100644 --- a/debian-tei-xsl/debian/changelog +++ b/debian-tei-xsl/debian/changelog @@ -1,3 +1,9 @@ +tei-xsl (7.56.0a) natty; urgency=low + + * new release from upstream + + -- TEI Mon, 01 May 2023 12:16:18 -0400 + tei-xsl (7.55.0a) natty; urgency=low * new release from upstream diff --git a/odds/teiodds.xsl b/odds/teiodds.xsl index f35173710..6990b6ae7 100644 --- a/odds/teiodds.xsl +++ b/odds/teiodds.xsl @@ -1869,13 +1869,13 @@ select="$makeDecls"/> - + From 4c2488a5dc8be79a73685234020bdbcb826a822b Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Mon, 1 May 2023 18:16:20 -0400 Subject: [PATCH 15/70] Oops, forgot one --- Test/expected-results/testClass.rnc | 2 -- 1 file changed, 2 deletions(-) diff --git a/Test/expected-results/testClass.rnc b/Test/expected-results/testClass.rnc index d508164ef..5a3d22e98 100644 --- a/Test/expected-results/testClass.rnc +++ b/Test/expected-results/testClass.rnc @@ -8,8 +8,6 @@ namespace xi = "http://www.w3.org/2001/XInclude" namespace xlink = "http://www.w3.org/1999/xlink" -# - sch:ns [ prefix = "tei" uri = "http://www.tei-c.org/ns/1.0" ] macro.paraContent = (text | model.paraPart)* att.written.attributes = att.written.attribute.hand From c5b32d3d6355a76e4a9620cf0880898b0bf4d0b1 Mon Sep 17 00:00:00 2001 From: rvdb Date: Fri, 19 May 2023 23:37:43 +0200 Subject: [PATCH 16/70] improvements for multilingual articles --- profiles/jtei/openedition/to.xsl | 12 --------- profiles/jtei/pdf/to.xsl | 42 ++++++++++++++++++-------------- 2 files changed, 24 insertions(+), 30 deletions(-) diff --git a/profiles/jtei/openedition/to.xsl b/profiles/jtei/openedition/to.xsl index 088b781e5..0b65f7076 100644 --- a/profiles/jtei/openedition/to.xsl +++ b/profiles/jtei/openedition/to.xsl @@ -162,18 +162,6 @@ - - - - - : - - - - - - - diff --git a/profiles/jtei/pdf/to.xsl b/profiles/jtei/pdf/to.xsl index 017e4a2c6..ee33255aa 100644 --- a/profiles/jtei/pdf/to.xsl +++ b/profiles/jtei/pdf/to.xsl @@ -276,7 +276,7 @@ - + @@ -309,11 +309,13 @@ border-top="solid black 5px" border-bottom="solid black 3px" padding-top="1cm" padding-bottom="1cm"> - + + + + + + - - : - @@ -334,7 +336,7 @@ - + @@ -1062,18 +1064,22 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + From 05fa02814f8b2fd9aa529cd8194559a33982aa98 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 25 May 2023 15:44:14 -0400 Subject: [PATCH 17/70] Stylesheets group works on #592: * Use ATTCLASSES key instead of CLASSES, as we are not playing with model classes * Use generic output elements instead of output-specific output elements --- common/common_tagdocs.xsl | 72 +++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/common/common_tagdocs.xsl b/common/common_tagdocs.xsl index 4a4ee9839..32826697c 100644 --- a/common/common_tagdocs.xsl +++ b/common/common_tagdocs.xsl @@ -2079,7 +2079,7 @@ - + @@ -2091,26 +2091,30 @@ - + + - + + unusedattribute - + - + - + + - + + - + - - + + @@ -2144,12 +2148,12 @@ - - - DEBUG::output - - - + + + DEBUG::output + + + @@ -2788,48 +2792,50 @@ - + + - + - + + - + + - + + attribute - + - + - + + - + - + + + - + - - - - - - + From e74d0451c49168ecc8f9fe35167eae8b6517ae70 Mon Sep 17 00:00:00 2001 From: John Bampton Date: Fri, 26 May 2023 08:14:12 +1000 Subject: [PATCH 18/70] Fix spelling --- docx/to/mml2omml.xsl | 2 +- docx/tools/build.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docx/to/mml2omml.xsl b/docx/to/mml2omml.xsl index 8faa9ab5a..4ca7e6926 100644 --- a/docx/to/mml2omml.xsl +++ b/docx/to/mml2omml.xsl @@ -181,7 +181,7 @@ - diff --git a/docx/tools/build.xml b/docx/tools/build.xml index bffa11166..f9879204a 100644 --- a/docx/tools/build.xml +++ b/docx/tools/build.xml @@ -1,7 +1,7 @@ From 1cff0a3b992cb94d4ac26af19f6950a6614b2c0b Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 27 May 2023 15:57:51 -0400 Subject: [PATCH 19/70] =?UTF-8?q?Address=20#586:=20=20*=20Update=20tei:sty?= =?UTF-8?q?lesheetVersion()=20with=20a=20fix=20based=20on=20@eduarddrenth?= =?UTF-8?q?=E2=80=99s=20suggestion.=20=20*=20Remove=20parameter=20from=20t?= =?UTF-8?q?hat=20function=20defintion,=20it=20was=20not=20being=20used.=20?= =?UTF-8?q?=20*=20Remove=20parameter=20from=20the=201=20call=20to=20tath?= =?UTF-8?q?=20function.=20=20*=20Some=20whitespace,=20too.=20=20*=20Fixed?= =?UTF-8?q?=20my=20e-mail=20addr=20in=20AUTHORS.=20=20*=20Updated=20expect?= =?UTF-8?q?ed-results/=20to=20match=20mildly=20different=20comment=20at=20?= =?UTF-8?q?the=20end.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LEGAL/AUTHORS | 2 +- Test/expected-results/test-complex.html | 10 ++-- Test/expected-results/test-ota.html | 10 ++-- Test/expected-results/test.html | 10 ++-- Test/expected-results/test.html5 | 10 ++-- Test/expected-results/test14.html | 10 ++-- Test/expected-results/test20.html | 10 ++-- Test/expected-results/test22.html | 10 ++-- Test/expected-results/test23.html | 10 ++-- Test/expected-results/test24.html | 10 ++-- Test/expected-results/test25.html | 10 ++-- Test/expected-results/test27.html | 10 ++-- Test/expected-results/test28.html | 10 ++-- Test/expected-results/test31.html | 10 ++-- Test/expected-results/test32.html | 10 ++-- Test/expected-results/test34.odd.html | 10 ++-- Test/expected-results/test5.xhtml | 10 ++-- Test/expected-results/test6.html | 10 ++-- Test/expected-results/testnotes/index.html | 10 ++-- Test/expected-results/testnotes/one.html | 10 ++-- Test/expected-results/testnotes/three.html | 10 ++-- Test/expected-results/testnotes/two.html | 10 ++-- Test/expected-results/testnotes2/index.html | 10 ++-- Test/expected-results/testnotes2/one.html | 10 ++-- Test/expected-results/testnotes2/three.html | 10 ++-- Test/expected-results/testnotes3/index.html | 10 ++-- Test/expected-results/testnotes3/one.html | 10 ++-- Test/expected-results/testnotes3/three.html | 10 ++-- Test/expected-results/testnotes3/two.html | 10 ++-- common/functions.xsl | 57 +++++++++++---------- debian-tei-xsl/debian/changelog | 6 +++ html/html_textstructure.xsl | 37 +++++++------ 32 files changed, 195 insertions(+), 187 deletions(-) diff --git a/LEGAL/AUTHORS b/LEGAL/AUTHORS index 2c42ad403..6a1ecc442 100644 --- a/LEGAL/AUTHORS +++ b/LEGAL/AUTHORS @@ -4,7 +4,7 @@ IT Services Other contributors include (but this is not an exhaustive list) - Syd Bauman + Syd Bauman Elisa Beshero-Bondar Peter Boot Lou Burnard diff --git a/Test/expected-results/test-complex.html b/Test/expected-results/test-complex.html index 6c23d85b9..b8c590a93 100644 --- a/Test/expected-results/test-complex.html +++ b/Test/expected-results/test-complex.html @@ -1186,11 +1186,11 @@

Charles Dickens. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test-ota.html b/Test/expected-results/test-ota.html index d15c3acdb..70cd160a8 100644 --- a/Test/expected-results/test-ota.html +++ b/Test/expected-results/test-ota.html @@ -1117,11 +1117,11 @@

Charles Dickens.
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test.html b/Test/expected-results/test.html index ae983b861..65cea6151 100644 --- a/Test/expected-results/test.html +++ b/Test/expected-results/test.html @@ -1153,11 +1153,11 @@

Charles Dickens. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test.html5 b/Test/expected-results/test.html5 index 90fa5d9c3..9d020b01a 100644 --- a/Test/expected-results/test.html5 +++ b/Test/expected-results/test.html5 @@ -1153,11 +1153,11 @@
Charles Dickens.
+ Generated from index.xml using + based on http://www.tei-c.org/Stylesheets/ + + SAXON HE 10.3. + --> diff --git a/Test/expected-results/test14.html b/Test/expected-results/test14.html index 95ae1e1da..563a03758 100644 --- a/Test/expected-results/test14.html +++ b/Test/expected-results/test14.html @@ -4867,11 +4867,11 @@

Psalmanazar, George, 1679?-1763.. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test20.html b/Test/expected-results/test20.html index 6eddada1a..7b990472a 100644 --- a/Test/expected-results/test20.html +++ b/Test/expected-results/test20.html @@ -661,11 +661,11 @@

Testing rendition

Sebastian Rahtz. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test22.html b/Test/expected-results/test22.html index c4fb5fb9c..686f797dd 100644 --- a/Test/expected-results/test22.html +++ b/Test/expected-results/test22.html @@ -55,11 +55,11 @@

Dickens, Charles, 1812-1870. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test23.html b/Test/expected-results/test23.html index 350e6c9aa..ed3771619 100644 --- a/Test/expected-results/test23.html +++ b/Test/expected-results/test23.html @@ -110,11 +110,11 @@

Sebastian Rahtz. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test24.html b/Test/expected-results/test24.html index 4cd376225..e11b9b513 100644 --- a/Test/expected-results/test24.html +++ b/Test/expected-results/test24.html @@ -65,11 +65,11 @@

author. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test25.html b/Test/expected-results/test25.html index 31c8b68df..fe235f212 100644 --- a/Test/expected-results/test25.html +++ b/Test/expected-results/test25.html @@ -80,11 +80,11 @@

Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test27.html b/Test/expected-results/test27.html index 16a9bfa70..695fd1ca7 100644 --- a/Test/expected-results/test27.html +++ b/Test/expected-results/test27.html @@ -1293,11 +1293,11 @@

Additional

Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test28.html b/Test/expected-results/test28.html index a98291fdd..0732569c3 100644 --- a/Test/expected-results/test28.html +++ b/Test/expected-results/test28.html @@ -93,11 +93,11 @@

OUCS. Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test31.html b/Test/expected-results/test31.html index 63c2ed481..09f7ff09b 100644 --- a/Test/expected-results/test31.html +++ b/Test/expected-results/test31.html @@ -86,11 +86,11 @@

Test for rendering sourceDoc

Matthew Davis. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test32.html b/Test/expected-results/test32.html index a4d8bea20..ff31a3390 100644 --- a/Test/expected-results/test32.html +++ b/Test/expected-results/test32.html @@ -4302,11 +4302,11 @@

Anton Martin SlomšekJože FaganelMatija OgrinTomaž Erjavec. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test34.odd.html b/Test/expected-results/test34.odd.html index a5ee03cce..3d9722ca7 100644 --- a/Test/expected-results/test34.odd.html +++ b/Test/expected-results/test34.odd.html @@ -4310,11 +4310,11 @@

Louis-Dominique Dubeau.
+ Generated from index.xml using + based on http://www.tei-c.org/Stylesheets/ + + SAXON HE 10.3. + --> diff --git a/Test/expected-results/test5.xhtml b/Test/expected-results/test5.xhtml index d515d77f4..3db584c95 100644 --- a/Test/expected-results/test5.xhtml +++ b/Test/expected-results/test5.xhtml @@ -573,11 +573,11 @@
Das Universale Haus der Gerechtigkeit. Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/test6.html b/Test/expected-results/test6.html index a764758c0..178c7c87b 100644 --- a/Test/expected-results/test6.html +++ b/Test/expected-results/test6.html @@ -184,11 +184,11 @@

Date: 1970-01-01
+ Generated from index.xml using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes/index.html b/Test/expected-results/testnotes/index.html index 7ed242e05..2c2e4489d 100644 --- a/Test/expected-results/testnotes/index.html +++ b/Test/expected-results/testnotes/index.html @@ -173,11 +173,11 @@

Table of contents

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes/one.html b/Test/expected-results/testnotes/one.html index 2de232890..b838add76 100644 --- a/Test/expected-results/testnotes/one.html +++ b/Test/expected-results/testnotes/one.html @@ -42,11 +42,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes/three.html b/Test/expected-results/testnotes/three.html index 3e120cf63..eaac23f13 100644 --- a/Test/expected-results/testnotes/three.html +++ b/Test/expected-results/testnotes/three.html @@ -55,11 +55,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes/two.html b/Test/expected-results/testnotes/two.html index 5c3cad89e..4fe543baa 100644 --- a/Test/expected-results/testnotes/two.html +++ b/Test/expected-results/testnotes/two.html @@ -52,11 +52,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes2/index.html b/Test/expected-results/testnotes2/index.html index 8a787a0da..c53b34b36 100644 --- a/Test/expected-results/testnotes2/index.html +++ b/Test/expected-results/testnotes2/index.html @@ -59,11 +59,11 @@

Table of contents

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes2/one.html b/Test/expected-results/testnotes2/one.html index ed4349261..45fd54577 100644 --- a/Test/expected-results/testnotes2/one.html +++ b/Test/expected-results/testnotes2/one.html @@ -63,11 +63,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes2/three.html b/Test/expected-results/testnotes2/three.html index 66945f154..1a8e2fe17 100644 --- a/Test/expected-results/testnotes2/three.html +++ b/Test/expected-results/testnotes2/three.html @@ -55,11 +55,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes3/index.html b/Test/expected-results/testnotes3/index.html index b08301a85..17c807d1e 100644 --- a/Test/expected-results/testnotes3/index.html +++ b/Test/expected-results/testnotes3/index.html @@ -59,11 +59,11 @@

Table of contents

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes3/one.html b/Test/expected-results/testnotes3/one.html index 87ccefa1f..b715bb277 100644 --- a/Test/expected-results/testnotes3/one.html +++ b/Test/expected-results/testnotes3/one.html @@ -42,11 +42,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes3/three.html b/Test/expected-results/testnotes3/three.html index 66945f154..1a8e2fe17 100644 --- a/Test/expected-results/testnotes3/three.html +++ b/Test/expected-results/testnotes3/three.html @@ -55,11 +55,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/Test/expected-results/testnotes3/two.html b/Test/expected-results/testnotes3/two.html index 35b000108..a5a7e0ed4 100644 --- a/Test/expected-results/testnotes3/two.html +++ b/Test/expected-results/testnotes3/two.html @@ -52,11 +52,11 @@

Date: 1970-01-01
+ Generated using XSLT stylesheets version 0 + based on http://www.tei-c.org/Stylesheets/ + on 1970-01-01. + SAXON. + --> diff --git a/common/functions.xsl b/common/functions.xsl index 0a91361bb..37721cab1 100644 --- a/common/functions.xsl +++ b/common/functions.xsl @@ -1,33 +1,32 @@ + > -

TEI Utility stylesheet defining functions for use in all - output formats.

+

TEI Utility stylesheet defining functions for use in all output formats.

This software is dual-licensed: 1. Distributed under a Creative Commons Attribution-ShareAlike 3.0 @@ -1372,12 +1371,16 @@ of this software, even if advised of the possibility of such damage. find version of stylesheets - - 0 - + + + + + WARNING: Unable to determine Stylesheet’s version number because the file ../VERSION was not found; using “0.0.0”. + + diff --git a/debian-tei-xsl/debian/changelog b/debian-tei-xsl/debian/changelog index 36f1cd55d..aae7af288 100644 --- a/debian-tei-xsl/debian/changelog +++ b/debian-tei-xsl/debian/changelog @@ -1,3 +1,9 @@ +tei-xsl (7.56.0a) natty; urgency=low + + * new release from upstream + + -- TEI Sat, 27 May 2023 15:12:46 -0400 + tei-xsl (7.55.0a) natty; urgency=low * new release from upstream diff --git a/html/html_textstructure.xsl b/html/html_textstructure.xsl index e9cc2cce5..9b5358547 100644 --- a/html/html_textstructure.xsl +++ b/html/html_textstructure.xsl @@ -2490,25 +2490,24 @@ function click(d) { - - Generated - - from - - - using XSLT stylesheets version - - based on - on . - - - . - - - . - - - + Generated + + from + + + using XSLT stylesheets version + + based on + on . + + + . + + + . + + + From 0cd0cb89f312566b98a9b48ab3614ffd4e5c857b Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sun, 28 May 2023 00:17:17 -0400 Subject: [PATCH 20/70] Huh? Missed tests: I do not understand how these files were missed when I tested prior to previous commit, but fixing anyway ... --- Test/expected-results/test-pure.odd.html | 10 +++++----- Test/expected-results/test-pure2.odd.html | 10 +++++----- Test/expected-results/test.odd.html | 10 +++++----- Test/expected-results/test15.odd.html | 10 +++++----- Test/expected-results/test30.rnc | 6 +++--- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Test/expected-results/test-pure.odd.html b/Test/expected-results/test-pure.odd.html index a9aa5aad5..ef80310d7 100644 --- a/Test/expected-results/test-pure.odd.html +++ b/Test/expected-results/test-pure.odd.html @@ -1493,11 +1493,11 @@


+ Generated from index.xml using + based on http://www.tei-c.org/Stylesheets/ + + SAXON HE 10.3. + --> diff --git a/Test/expected-results/test-pure2.odd.html b/Test/expected-results/test-pure2.odd.html index a7d179db5..730685084 100644 --- a/Test/expected-results/test-pure2.odd.html +++ b/Test/expected-results/test-pure2.odd.html @@ -650,11 +650,11 @@


+ Generated from index.xml using + based on http://www.tei-c.org/Stylesheets/ + + SAXON HE 10.3. + --> diff --git a/Test/expected-results/test.odd.html b/Test/expected-results/test.odd.html index 4ea7a5830..ecf1fd313 100644 --- a/Test/expected-results/test.odd.html +++ b/Test/expected-results/test.odd.html @@ -4428,11 +4428,11 @@

Sebastian Rahtz.
+ Generated from index.xml using + based on http://www.tei-c.org/Stylesheets/ + + SAXON HE 10.3. + --> diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index 4fde374c7..89aaa6026 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -5056,11 +5056,11 @@

Sebastian Rahtz.
+ Generated from index.xml using + based on http://www.tei-c.org/Stylesheets/ + + SAXON HE 10.3. + --> diff --git a/Test/expected-results/test30.rnc b/Test/expected-results/test30.rnc index 3d5ef19d6..5f1147f47 100644 --- a/Test/expected-results/test30.rnc +++ b/Test/expected-results/test30.rnc @@ -6488,9 +6488,9 @@ Tfacsimile = sch:report [ test = "child::text()[ normalize-space(.) ne '']" "\x{a}" ~ - " A facsimile element represents a text with images, thus\x{a}" ~ - " transcribed text should not be present within it.\x{a}" ~ - " " + " A facsimile element represents a text with images, thus\x{a}" ~ + " transcribed text should not be present within it.\x{a}" ~ + " " ] "\x{a}" ~ " " From c07f8294882773d9da0e3c8bf1ef20fe8b91b9c7 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 22 Jun 2023 15:46:24 -0400 Subject: [PATCH 21/70] =?UTF-8?q?Stylesheets=20group=20(HBS,=20SB,&=20JT)?= =?UTF-8?q?=20fix=20the=20remaining=20bug=20from=20last=20month=20?= =?UTF-8?q?=E2=80=94=20we=20think=20this=20is=20structurally=20ready,=20st?= =?UTF-8?q?ill=20needs=20CSS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/common_tagdocs.xsl | 154 ++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 80 deletions(-) diff --git a/common/common_tagdocs.xsl b/common/common_tagdocs.xsl index 32826697c..3d4ef06d2 100644 --- a/common/common_tagdocs.xsl +++ b/common/common_tagdocs.xsl @@ -2079,7 +2079,7 @@ - + @@ -2091,25 +2091,21 @@ - - + - - + unusedattribute - + - - + - - + @@ -2125,37 +2121,35 @@ the context node. —Syd, 2023-03-02. --> - + - - - - - - attList - - - - - - - - - - - + - - - DEBUG::output - - - - + + + + + + + + + + + + + + + + + + + + + [odds] display list of model parents @@ -2738,6 +2732,7 @@ + false @@ -2792,52 +2787,51 @@ - - - - - - - - - - - - - - - - - - - - - attribute - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + attribute + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - + Date: Thu, 22 Jun 2023 17:29:20 -0400 Subject: [PATCH 22/70] Update an expected result for new HTML output --- Test/expected-results/test15.odd.html | 736 +++++++++++++++++--------- 1 file changed, 497 insertions(+), 239 deletions(-) diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index 24039dbc2..b4cdda1f4 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -346,77 +346,177 @@

Atributos - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.divLike( - @org, - @sample) ( - att.fragmentable( - @part)) - att.declaring( - @decls) - att.written( - @hand) - att.typed( - type, @subtype) -
- - - - - -
typ - caracteriza el elemento utilizando una clasificación o tipología funcional. -
- - - - - - - - - - - - - -
- Derivado de - - att.typed -
- Estado - - Opcional -
- Tipo de datos - teidata.enumerated
-
-
-
+ +
+ + + + + +
typ + caracteriza el elemento utilizando una clasificación o tipología funcional. +
+ + + + + + + + + + + + + +
+ Derivado de + + att.typed +
+ Estado + + Opcional +
+ Tipo de datos + teidata.enumerated
+
+
+
+ @@ -542,7 +642,7 @@

Ejemplo -
+
<body>  <div  typ=" @@ -606,7 +706,7 @@

Content model -
+                  
 <content>
  <sequence minOccurs="1" maxOccurs="1">
   <alternate minOccurs="0"
@@ -658,7 +758,7 @@ 

</sequence> </content> - +

@@ -667,7 +767,7 @@

Declaración -
+                  
 element div
 {
    
@@ -707,7 +807,7 @@ 

)? ) } - +

@@ -740,36 +840,117 @@

Atributos - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.declaring( - @decls) - att.fragmentable( - @part) - att.written( - @hand) + + @@ -982,7 +1163,7 @@

Ejemplo -
+
<para>Hallgerd was outside. <q>There is blood on your axe, </q>she said. @@ -1026,12 +1207,12 @@

Content model -
+                  
 <content>
  <macroRef key="macro.paraContent"/>
 </content>
     
-
+
 
@@ -1040,7 +1221,7 @@

Declaración -
+                  
 element para
 {
    
@@ -1054,7 +1235,7 @@ 

macro.paraContent } - +

@@ -1086,125 +1267,202 @@

Atributos - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.ascribed.directed( - @toWhom) ( - att.ascribed( - @who)) -
- - - - - -
typ( - type) - Puede usarse para indicar si el material citado es hablado o pensado, o para caracterizarlo con más precisión. -
- - - - - - - - - - - - - -
- Estado - - Opcional -
- Tipo de datos - teidata.enumerated
- Los valores sugeridos incluyen: - -
-
- spoken -
-
( - spoken) - representación del estilo directo, normalmente marcado mediante comillas.
-
- thought -
-
( - thought) - representación de un pensamiento o reflexión, p.ej. un monólogo interno.
-
- written -
-
( - written) - cita de una fuente escrita.
-
- soCalled -
-
( - so called) - distancia autorial
-
- foreign -
-
( - foreign) - palabras extranjeras
-
- distinct -
-
( - distinct) - lingüisticamente distinto
-
- term -
-
- término técnico -
-
- emph -
-
( - emph) - énfasis retórico
-
- mentioned -
-
( - mentioned) - se refiere a sí mismo, no a su referente habitual
-
-
-
-
+ +
+ + + + + +
typ( + type) + Puede usarse para indicar si el material citado es hablado o pensado, o para caracterizarlo con más precisión. +
+ + + + + + + + + + + + + +
+ Estado + + Opcional +
+ Tipo de datos + teidata.enumerated
+ Los valores sugeridos incluyen: + +
+
+ spoken +
+
( + spoken) + representación del estilo directo, normalmente marcado mediante comillas.
+
+ thought +
+
( + thought) + representación de un pensamiento o reflexión, p.ej. un monólogo interno.
+
+ written +
+
( + written) + cita de una fuente escrita.
+
+ soCalled +
+
( + so called) + distancia autorial
+
+ foreign +
+
( + foreign) + palabras extranjeras
+
+ distinct +
+
( + distinct) + lingüisticamente distinto
+
+ term +
+
+ término técnico +
+
+ emph +
+
( + emph) + énfasis retórico
+
+ mentioned +
+
( + mentioned) + se refiere a sí mismo, no a su referente habitual
+
+
+
+
+ @@ -1487,7 +1745,7 @@

Ejemplo -
It is spelled +
It is spelled <q>Tübingen </q>— to enter the letter <q>u @@ -1503,12 +1761,12 @@

Content model -
+                  
 <content>
  <macroRef key="macro.specialPara"/>
 </content>
     
-
+
 
@@ -1517,7 +1775,7 @@

Declaración -
+                  
 element q
 {
    
@@ -1539,7 +1797,7 @@ 

macro.specialPara } - +

@@ -1655,12 +1913,12 @@

Content model -
+                  
 <content>
  <dataRef key="teidata.word"/>
 </content>
     
-
+
 
@@ -1669,10 +1927,10 @@

Declaración -
+                  
 teidata.enumerated = 
 teidata.word
-
+
 
From ee3397283496897cf02b64d4ce454f36cb4acb68 Mon Sep 17 00:00:00 2001 From: Joey Takeda Date: Fri, 23 Jun 2023 13:43:47 -0700 Subject: [PATCH 23/70] Small adjustments for consistency --- common/common_tagdocs.xsl | 31 +++++++++++++++++-------------- odds/guidelines.xsl | 2 +- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/common/common_tagdocs.xsl b/common/common_tagdocs.xsl index 3d4ef06d2..aca410279 100644 --- a/common/common_tagdocs.xsl +++ b/common/common_tagdocs.xsl @@ -2080,6 +2080,7 @@ + @@ -2090,23 +2091,25 @@ - - - - - - - unusedattribute - - - - - - + + + + + + + unusedattribute + + + + - + + attribute + + diff --git a/odds/guidelines.xsl b/odds/guidelines.xsl index 851a77231..c425b5e75 100644 --- a/odds/guidelines.xsl +++ b/odds/guidelines.xsl @@ -16,7 +16,7 @@ * MAINTAINERs: Bear in mind that the code you are looking for may * * well be in TEI/P5/Utilities/guidelines.xsl.model instead. * ******************************************************************* --> - + . /OPS - + # From 2322b81207fd8502a8decbebcbdbf184a3d1b7f6 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 28 Jul 2023 23:55:19 -0400 Subject: [PATCH 25/70] Copy over latest p5subset, and fix tests accordingly. --- Test/expected-results/test.rng | 2 +- Test/expected-results/test15.odd.html | 8 +- Test/expected-results/test15.odd.rnc | 2 +- Test/expected-results/test30.rnc | 8 +- Test/expected-results/test33.rnc | 2 +- Test/expected-results/test34.combined.json | 4 +- Test/expected-results/test34.rnc | 2 +- Test/expected-results/test35.rnc | 2 +- Test/expected-results/testdrama.compiled.xml | 103 ++++++++--- Test2/expected-results/testAttValQuant.rng | 2 +- Test2/expected-results/testPure1.rng | 2 +- debian-tei-xsl/debian/changelog | 6 + source/p5subset.xml | 184 +++++++++++++------ 13 files changed, 223 insertions(+), 104 deletions(-) diff --git a/Test/expected-results/test.rng b/Test/expected-results/test.rng index 0b5859fb1..e2a2bd35c 100644 --- a/Test/expected-results/test.rng +++ b/Test/expected-results/test.rng @@ -4277,7 +4277,7 @@ Suggested values include: 1] spoken (spoken); 2] thought (thought); 3] written ( soCalled (so called) authorial distance foreign - (foreign) + (foreign) foreign words distinct (distinct) linguistically distinct term diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index 4fde374c7..1f538641c 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -1173,7 +1173,7 @@

( foreign) - palabras extranjeras
+ palabras extranjeras
distinct
@@ -1263,7 +1263,7 @@

orig para pubPlace - publisher + publisher q quote rb @@ -1794,7 +1794,7 @@

anchor : ( punto de anclaje) - enlanza un indentificador con una posición al interno del texto, independientemente del hecho que esta sea o no a un elemento textual.[ + enlanza un indentificador con una posición al interno del texto, independientemente del hecho que esta corresponda o no a un elemento textual.[ 8.4.2. Synchronization and Overlap 16.5. Correspondence and Alignment] @@ -4280,7 +4280,7 @@

publisher : ( - publisher) + editorial) proporciona el nombre de la organización responsable de la publicación o la distribución de un elemento bibliográfico.[ 3.12.2.4. Imprint, Size of a Document, and Reprint Information 2.2.4. Publication, Distribution, Licensing, etc.] diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index 1a69302d5..391585008 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -2155,7 +2155,7 @@ q = ## (so called) authorial distance "soCalled" | - ## (foreign) + ## (foreign) foreign words "foreign" | ## (distinct) linguistically distinct diff --git a/Test/expected-results/test30.rnc b/Test/expected-results/test30.rnc index 3d5ef19d6..a655a6238 100644 --- a/Test/expected-results/test30.rnc +++ b/Test/expected-results/test30.rnc @@ -2581,7 +2581,7 @@ Tq = ## (so called) authorial distance "soCalled" | - ## (foreign) + ## (foreign) foreign words "foreign" | ## (distinct) linguistically distinct @@ -6488,9 +6488,9 @@ Tfacsimile = sch:report [ test = "child::text()[ normalize-space(.) ne '']" "\x{a}" ~ - " A facsimile element represents a text with images, thus\x{a}" ~ - " transcribed text should not be present within it.\x{a}" ~ - " " + " A facsimile element represents a text with images, thus\x{a}" ~ + " transcribed text should not be present within it.\x{a}" ~ + " " ] "\x{a}" ~ " " diff --git a/Test/expected-results/test33.rnc b/Test/expected-results/test33.rnc index d14e38820..3a870d1f6 100644 --- a/Test/expected-results/test33.rnc +++ b/Test/expected-results/test33.rnc @@ -2305,7 +2305,7 @@ tei_q = ## (so called) authorial distance "soCalled" | - ## (foreign) + ## (foreign) foreign words "foreign" | ## (distinct) linguistically distinct diff --git a/Test/expected-results/test34.combined.json b/Test/expected-results/test34.combined.json index cade8ab2b..c16e11fdb 100644 --- a/Test/expected-results/test34.combined.json +++ b/Test/expected-results/test34.combined.json @@ -8609,8 +8609,8 @@ { "ident" : "foreign", "desc" : - [ ], - "shortDesc" : "(foreign) ", + [ "foreign words<\/desc>" ], + "shortDesc" : "(foreign) foreign words", "gloss" : [ "foreign<\/gloss>" ], "altIdent" : diff --git a/Test/expected-results/test34.rnc b/Test/expected-results/test34.rnc index b8b34fac4..c1bcce422 100644 --- a/Test/expected-results/test34.rnc +++ b/Test/expected-results/test34.rnc @@ -2310,7 +2310,7 @@ tei_q = ## (so called) authorial distance "soCalled" | - ## (foreign) + ## (foreign) foreign words "foreign" | ## (distinct) linguistically distinct diff --git a/Test/expected-results/test35.rnc b/Test/expected-results/test35.rnc index 76ab95154..cfba7812e 100644 --- a/Test/expected-results/test35.rnc +++ b/Test/expected-results/test35.rnc @@ -2303,7 +2303,7 @@ tei_q = ## (so called) authorial distance "soCalled" | - ## (foreign) + ## (foreign) foreign words "foreign" | ## (distinct) linguistically distinct diff --git a/Test/expected-results/testdrama.compiled.xml b/Test/expected-results/testdrama.compiled.xml index 5e7550766..9dd6f59b2 100644 --- a/Test/expected-results/testdrama.compiled.xml +++ b/Test/expected-results/testdrama.compiled.xml @@ -242,13 +242,6 @@ d'un certain type. 何らかのコード化された値を用いて、名付けられたエンティティを識別する外部的に定義された手段を提供する。 - - - - [New Zealand Parliament, Legislative Council] - - - @@ -256,16 +249,11 @@ - +

The value may be a unique identifier from a database, or any other externally-defined - string identifying the referent.

-

No particular syntax is proposed for the values of the key attribute, since - its form will depend entirely on practice within a given project. For the same reason, this - attribute is not recommended in data interchange, since there is no way of ensuring - that the values used by one project are distinct from those used by another. In such - a situation, a preferable approach for magic tokens which follows standard practice - on the Web is to use a ref attribute whose value is a tag URI as defined in - RFC 4151.

+ string identifying the referent. + No particular syntax is proposed for the values of the key attribute, since + its form will depend entirely on practice within a given project.

La valeur peut être un identifiant unique dans une base de données, ou toute autre chaîne @@ -283,11 +271,11 @@ définition complète de l'entité nommée au moyen d'un ou plusieurs URIs. 一つ以上のURIを用いて、名付けられたエンティティの完全な定義かIDを参照するための明確な手段を提供する。 - - - Seamus Heaney - - + + + Seamus Heaney + +

The value must point directly to one or more XML elements or other resources by means of one or more URIs, separated by whitespace. If more than one is supplied the implication is that the name identifies several distinct entities.

@@ -297,6 +285,50 @@

値は1つまたは複数のXML要素あるいは、空白によって区切られた1つまたは複数のURIを指し示すものでなければならない。1つ以上の値が与えられているときは、その名前が複数の異るエンティティに対応することを示唆する。

+ +

In this contrived example, a canonical reference to the same + organisation is provided in four different ways.

+ + + New Zealand Parliament, Legislative Council + +   + + New Zealand Parliament, Legislative Council + +   + + New Zealand Parliament, Legislative Council + +   + + New Zealand Parliament, Legislative Council + + +

The first presumes the availability of an internet connection + and a processor that can resolve a URI (most can). The second + requires, in addition, a prefixDef that declares how the + nzvm prefix should be interpreted. The third does not + require an internet connection, but does require that a file named + named_entities.xml be in the same + directory as the TEI document. The fourth requires that an entire + external system for key resolution be available.

+
+ + +

The key attribute is more flexible and + general-purpose, but its use in interchange requires that + documentation about how the key is to be resolved be sent to the + recipient of the TEI document. In contrast values of the + ref attribute are resolved using the widely accepted + protocols for a URI, and thus less documentation, if any, is + likely required by the recipient in data interchange.

+

These guidelines provide no semantic basis or suggested + precedence when both key and ref are + provided. For this reason simultaneous use of both is not + recommended unless documentation explaining the use is provided, + probably in an ODD customizaiton, for interchange.

+
13.1.1. Linking Names and Their Referents @@ -4125,9 +4157,9 @@ dans lequel les traits encodés portant cet attribut sont supposés être apparu + identifies the unit of information conveyed by the element, e.g. columns, pages, volume, entry. identifie le type d'information que transmet l'élément, par exemple colonnes, pages, volume, inscription, etc. - identifies the unit of information conveyed by the element, e.g. columns, pages, volume, entry. 当該要素が伝える情報の単位を特定する。たとえば、カラム (columns)、頁 (pages)、巻 (volume)、エントリ (entry) 等。 @@ -8058,6 +8090,7 @@ Ce ne seroyt que bon que nous rendissiez noz cloches... foreign fremdartig + foreign words palabras extranjeras mots étrangers parole straniere @@ -15309,6 +15342,7 @@ epistemology, methodology and history of publisher + editorial éditeur Verlag provides the name of the organization responsible for the publication or distribution of a @@ -16412,9 +16446,17 @@ relatedItem element must be empty + +

This element may be used to transcribe which character is + speaking in a dramatic text as indicated by the source text; the + who attribute of an sp element may be used to + point to another element (typically a role) which + provides information about the character speaking. Either or both + may be used.

+

Cet élément est utilisé pour indiquer quel personnage prend la parole dans une pièce de - théâtre ; l'attribut who est utilisé pour pointer vers un autre élément qui fournit des + théâtre ; l'attribut who est utilisé pour pointer vers un autre élément qui fournit des informations sur ce personnage. L'un et ou l'autre peuvent être utilisés.

@@ -18008,6 +18050,16 @@ material ungefähr 10MB + +

Das measure-Element kann dazu verwendet werden, um normalisierte oder + maschinenlesbare Versionen der Größen-Angaben bereitzustellen.

+ + + Ungefähr vier Megabyte + Textumfang 245 Seiten + + +
198 pages @@ -18022,9 +18074,6 @@ material 10片3.5吋磁碟片 - -

Das measure-Element kann dazu verwendet werden, um normalisierte oder maschinenlesbare Versionen der Größen-Angaben bereitzustellen.

-
2.2.3. Type and Extent of File 2.2. The File Description @@ -28191,7 +28240,7 @@ the date of the entire document, not for any subset or part of it.

在文件中某一位置附上識別符碼,無論該位置是否符合一個文字性元素。 テキスト中のある地点に対して識別子を付与する。テキスト要素と対応するかは問われない。 attache un identifiant à un point du texte, que ce point corresponde ou non à un élément textuel. - enlanza un indentificador con una posición al interno del texto, independientemente del hecho que esta sea o no a un elemento textual. + enlanza un indentificador con una posición al interno del texto, independientemente del hecho que esta corresponda o no a un elemento textual. aggancia un indentificatore a una posizione all'interno del testo indipendentemente dal fatto che questa corrisponda o meno a un elemento testuale fügt an einer Stelle im Text eine Kennung ein, unabhängig von der Textstruktur. diff --git a/Test2/expected-results/testAttValQuant.rng b/Test2/expected-results/testAttValQuant.rng index 57c8638e0..eb6be5e95 100644 --- a/Test2/expected-results/testAttValQuant.rng +++ b/Test2/expected-results/testAttValQuant.rng @@ -3668,7 +3668,7 @@ Suggested values include: 1] spoken (spoken); 2] thought (thought); 3] written ( soCalled (so called) authorial distance foreign - (foreign) + (foreign) foreign words distinct (distinct) linguistically distinct term diff --git a/Test2/expected-results/testPure1.rng b/Test2/expected-results/testPure1.rng index 08c4a9111..97bb0a7ec 100644 --- a/Test2/expected-results/testPure1.rng +++ b/Test2/expected-results/testPure1.rng @@ -4069,7 +4069,7 @@ Suggested values include: 1] spoken (spoken); 2] thought (thought); 3] written ( soCalled (so called) authorial distance foreign - (foreign) + (foreign) foreign words distinct (distinct) linguistically distinct term diff --git a/debian-tei-xsl/debian/changelog b/debian-tei-xsl/debian/changelog index 36f1cd55d..03dc8ade3 100644 --- a/debian-tei-xsl/debian/changelog +++ b/debian-tei-xsl/debian/changelog @@ -1,3 +1,9 @@ +tei-xsl (7.56.0a) natty; urgency=low + + * new release from upstream + + -- TEI Fri, 28 Jul 2023 12:04:36 -0400 + tei-xsl (7.55.0a) natty; urgency=low * new release from upstream diff --git a/source/p5subset.xml b/source/p5subset.xml index 5c2d4cc50..9097c810e 100644 --- a/source/p5subset.xml +++ b/source/p5subset.xml @@ -6,8 +6,8 @@ The TEI Guidelines - Version 4.7.0a. Last updated on - 11th April 2023, revision bec660a72 + P5 Version 4.7.0a. Last updated on + 16th July 2023, revision df882688d TEI Consortium @@ -384,13 +384,6 @@ Instance

d'un certain type. 何らかのコード化された値を用いて、名付けられたエンティティを識別する外部的に定義された手段を提供する。 - - - - [New Zealand Parliament, Legislative Council] - - - @@ -398,16 +391,11 @@ Instance
- +

The value may be a unique identifier from a database, or any other externally-defined - string identifying the referent.

-

No particular syntax is proposed for the values of the key attribute, since - its form will depend entirely on practice within a given project. For the same reason, this - attribute is not recommended in data interchange, since there is no way of ensuring - that the values used by one project are distinct from those used by another. In such - a situation, a preferable approach for magic tokens which follows standard practice - on the Web is to use a ref attribute whose value is a tag URI as defined in - RFC 4151.

+ string identifying the referent. + No particular syntax is proposed for the values of the key attribute, since + its form will depend entirely on practice within a given project.

La valeur peut être un identifiant unique dans une base de données, ou toute autre chaîne @@ -425,11 +413,11 @@ Instance

définition complète de l'entité nommée au moyen d'un ou plusieurs URIs. 一つ以上のURIを用いて、名付けられたエンティティの完全な定義かIDを参照するための明確な手段を提供する。 - - - Seamus Heaney - - + + + Seamus Heaney + +

The value must point directly to one or more XML elements or other resources by means of one or more URIs, separated by whitespace. If more than one is supplied the implication is that the name identifies several distinct entities.

@@ -439,6 +427,56 @@ Instance

値は1つまたは複数のXML要素あるいは、空白によって区切られた1つまたは複数のURIを指し示すものでなければならない。1つ以上の値が与えられているときは、その名前が複数の異るエンティティに対応することを示唆する。

+ +

In this contrived example, a canonical reference to the same + organisation is provided in four different ways.

+ + + New Zealand Parliament, Legislative Council + +   + + New Zealand Parliament, Legislative Council + +   + + New Zealand Parliament, Legislative Council + +   + + New Zealand Parliament, Legislative Council + + +

The first presumes the availability of an internet connection + and a processor that can resolve a URI (most can). The second + requires, in addition, a prefixDef that declares how the + nzvm prefix should be interpreted. The third does not + require an internet connection, but does require that a file named + named_entities.xml be in the same + directory as the TEI document. The fourth requires that an entire + external system for key resolution be available.

+
+ + +

The key attribute is more flexible and + general-purpose, but its use in interchange requires that + documentation about how the key is to be resolved be sent to the + recipient of the TEI document. In contrast values of the + ref attribute are resolved using the widely accepted + protocols for a URI, and thus less documentation, if any, is + likely required by the recipient in data interchange.

+

These guidelines provide no semantic basis or suggested + precedence when both key and ref are + provided. For this reason simultaneous use of both is not + recommended unless documentation explaining the use is provided, + probably in an ODD customizaiton, for interchange.

+
@@ -5321,9 +5359,9 @@ dans lequel les traits encodés portant cet attribut sont supposés être apparu + identifies the unit of information conveyed by the element, e.g. columns, pages, volume, entry. identifie le type d'information que transmet l'élément, par exemple colonnes, pages, volume, inscription, etc. - identifies the unit of information conveyed by the element, e.g. columns, pages, volume, entry. 当該要素が伝える情報の単位を特定する。たとえば、カラム (columns)、頁 (pages)、巻 (volume)、エントリ (entry) 等。 @@ -9485,6 +9523,16 @@ material ungefähr 10MB + +

Das measure-Element kann dazu verwendet werden, um normalisierte oder + maschinenlesbare Versionen der Größen-Angaben bereitzustellen.

+ + + Ungefähr vier Megabyte + Textumfang 245 Seiten + + +
198 pages @@ -9499,9 +9547,6 @@ material 10片3.5吋磁碟片 - -

Das measure-Element kann dazu verwendet werden, um normalisierte oder maschinenlesbare Versionen der Größen-Angaben bereitzustellen.

-
@@ -10519,7 +10564,7 @@ définissant les droits d'utilisation.

-
Computer Files Derived from Other Computer Files
+
TEI documents derived from other TEI documents
The Encoding Description encoding description @@ -16268,6 +16313,7 @@ Ce ne seroyt que bon que nous rendissiez noz cloches... foreign fremdartig + foreign words palabras extranjeras mots étrangers parole straniere @@ -23714,6 +23760,7 @@ epistemology, methodology and history of publisher + editorial éditeur Verlag provides the name of the organization responsible for the publication or distribution of a @@ -24837,9 +24884,17 @@ relatedItem element must be empty + +

This element may be used to transcribe which character is + speaking in a dramatic text as indicated by the source text; the + who attribute of an sp element may be used to + point to another element (typically a role) which + provides information about the character speaking. Either or both + may be used.

+

Cet élément est utilisé pour indiquer quel personnage prend la parole dans une pièce de - théâtre ; l'attribut who est utilisé pour pointer vers un autre élément qui fournit des + théâtre ; l'attribut who est utilisé pour pointer vers un autre élément qui fournit des informations sur ce personnage. L'un et ou l'autre peuvent être utilisés.

@@ -29887,7 +29942,7 @@ otherwise available in the document character set-->.
for uppercase equivalences, lowercase for lowercase equivalences, and simplified for simplified characters. The g elements contained by this element can point to either another - char or glyphelement or contain a character + char or glyph element or contain a character that is intended to be the target of this mapping.

@@ -31239,6 +31294,9 @@ and simplified for simplified characters. The + + + @@ -39545,9 +39603,9 @@ headword such as noun, verb, or adjective. ningún guión pas de trait d'union nessun trattino + indicates that the headword, though a prefix or suffix, loses its hyphen indica che il lemma, sebbene prefisso o suffisso, perde il trattino - indicates that the headword, though a prefix or suffix, loses its hyphen 접두사 또는 접미사일지라도 표제어의 하이픈이 소실되었음을 표시한다. indica que el lema, aunque sea un prefijo o un sufijo, no contiene su guión @@ -41294,20 +41352,12 @@ manuscripts or other objects, not necessarily located within a single repository - - - - - - - - - - - - - - + + + + + + @@ -41322,20 +41372,24 @@ manuscripts or other objects, not necessarily located within a single repository - B 106 - Cote de la Bibliothèque royale au XVIIIe siècle. + B 106 + Cote de la Bibliothèque royale au XVIIIe siècle. - 台北市中正區 - 國立歷史博物館 - MS.El.26.C.9 + 台北市中正區 + 國立歷史博物館 + MS.El.26.C.9 + +

An identifying number of some kind must be supplied if + known; if it is not known, this should be stated.

+

Un numéro identifiant quelconque doit être fourni s'il est connu ; si on ne le connaît pas, cela devrait être signalé.

@@ -41345,10 +41399,6 @@ manuscripts or other objects, not necessarily located within a single repository すべきである。

- -

An identifying number of some kind must be supplied if - known; if it is not known, this should be stated.

-
@@ -50945,6 +50995,18 @@ different witnesses. French
+ + + + + + Mixtepec-Mixtec + English + Spanish + + + + Anglais britannique @@ -51280,11 +51342,11 @@ raiders and saved the town from capture.
+ provides information about relationships identified amongst people, places, and + organizations, either informally as prose or as formally expressed relation links. donne des informations sur les relations qui existent entre des personnes, des lieux, ou des organisations, soit de manière informelle en prose, soit de manière formelle. - provides information about relationships identified amongst people, places, and - organizations, either informally as prose or as formally expressed relation links. 비공식적으로 산문체 또는 공식적으로 표현된 관계 연결을 통하여 사람, 장소, 그리고 조직 사이에 식별되는 관련성에 관한 정보를 제공한다. 描述一項語言互動中參與者之間的關係或社交關聯。 @@ -53485,8 +53547,8 @@ specification.

nombre canónico nome canonico nom canonique - contient la définition de tout nom ou partie de nom dans leur forme canonique. contains the definition for a canonical name or name component of any kind. + contient la définition de tout nom ou partie de nom dans leur forme canonique. 표준 이름 또는 어떤 종류의 이름부 정의를 포함한다. 包含一標準名稱或任何部分名稱的定義。 各種名前の、標準的な名前または名前の部分の定義を示す。 @@ -56586,7 +56648,7 @@ Information with a Text 在文件中某一位置附上識別符碼,無論該位置是否符合一個文字性元素。 テキスト中のある地点に対して識別子を付与する。テキスト要素と対応するかは問われない。 attache un identifiant à un point du texte, que ce point corresponde ou non à un élément textuel. - enlanza un indentificador con una posición al interno del texto, independientemente del hecho que esta sea o no a un elemento textual. + enlanza un indentificador con una posición al interno del texto, independientemente del hecho que esta corresponda o no a un elemento textual. aggancia un indentificatore a una posizione all'interno del testo indipendentemente dal fatto che questa corrisponda o meno a un elemento testuale fügt an einer Stelle im Text eine Kennung ein, unabhängig von der Textstruktur. @@ -68118,9 +68180,9 @@ déclaration de même nom dans la définition courante. - + - + which could be wrapped in a <sequence> element. @@ -70127,6 +70189,7 @@ should correspond to an existing module, via a moduleSpec or + @@ -70416,6 +70479,7 @@ should correspond to an existing module, via a moduleSpec or + From d538650997212d72253f59a5cb92a5fe9155afcd Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sun, 30 Jul 2023 11:08:51 -0400 Subject: [PATCH 26/70] Process xml:id= wherever the output of a is generated in an attempt to fix #616. --- html/html_core.xsl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/html/html_core.xsl b/html/html_core.xsl index 862671ac9..a593aa5fa 100644 --- a/html/html_core.xsl +++ b/html/html_core.xsl @@ -649,6 +649,7 @@ of this software, even if advised of the possibility of such damage.

+ false @@ -665,6 +666,7 @@ of this software, even if advised of the possibility of such damage.

+ false @@ -685,6 +687,7 @@ of this software, even if advised of the possibility of such damage.
+ false @@ -694,6 +697,7 @@ of this software, even if advised of the possibility of such damage.
+ false @@ -706,6 +710,7 @@ of this software, even if advised of the possibility of such damage.

+

@@ -714,6 +719,7 @@ of this software, even if advised of the possibility of such damage. + false From d05a4c0f81525049b112250a10fbf6f51e853661 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 24 Aug 2023 15:24:59 -0400 Subject: [PATCH 27/70] With Stylesheets Group alter test15 until the BLEEPing thing finally worked. --- Test/alt2.odd | 4 +- Test/expected-results/test15.odd.html | 1023 ++++++++++++++--- Test/expected-results/test15.odd.rnc | 1512 ++++++++++++++++++++++++- Test/test15.odd | 75 +- 4 files changed, 2362 insertions(+), 252 deletions(-) diff --git a/Test/alt2.odd b/Test/alt2.odd index 3c8e22958..30c84b1e9 100644 --- a/Test/alt2.odd +++ b/Test/alt2.odd @@ -1,7 +1,7 @@ - + typo - + diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index 1f538641c..ca24cf844 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -43,10 +43,6 @@

Índice

2.4. <q> -
  • - 2.5. - enum -
  • @@ -62,9 +58,8 @@

    Índice

  • - - + +
    Macro - teidata.enumeratedchangeModule namesdates

    @@ -135,23 +130,32 @@

    ab abbr add + addName + affiliation + age alt anchor application bibl biblStruct binaryObject + birth + bloc calendar cb change cit + climate corr correspAction correspDesc + country date + death del desc distinct + district div div1 div2 @@ -161,9 +165,17 @@

    div6 div7 divGen + education + event + faith figure floatingText + forename gb + genName + gender + geogFeat + geogName gloss graphic group @@ -171,6 +183,7 @@

    idno join label + langKnowledge lb lg link @@ -178,37 +191,70 @@

    listAnnotation listBibl listChange + listEvent + listNym + listObject + listOrg + listPerson + listPlace + listRelation + location measure measureGrp media milestone name + nameLink + nationality notatedMusic note noteGrp num + nym + object + objectName + occupation + offset + org + orgName pb + persName + persPronouns + place + placeName + population ptr quote rb ref reg + region relatedItem + relation + residence + roleName rs rt ruby schemaRef seg + settlement + sex + socecStatus standOff + state + surname table teiCorpus term + terrain text time title titlePage titlePart trailer + trait unit unitDef xenoData @@ -240,11 +286,13 @@

    Tipo de datos - teidata.enumerated + + teidata.enumerated + -
    +
    <div  typ=" verse">  @@ -292,7 +340,9 @@

    Tipo de datos - teidata.enumerated + + teidata.enumerated + @@ -410,7 +460,9 @@

    Tipo de datos - teidata.enumerated + + teidata.enumerated +

    @@ -516,6 +568,18 @@

    timeline

    +
    textstructure: @@ -543,7 +607,7 @@

    Ejemplo -
    +
    <body>  <div  typ=" @@ -607,7 +671,7 @@

    Content model -
    +                  
     <content>
      <sequence minOccurs="1" maxOccurs="1">
       <alternate minOccurs="0"
    @@ -659,7 +723,7 @@ 

    </sequence> </content> - +

    @@ -668,7 +732,7 @@

    Declaración -
    +                  
     element div
     {
        
    @@ -708,7 +772,7 @@ 

    )? ) } - +

    @@ -846,6 +910,27 @@

    styleDefDecl

    +
    textstructure: @@ -968,6 +1053,45 @@

    timeline

    +
    textstructure: @@ -983,7 +1107,7 @@

    Ejemplo -
    +
    <para>Hallgerd was outside. <q>There is blood on your axe, </q>she said. @@ -1027,12 +1151,12 @@

    Content model -
    +                  
     <content>
      <macroRef key="macro.paraContent"/>
     </content>
         
    -
    +
     
    @@ -1041,7 +1165,7 @@

    Declaración -
    +                  
     element para
     {
        
    @@ -1055,7 +1179,7 @@ 

    macro.paraContent } - +

    @@ -1136,7 +1260,9 @@

    Tipo de datos - teidata.enumerated + + teidata.enumerated + @@ -1326,6 +1452,44 @@

    seg

    +
    textstructure: @@ -1462,6 +1626,45 @@

    timeline

    +
    textstructure: @@ -1488,7 +1691,7 @@

    Ejemplo -
    It is spelled +
    It is spelled <q>Tübingen </q>— to enter the letter <q>u @@ -1504,12 +1707,12 @@

    Content model -
    +                  
     <content>
      <macroRef key="macro.specialPara"/>
     </content>
         
    -
    +
     
    @@ -1518,7 +1721,7 @@

    Declaración -
    +                  
     element q
     {
        
    @@ -1540,140 +1743,7 @@ 

    macro.specialPara } - -

    - - - -

    -
    -
    -

    - 2.5. - enum -

    -
    - - - - - - - - - - - - - - - - - - - @@ -1738,6 +1808,15 @@

    contiene letras, palabras o frases introducidas en el texto por el autor, transcriptor, glosador o corrector.[ 3.5.3. Additions, Deletions, and Omissions] +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + +

    Grouping consecutive elements that belong together

    +

    + We are now working on a group of all elements inside some group bounded by + headings. These need to be further split up into smaller groups for figures, + list etc. and into individual groups for simple paragraphs... +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Creating a gloss list + + Creating a group of a figure + +
    + + + +
    +
    - - - - - - - + + Creating a group of a caption (figure or table) + + +
    + - - Creating a group of a figure + + Creating a gloss list - - - - - - - + + + + + + + - - Creating a group of a front/title page - - - - - - - - - - + + Creating a group of a figure + + + + + + + + - - Groups the document by headings and thereby creating the document structure. - + + Creating a group of a front/title page + + + + + + + + + + + Groups the document by headings and thereby creating the document structure. + @@ -463,225 +436,227 @@ of this software, even if advised of the possibility of such damage.
    - + - - - - - - - - + group-starting-with="w:p[w:pPr/w:pStyle/@w:val=$NextHeader]"> + + + + + + + +
    -

    Looks through the document to find forme work related sections.

    - Creates a <fw> element for each forme work related section. These include - running headers and footers. The corresponding elements in OOXML are w:headerReference - and w:footerReference. These elements only define a reference that to a header or - footer definition file. The reference itself is resolved in the file word/_rels/document.xml.rels. + Creates a <fw> element for each forme work related section. These include + running headers and footers. The corresponding elements in OOXML are w:headerReference + and w:footerReference. These elements only define a reference that to a header or + footer definition file. The reference itself is resolved in the file word/_rels/document.xml.rels.

    - - - - - - - - - - header - footer - - - - - - - - - - - - - - - - - - - + + + + + + + + + + header + footer + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - simple teiHeader. For a more sophisticated header, think about overriding - this template - - - - - - - <xsl:call-template name="getDocTitle"/> - - - - - - - - - - - - - -

    unknown

    -
    - -

    Converted from a Word document

    -
    -
    - - - - - - - - - - - - - - - -
    -
    - - - generates a section heading. If you need something specific, feel free - to overwrite this template - - - - - - - - + + simple teiHeader. For a more sophisticated header, think about overriding + this template + + + + + + + <xsl:call-template name="getDocTitle"/> + + + + + + + + + + + + + +

    unknown

    +
    + +

    Converted from a Word document

    +
    +
    + + + + + + + + + + + + + + + +
    +
    + + + generates a section heading. If you need something specific, feel free + to overwrite this template + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - unknown title - - - + + + + + + + unknown title + + + - - - - - - - unknown author - - - + + + + + + + unknown author + + + - - - - - - - unknown date - - - + + + + + + + unknown date + + + - - - - # - - - - - + + + + # + + + + + diff --git a/docx/from/functions.xsl b/docx/from/functions.xsl index 2a8b0fa13..71dfc6b6d 100644 --- a/docx/from/functions.xsl +++ b/docx/from/functions.xsl @@ -21,16 +21,16 @@ version="2.0" exclude-result-prefixes="cals ve o r m v wp w10 w wne mml tbx iso tei a xs pic fn"> - - -

    TEI Utility stylesheet for making TEI XML from Word docx files

    -

    This software is dual-licensed: - + + +

    TEI Utility stylesheet for making TEI XML from Word docx files

    +

    This software is dual-licensed: + 1. Distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3.0/ 2. http://www.opensource.org/licenses/BSD-2-Clause - + Redistribution and use in source and binary forms, with or without @@ -55,171 +55,177 @@ data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. -

    -

    Author: See AUTHORS

    -

    Id: $Id: functions.xsl 11232 2012-12-18 18:06:19Z rahtz $

    -

    Copyright: 2013, TEI Consortium

    -
    - - - - Defines whether or not a word paragraph is a first level heading. - - - - - true - false - - - - - Defines whether or not a word paragraph is a heading. - - - - - true - true - true - false - - - - - Defines whether or not a word paragraph is a front page element. - - - - - true - true - true - true - false - - - - - Defines whether or not a word paragraph is a list element. - - - - - - true - true - true - true - false - - +

    +

    Author: See AUTHORS

    +

    Id: $Id: functions.xsl 11232 2012-12-18 18:06:19Z rahtz $

    +

    Copyright: 2013, TEI Consortium

    + +
    - - Defines whether or not a word paragraph is a table of contents. - - - - true - true - false - - - - - Defines whether or not a word paragraph is a figure element. - - - - true - true - false - - - - - Defines whether or not a word paragraph is a caption. - - - - true - true - false - - + + Defines whether or not a word paragraph is a first level heading. + + + + + true + false + + + + Defines whether or not a word paragraph is a heading. + + + + + + true + true + true + false + + - - Defines whether or not a word paragraph is a line of poetry. - - - - true - false - - - - - Defines whether or not a word paragraph is gloss list. - - - - true - false - - - - - Is given a header style and returns the style for the next level header. - - - - + + Defines whether or not a word paragraph is a front page element. + + + + + + true + true + true + true + false + + + + + Defines whether or not a word paragraph is a list element. + + + + + + + true + true + true + true + false + + + + Defines whether or not a word paragraph is a table of contents. + + + + + true + true + false + + + + + Defines whether or not a word paragraph is a figure element. + + + + + true + true + false + + + + + Defines whether or not a word paragraph is a caption. + + + + + true + true + false + + - - Returns a listtype for a given stylename (return empty string to figure it out dynamically). - - - - - - gloss - - - bulleted - - - bulleted - - - numbered - - - numbered - - - - - - - - - insert a note that a docx conversion cannot proceed - - - - - - docx conversion issue: - + + Defines whether or not a word paragraph is a line of poetry. + + + + + true + false + + + + + Defines whether or not a word paragraph is gloss list. + + + + + true + false + + + + + Is given a header style and returns the style for the next level header. + + + + + + + + Returns a listtype for a given stylename (return empty string to figure it out dynamically). + + + + + + gloss + + + bulleted + + + bulleted + + + numbered + + + numbered + + + + + + + + insert a note that a docx conversion cannot proceed + + + + + + docx conversion issue: + - - process a Word w:instrText + + process a Word w:instrText + @@ -228,8 +234,7 @@ of this software, even if advised of the possibility of such damage. - + @@ -260,11 +265,10 @@ of this software, even if advised of the possibility of such damage. - - - Whether a w:instrText can be discarded on not. ignore all - the bibliographic addins + + Whether a w:instrText can be discarded on not. ignore all the bibliographic addins + @@ -275,10 +279,11 @@ of this software, even if advised of the possibility of such damage. true false - - - - Whether a w:instrText is a bibliographic addin + + + + Whether a w:instrText is a bibliographic addin + @@ -287,7 +292,7 @@ of this software, even if advised of the possibility of such damage. true false - + Returns true or false for value types that may be "on" or "off". From 611befaa28c3740f501fad783658ccd980b8af69 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Mon, 16 Oct 2023 11:06:34 -0400 Subject: [PATCH 40/70] Fix #635: (#636) Added clause testing for type=deprecationInfo so we don't get 2+ nodes being tested on one side of 'gt'. --- common/functions.xsl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common/functions.xsl b/common/functions.xsl index 0a91361bb..f3d91c6dd 100644 --- a/common/functions.xsl +++ b/common/functions.xsl @@ -1233,12 +1233,14 @@ of this software, even if advised of the possibility of such damage. whether there is an out-of-date desc or gloss in the translation language - + - + From f1aa9a34b2fc1f9f48d7a0a69f6c098332b3e589 Mon Sep 17 00:00:00 2001 From: Patricia O CONNOR Date: Tue, 17 Oct 2023 19:16:51 +0200 Subject: [PATCH 41/70] Update P5subset and tests --- Test/expected-results/test.isosch | 82 ++++---- Test/expected-results/test.rng | 121 +++++------ Test/expected-results/test15.odd.rnc | 127 +++++++---- Test/expected-results/test21.odd.rnc | 161 ++++++++------ Test/expected-results/test30.dtd | 6 +- Test/expected-results/test30.rnc | 155 +++++++++----- Test/expected-results/test33.rnc | 126 +++++++---- Test/expected-results/test34.combined.json | 32 +-- Test/expected-results/test34.rnc | 126 +++++++---- Test/expected-results/test35.rnc | 126 +++++++---- Test/expected-results/testdrama.compiled.xml | 144 ++++++------- Test2/expected-results/testAttValQuant.rng | 101 +++++---- Test2/expected-results/testPure1.rng | 119 ++++++----- source/p5subset.xml | 210 ++++++++----------- 14 files changed, 915 insertions(+), 721 deletions(-) diff --git a/Test/expected-results/test.isosch b/Test/expected-results/test.isosch index 10001b2c6..37877cec8 100644 --- a/Test/expected-results/test.isosch +++ b/Test/expected-results/test.isosch @@ -30,14 +30,26 @@ The @to and @notAfter attributes cannot be used together. - + @calendar indicates one or more systems or calendars to which the date represented by the content of this element belongs, but this element has no textual content. - + + + + + + + + + + + + @@ -47,50 +59,50 @@ - + The @unit attribute may be unnecessary when @unitRef is present. - + The element should not be categorized in detail with @subtype unless also categorized in general with @type - + @targetLang should only be used on if @target is specified. - + The element indicated by @spanTo () must follow the current element - + @schemeVersion can only be used if @scheme is specified. - + Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements. - + Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText. - + Information about a deprecation should only be present in a specification element @@ -99,43 +111,43 @@ The element indicated by @spanTo () must follow the type="deprecationInfo">. - + When target= is present, neither from= nor to= should be. - + When from= is present, the to= attribute of is required. - + When to= is present, the from= attribute of is required. - + Only one of the attributes @target and @cRef may be supplied on . - + Only one of the attributes @target' and @cRef' may be supplied on - + The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element - + If the @target attribute on is used, the @@ -144,43 +156,43 @@ relatedItem element must be empty or a child element to indicate the related bibliographic item - + Abstract model violation: Lines may not contain lines or lg elements. - + An lg element must contain at least one child l, lg, or gap element. - + Abstract model violation: Lines may not contain line groups. - + On , either the @marks attribute should be used, or a paragraph of description provided - + An XPath in @match on the outer must start with '/'. - + An XPath in @match must not start with '/' except on the outer . - + A facsimile element represents a text with images, thus @@ -188,7 +200,7 @@ On , either the @marks attribute should be used, or a paragraph of descri - + , either the @marks attribute should be used, or a paragraph of descri the zone element rather than the path element. - + The @spanTo attribute of is required. - + The @spanTo attribute of is required. - + The @spanTo attribute of is required. - + must have at least one child add and at least one child del or surplus - + Abstract model violation: Lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. - + Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. - + You must supply at least two values for @target or on - + Abstract model violation: Lines may not contain higher-level divisions such as p or ab, unless ab is a child of figure or note, or is a descendant of floatingText. - + You must supply at least two values for @target on - + This element must have a @type attribute, since it is diff --git a/Test/expected-results/test.rng b/Test/expected-results/test.rng index e2a2bd35c..cb492ea2c 100644 --- a/Test/expected-results/test.rng +++ b/Test/expected-results/test.rng @@ -537,17 +537,28 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke - + @calendar indicates one or more systems or calendars to which the date represented by the content of this element belongs, but this element has no textual content. + + + + + + + + + + + - supplies pointers to one or more definitions of named periods of time (typically <category>s or <calendar>s) within which the datable item is understood to have occurred. + supplies pointers to one or more definitions of named periods of time (typically <category>s, <date>s or <event>s) within which the datable item is understood to have occurred. @@ -850,7 +861,7 @@ Suggested values include: 1] internal; 2] external; 3] conjecture - + @@ -1174,7 +1185,7 @@ Suggested values include: 1] m (metre); 2] kg (kilogram); 3] s (second); 4] Hz ( - + The @unit attribute may be unnecessary when @unitRef is present. @@ -1293,7 +1304,7 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf - + The element should not be categorized in detail with @subtype unless also categorized in general with @type @@ -1317,7 +1328,7 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf - + @targetLang should only be used on if @target is specified. @@ -1470,7 +1481,7 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf - + The element indicated by @spanTo () must follow the current element @@ -1508,7 +1519,7 @@ The element indicated by @spanTo () must follow - + @schemeVersion can only be used if @scheme is specified. @@ -4129,14 +4140,14 @@ Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] cant (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] - + Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements. - + Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText. @@ -4335,7 +4346,7 @@ Suggested values include: 1] spoken (spoken); 2] thought (thought); 3] written ( (description) contains a short description of the purpose, function, or use of its parent element, or when the parent is a documentation element, describes or defines the object being documented. [22.4.1. Description of Components] - + Information about a deprecation should only be present in a specification element @@ -4428,7 +4439,7 @@ Suggested values include: 1] deprecationInfo (deprecation information) - + When target= is present, neither from= nor to= should be. @@ -4442,7 +4453,7 @@ Suggested values include: 1] deprecationInfo (deprecation information) - + When from= is present, the to= attribute of is required. @@ -4456,7 +4467,7 @@ Suggested values include: 1] deprecationInfo (deprecation information) - + When to= is present, the from= attribute of is required. @@ -4897,7 +4908,7 @@ Sample values include: 1] suspension (suspension); 2] contraction (contraction); (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 16.1. Links] - + Only one of the attributes @target and @cRef may be supplied on . @@ -4916,7 +4927,7 @@ attributes @target and @cRef may be supplied on . (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 16.1. Links] - + Only one of the attributes @target' and @cRef' may be supplied on @@ -4984,7 +4995,7 @@ attributes @target and @cRef may be supplied on . - + The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element @@ -5669,7 +5680,7 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho - + If the @target attribute on is used, the @@ -5703,7 +5714,7 @@ relatedItem element must be empty - + Abstract model violation: Lines may not contain lines or lg elements. @@ -5751,13 +5762,13 @@ relatedItem element must be empty - + An lg element must contain at least one child l, lg, or gap element. - + Abstract model violation: Lines may not contain line groups. @@ -6441,7 +6452,7 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] - + On , either the @marks attribute should be used, or a paragraph of description provided @@ -6614,9 +6625,11 @@ On , either the @marks attribute should be used, or a paragraph of descri specifies the full formal name of the namespace concerned. - - \S* - + + + \S+ + + @@ -6707,12 +6720,12 @@ Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after(match) supplies an XPath selection pattern using the syntax defined in which identifies a set of nodes which are citable structural components. The expression may be absolute (beginning with `/`) or relative. @match on a <citeStructure> without a <citeStructure> parent must be an absolute XPath. If it is relative, its context is set by the @match of the parent <citeStructure>. - + An XPath in @match on the outer must start with '/'. - + An XPath in @match must not start with '/' except on the outer . @@ -7289,8 +7302,12 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] - - + + + + + + @@ -7499,7 +7516,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 - + A facsimile element represents a text with images, thus @@ -7622,7 +7639,7 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (path) defines any line passing through two or more points within a <surface> element. [11.1. Digital Facsimiles 11.2.2. Embedded Transcription] - + @@ -7668,12 +7685,12 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (added span of text) marks the beginning of a longer sequence of text added by an author, scribe, annotator or corrector (see also <add>). [11.3.1.4. Additions and Deletions] - + The @spanTo attribute of is required. - + L'attribut spanTo est requis. @@ -7701,12 +7718,12 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (damaged span of text) marks the beginning of a longer sequence of text which is damaged in some way but still legible. [11.3.3.1. Damage, Illegibility, and Supplied Text] - + The @spanTo attribute of is required. - + L'attribut spanTo est requis. @@ -7722,12 +7739,12 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (deleted span of text) marks the beginning of a longer sequence of text deleted, marked as deleted, or otherwise signaled as superfluous or spurious by an author, scribe, annotator, or corrector. [11.3.1.4. Additions and Deletions] - + The @spanTo attribute of is required. - + L'attribut spanTo est requis. @@ -7892,7 +7909,7 @@ Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNu - + must have at least one child add and at least one child del or surplus @@ -8962,14 +8979,14 @@ Suggested values include: 1] initial; 2] final - + Abstract model violation: Lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. - + Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. @@ -9726,21 +9743,7 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (document date) contains the date of a document, as given on a title page or in a dateline. [4.6. Title Pages] - - - (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - - - - - - - - - - - - + @@ -9963,7 +9966,7 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (link) defines an association or hypertextual link among elements or passages, of some type not more precisely specifiable by other elements. [16.1. Links] - + You must supply at least two values for @target or on @@ -9998,7 +10001,7 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (anonymous block) contains any component-level unit of text, acting as a container for phrase or inter level elements analogous to, but without the same constraints as, a paragraph. [16.3. Blocks, Segments, and Anchors] - + Abstract model violation: Lines may not contain higher-level divisions such as p or ab, unless ab is a child of figure or note, or is a descendant of floatingText. @@ -10166,7 +10169,7 @@ Suggested values include: 1] d (days); 2] h (hours); 3] min (minutes); 4] s (sec - + You must supply at least two values for @target on @@ -10312,7 +10315,7 @@ You must supply at least two values for @target on - + This element must have a @type attribute, since it is diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index 5d8dbe21e..e4cc04d35 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -360,7 +360,8 @@ att.datable.attribute.calendar = } }? sch:pattern [ - id = "test15-att.datable-calendar-calendar-constraint-rule-4" + id = + "test15-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -381,13 +382,62 @@ sch:pattern [ "\x{a}" ~ " " ] +sch:pattern [ + id = + "test15-att.datable-calendar-calendar-deprecated-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = + "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" + "\x{a}" ~ + " " + sch:let [ + name = "me_phrase" + value = "concat( 'Attribute calendar on ', local-name(.))" + ] + "\x{a}" ~ + " " + sch:assert [ + test = "'2024-11-11' cast as xs:date ge current-date()" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + sch:report [ + role = "nonfatal" + test = "@calendar" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] att.datable.attribute.period = [ a:documentation [ "supplies pointers to one or more definitions of named periods of time (typically " ns1:code [ "" ] + "s, " + ns1:code [ "" ] "s or " - ns1:code [ "" ] + ns1:code [ "" ] "s) within which the datable item is understood to have occurred." ] ] @@ -628,7 +678,7 @@ att.global.source.attribute.source = }? sch:pattern [ id = - "test15-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "test15-att.global.source-source-only_1_ODD_source-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -917,7 +967,7 @@ att.measurement.attribute.commodity = }? sch:pattern [ id = - "test15-att.measurement-att-measurement-unitRef-constraint-rule-6" + "test15-att.measurement-att-measurement-unitRef-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1023,7 +1073,7 @@ att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "test15-att.typed-subtypeTyped-constraint-rule-7" + id = "test15-att.typed-subtypeTyped-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1066,7 +1116,7 @@ att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "test15-att.pointing-targetLang-targetLang-constraint-rule-8" + id = "test15-att.pointing-targetLang-targetLang-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1187,7 +1237,7 @@ att.spanning.attribute.spanTo = }? sch:pattern [ id = - "test15-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" + "test15-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1243,7 +1293,7 @@ att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "test15-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" + "test15-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -1999,7 +2049,7 @@ p = macro.paraContent >> sch:pattern [ id = - "test15-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" + "test15-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2021,7 +2071,7 @@ p = ] >> sch:pattern [ id = - "test15-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" + "test15-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2202,7 +2252,7 @@ desc = macro.limitedContent >> sch:pattern [ id = - "test15-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" + "test15-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2290,7 +2340,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test15-rt-target-rt-target-not-span-constraint-report-8" + id = "test15-rt-target-rt-target-not-span-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2314,7 +2364,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test15-rt-from-rt-from-constraint-assert-7" + id = "test15-rt-from-rt-from-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2340,7 +2390,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test15-rt-to-rt-to-constraint-assert-8" + id = "test15-rt-to-rt-to-constraint-assert-9" "\x{a}" ~ " " sch:rule [ @@ -2696,7 +2746,7 @@ ptr = element ptr { empty >> sch:pattern [ - id = "test15-ptr-ptrAtts-constraint-report-9" + id = "test15-ptr-ptrAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2730,7 +2780,7 @@ ref = element ref { macro.paraContent >> sch:pattern [ - id = "test15-ref-refAtts-constraint-report-10" + id = "test15-ref-refAtts-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -2771,7 +2821,7 @@ ref = (model.divBottom, model.global*)*) >> sch:pattern [ id = - "test15-list-gloss-list-must-have-labels-constraint-rule-12" + "test15-list-gloss-list-must-have-labels-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -3259,7 +3309,7 @@ relatedItem = element relatedItem { ((model.biblLike | model.ptrLike)?) >> sch:pattern [ - id = "test15-relatedItem-targetorcontent1-constraint-report-11" + id = "test15-relatedItem-targetorcontent1-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3303,7 +3353,7 @@ l = ((text | model.gLike | model.phrase | model.inter | model.global)*) >> sch:pattern [ id = - "test15-l-abstractModel-structure-l-in-l-constraint-report-12" + "test15-l-abstractModel-structure-l-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3345,7 +3395,7 @@ lg = | lg)*, (model.divBottom, model.global*)*) >> sch:pattern [ - id = "test15-lg-atleast1oflggapl-constraint-assert-11" + id = "test15-lg-atleast1oflggapl-constraint-assert-12" "\x{a}" ~ " " sch:rule [ @@ -3366,7 +3416,7 @@ lg = ] >> sch:pattern [ id = - "test15-lg-abstractModel-structure-lg-in-l-constraint-report-13" + "test15-lg-abstractModel-structure-lg-in-l-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -3888,7 +3938,7 @@ quotation = element quotation { (model.pLike*) >> sch:pattern [ - id = "test15-quotation-quotationContents-constraint-report-14" + id = "test15-quotation-quotationContents-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4063,7 +4113,7 @@ tagUsage = ## specifies the full formal name of the namespace concerned. attribute name { - xsd:anyURI { pattern = "\S*" } + xsd:anyURI { pattern = "\S+" }? }, empty } @@ -4139,7 +4189,7 @@ citeStructure = attribute match { text } >> sch:pattern [ id = - "test15-citeStructure-match-citestructure-outer-match-constraint-rule-13" + "test15-citeStructure-match-citestructure-outer-match-constraint-rule-14" "\x{a}" ~ " " sch:rule [ @@ -4160,7 +4210,7 @@ citeStructure = ] >> sch:pattern [ id = - "test15-citeStructure-match-citestructure-inner-match-constraint-rule-14" + "test15-citeStructure-match-citestructure-inner-match-constraint-rule-15" "\x{a}" ~ " " sch:rule [ @@ -4599,7 +4649,7 @@ revisionDesc = ## (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] element revisionDesc { - (\list | listChange | change+), + (\list+ | listChange+ | change+), att.global.attributes, att.docStatus.attributes, empty @@ -4745,7 +4795,7 @@ floatingText = (model.divBottom, model.global*)*)?) >> sch:pattern [ id = - "test15-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" + "test15-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -4767,7 +4817,7 @@ floatingText = ] >> sch:pattern [ id = - "test15-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" + "test15-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5105,18 +5155,7 @@ docDate = element docDate { macro.phraseSeq, att.global.attributes, - - ## (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - attribute when { - xsd:date - | xsd:gYear - | xsd:gMonth - | xsd:gDay - | xsd:gYearMonth - | xsd:gMonthDay - | xsd:time - | xsd:dateTime - }?, + att.datable.attributes, empty } front = @@ -5225,7 +5264,7 @@ link = element link { empty >> sch:pattern [ - id = "test15-link-linkTargets3-constraint-assert-14" + id = "test15-link-linkTargets3-constraint-assert-15" "\x{a}" ~ " " sch:rule [ @@ -5266,7 +5305,7 @@ ab = macro.abContent >> sch:pattern [ id = - "test15-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" + "test15-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" "\x{a}" ~ " " sch:rule [ @@ -5442,7 +5481,7 @@ join = element join { ((model.descLike | model.certLike)*) >> sch:pattern [ - id = "test15-join-joinTargets3-constraint-assert-15" + id = "test15-join-joinTargets3-constraint-assert-16" "\x{a}" ~ " " sch:rule [ @@ -5590,7 +5629,7 @@ standOff = (model.standOffPart+) >> sch:pattern [ id = - "test15-standOff-nested_standOff_should_be_typed-constraint-assert-16" + "test15-standOff-nested_standOff_should_be_typed-constraint-assert-17" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test21.odd.rnc b/Test/expected-results/test21.odd.rnc index 33cd31fbd..250dfea0e 100644 --- a/Test/expected-results/test21.odd.rnc +++ b/Test/expected-results/test21.odd.rnc @@ -400,7 +400,8 @@ att.datable.attribute.calendar = } }? sch:pattern [ - id = "test21-att.datable-calendar-calendar-constraint-rule-4" + id = + "test21-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -421,6 +422,53 @@ sch:pattern [ "\x{a}" ~ " " ] +sch:pattern [ + id = + "test21-att.datable-calendar-calendar-deprecated-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = + "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" + "\x{a}" ~ + " " + sch:let [ + name = "me_phrase" + value = "concat( 'Attribute calendar on ', local-name(.))" + ] + "\x{a}" ~ + " " + sch:assert [ + test = "'2024-11-11' cast as xs:date ge current-date()" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + sch:report [ + role = "nonfatal" + test = "@calendar" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] att.datable.attribute.period = ## fournit un pointeur vers un emplacement donné définissant une période de temps nommée durant laquelle l'item concerné s'inscrit. @@ -661,7 +709,7 @@ att.global.source.attribute.source = }? sch:pattern [ id = - "test21-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "test21-att.global.source-source-only_1_ODD_source-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -712,7 +760,7 @@ att.global.attribute.xmllang = [ a:documentation [ "(langue) indique la langue du contenu de l'élément en utilisant les codes du " - ns1:a [ href = "http://www.ietf.org/rfc/rfc3066.txt" "RFC 3066" ] + ns1:a [ href = "https://www.ietf.org/rfc/rfc3066.txt" "RFC 3066" ] "\x{a}" ~ " " ] @@ -952,7 +1000,7 @@ att.measurement.attribute.commodity = }? sch:pattern [ id = - "test21-att.measurement-att-measurement-unitRef-constraint-rule-6" + "test21-att.measurement-att-measurement-unitRef-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1068,7 +1116,7 @@ att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "test21-att.typed-subtypeTyped-constraint-rule-7" + id = "test21-att.typed-subtypeTyped-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1111,7 +1159,7 @@ att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "test21-att.pointing-targetLang-targetLang-constraint-rule-8" + id = "test21-att.pointing-targetLang-targetLang-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1232,7 +1280,7 @@ att.spanning.attribute.spanTo = }? sch:pattern [ id = - "test21-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" + "test21-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1288,7 +1336,7 @@ att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "test21-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" + "test21-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2513,7 +2561,7 @@ p = }*) >> sch:pattern [ id = - "test21-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" + "test21-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2535,7 +2583,7 @@ p = ] >> sch:pattern [ id = - "test21-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" + "test21-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2738,7 +2786,7 @@ desc = macro.limitedContent >> sch:pattern [ id = - "test21-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" + "test21-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2826,7 +2874,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test21-rt-target-rt-target-not-span-constraint-report-8" + id = "test21-rt-target-rt-target-not-span-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2850,7 +2898,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test21-rt-from-rt-from-constraint-assert-7" + id = "test21-rt-from-rt-from-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2876,7 +2924,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test21-rt-to-rt-to-constraint-assert-8" + id = "test21-rt-to-rt-to-constraint-assert-9" "\x{a}" ~ " " sch:rule [ @@ -3241,7 +3289,7 @@ ptr = element ptr { empty >> sch:pattern [ - id = "test21-ptr-ptrAtts-constraint-report-9" + id = "test21-ptr-ptrAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3285,7 +3333,7 @@ ref = element ref { macro.paraContent >> sch:pattern [ - id = "test21-ref-refAtts-constraint-report-10" + id = "test21-ref-refAtts-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3326,7 +3374,7 @@ ref = (model.divBottom, model.global*)*) >> sch:pattern [ id = - "test21-list-gloss-list-must-have-labels-constraint-rule-12" + "test21-list-gloss-list-must-have-labels-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -3827,7 +3875,7 @@ relatedItem = element relatedItem { ((model.biblLike | model.ptrLike)?) >> sch:pattern [ - id = "test21-relatedItem-targetorcontent1-constraint-report-11" + id = "test21-relatedItem-targetorcontent1-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3871,7 +3919,7 @@ l = ((text | model.gLike | model.phrase | model.inter | model.global)*) >> sch:pattern [ id = - "test21-l-abstractModel-structure-l-in-l-constraint-report-12" + "test21-l-abstractModel-structure-l-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3913,7 +3961,7 @@ lg = | lg)*, (model.divBottom, model.global*)*) >> sch:pattern [ - id = "test21-lg-atleast1oflggapl-constraint-assert-11" + id = "test21-lg-atleast1oflggapl-constraint-assert-12" "\x{a}" ~ " " sch:rule [ @@ -3934,7 +3982,7 @@ lg = ] >> sch:pattern [ id = - "test21-lg-abstractModel-structure-lg-in-l-constraint-report-13" + "test21-lg-abstractModel-structure-lg-in-l-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -5078,7 +5126,7 @@ relation = element relation { (desc?) >> sch:pattern [ - id = "test21-relation-reforkeyorname-constraint-assert-12" + id = "test21-relation-reforkeyorname-constraint-assert-13" "\x{a}" ~ " " sch:rule [ @@ -5096,7 +5144,7 @@ relation = " " ] >> sch:pattern [ - id = "test21-relation-activemutual-constraint-report-14" + id = "test21-relation-activemutual-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -5114,7 +5162,7 @@ relation = " " ] >> sch:pattern [ - id = "test21-relation-activepassive-constraint-report-15" + id = "test21-relation-activepassive-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5737,7 +5785,7 @@ quotation = element quotation { (model.pLike*) >> sch:pattern [ - id = "test21-quotation-quotationContents-constraint-report-16" + id = "test21-quotation-quotationContents-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5907,7 +5955,7 @@ tagUsage = ## le nom formel complet de l'espace de noms concerné. attribute name { - xsd:anyURI { pattern = "\S*" } + xsd:anyURI { pattern = "\S+" }? }, empty } @@ -5983,7 +6031,7 @@ citeStructure = attribute match { text } >> sch:pattern [ id = - "test21-citeStructure-match-citestructure-outer-match-constraint-rule-13" + "test21-citeStructure-match-citestructure-outer-match-constraint-rule-14" "\x{a}" ~ " " sch:rule [ @@ -6004,7 +6052,7 @@ citeStructure = ] >> sch:pattern [ id = - "test21-citeStructure-match-citestructure-inner-match-constraint-rule-14" + "test21-citeStructure-match-citestructure-inner-match-constraint-rule-15" "\x{a}" ~ " " sch:rule [ @@ -6438,7 +6486,7 @@ revisionDesc = ## (descriptif des révisions) fournit un résumé de l’historique des révisions d’un fichier. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] element revisionDesc { - (\list | listChange | change+), + (\list+ | listChange+ | change+), att.global.attributes, att.docStatus.attributes, empty @@ -6561,7 +6609,7 @@ link = element link { empty >> sch:pattern [ - id = "test21-link-linkTargets3-constraint-assert-15" + id = "test21-link-linkTargets3-constraint-assert-16" "\x{a}" ~ " " sch:rule [ @@ -6602,7 +6650,7 @@ ab = macro.abContent >> sch:pattern [ id = - "test21-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" + "test21-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" "\x{a}" ~ " " sch:rule [ @@ -6804,7 +6852,7 @@ join = element join { ((model.descLike | model.certLike)*) >> sch:pattern [ - id = "test21-join-joinTargets3-constraint-assert-16" + id = "test21-join-joinTargets3-constraint-assert-17" "\x{a}" ~ " " sch:rule [ @@ -6954,7 +7002,7 @@ standOff = (model.standOffPart+) >> sch:pattern [ id = - "test21-standOff-nested_standOff_should_be_typed-constraint-assert-17" + "test21-standOff-nested_standOff_should_be_typed-constraint-assert-18" "\x{a}" ~ " " sch:rule [ @@ -7147,7 +7195,7 @@ catchwords = macro.phraseSeq >> sch:pattern [ id = - "test21-catchwords-catchword_in_msDesc-constraint-assert-18" + "test21-catchwords-catchword_in_msDesc-constraint-assert-19" "\x{a}" ~ " " sch:rule [ @@ -7175,7 +7223,7 @@ dimensions = element dimensions { ((dim | model.dimLike)*) >> sch:pattern [ - id = "test21-dimensions-duplicateDim-constraint-report-18" + id = "test21-dimensions-duplicateDim-constraint-report-19" "\x{a}" ~ " " sch:rule [ @@ -7359,7 +7407,7 @@ secFol = element secFol { macro.phraseSeq >> sch:pattern [ - id = "test21-secFol-secFol_in_msDesc-constraint-assert-19" + id = "test21-secFol-secFol_in_msDesc-constraint-assert-20" "\x{a}" ~ " " sch:rule [ @@ -7388,7 +7436,7 @@ signatures = macro.specialPara >> sch:pattern [ id = - "test21-signatures-signatures_in_msDesc-constraint-assert-20" + "test21-signatures-signatures_in_msDesc-constraint-assert-21" "\x{a}" ~ " " sch:rule [ @@ -7441,7 +7489,7 @@ msIdentifier = idno*), (msName | objectName | altIdentifier)*) >> sch:pattern [ - id = "test21-msIdentifier-msId_minimal-constraint-report-21" + id = "test21-msIdentifier-msId_minimal-constraint-report-22" "\x{a}" ~ " " sch:rule [ @@ -8081,7 +8129,7 @@ facsimile = (front?, (model.graphicLike | surface | surfaceGrp)+, back?) >> sch:pattern [ id = - "test21-facsimile-no_facsimile_text_nodes-constraint-rule-15" + "test21-facsimile-no_facsimile_text_nodes-constraint-rule-16" "\x{a}" ~ " " sch:rule [ @@ -8190,7 +8238,7 @@ path = element path { empty >> sch:pattern [ - id = "test21-path-pathmustnotbeclosed-constraint-rule-16" + id = "test21-path-pathmustnotbeclosed-constraint-rule-17" "\x{a}" ~ " " sch:rule [ @@ -8283,7 +8331,7 @@ addSpan = empty >> sch:pattern [ id = - "test21-addSpan-addSpan-requires-spanTo-constraint-assert-21" + "test21-addSpan-addSpan-requires-spanTo-constraint-assert-22" "\x{a}" ~ " " sch:rule [ @@ -8304,7 +8352,7 @@ addSpan = ] >> sch:pattern [ id = - "test21-addSpan-addSpan-requires-spanTo-fr-constraint-assert-22" + "test21-addSpan-addSpan-requires-spanTo-fr-constraint-assert-23" "\x{a}" ~ " " sch:rule [ @@ -8333,7 +8381,7 @@ addSpan = } >> sch:pattern [ id = - "test21-addSpan-spanTo-spanTo-points-to-following-constraint-rule-17" + "test21-addSpan-spanTo-spanTo-points-to-following-constraint-rule-18" "\x{a}" ~ " " sch:rule [ @@ -8376,7 +8424,7 @@ damageSpan = empty >> sch:pattern [ id = - "test21-damageSpan-damageSpan-requires-spanTo-constraint-assert-24" + "test21-damageSpan-damageSpan-requires-spanTo-constraint-assert-25" "\x{a}" ~ " " sch:rule [ @@ -8397,7 +8445,7 @@ damageSpan = ] >> sch:pattern [ id = - "test21-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-25" + "test21-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-26" "\x{a}" ~ " " sch:rule [ @@ -8427,7 +8475,7 @@ delSpan = empty >> sch:pattern [ id = - "test21-delSpan-delSpan-requires-spanTo-constraint-assert-26" + "test21-delSpan-delSpan-requires-spanTo-constraint-assert-27" "\x{a}" ~ " " sch:rule [ @@ -8448,7 +8496,7 @@ delSpan = ] >> sch:pattern [ id = - "test21-delSpan-delSpan-requires-spanTo-fr-constraint-assert-27" + "test21-delSpan-delSpan-requires-spanTo-fr-constraint-assert-28" "\x{a}" ~ " " sch:rule [ @@ -8594,7 +8642,7 @@ subst = element subst { ((add | surplus | del | model.milestoneLike)+) >> sch:pattern [ - id = "test21-subst-substContents1-constraint-assert-28" + id = "test21-subst-substContents1-constraint-assert-29" "\x{a}" ~ " " sch:rule [ @@ -8867,7 +8915,7 @@ group = (model.divBottom, model.global*)*)?) >> sch:pattern [ id = - "test21-div-abstractModel-structure-div-in-l-or-lg-constraint-report-24" + "test21-div-abstractModel-structure-div-in-l-or-lg-constraint-report-25" "\x{a}" ~ " " sch:rule [ @@ -8889,7 +8937,7 @@ group = ] >> sch:pattern [ id = - "test21-div-abstractModel-structure-div-in-ab-or-p-constraint-report-25" + "test21-div-abstractModel-structure-div-in-ab-or-p-constraint-report-26" "\x{a}" ~ " " sch:rule [ @@ -9232,18 +9280,7 @@ docDate = element docDate { macro.phraseSeq, att.global.attributes, - - ## (when) donne la date dans une forme standard, c'est-à-dire. YYYY-MM-DD. - attribute when { - xsd:date - | xsd:gYear - | xsd:gMonth - | xsd:gDay - | xsd:gYearMonth - | xsd:gMonthDay - | xsd:time - | xsd:dateTime - }?, + att.datable.attributes, empty } front = diff --git a/Test/expected-results/test30.dtd b/Test/expected-results/test30.dtd index 69eb5b67b..72a0fb25e 100644 --- a/Test/expected-results/test30.dtd +++ b/Test/expected-results/test30.dtd @@ -1779,7 +1779,7 @@ type %teidata.enumerated; #IMPLIED > + %Tatt.datable.attributes; > @@ -2469,7 +2469,7 @@ Elements] --> +name CDATA #REQUIRED > @@ -2946,7 +2946,7 @@ type %teidata.enumerated; #IMPLIED > %Tatt.transcriptional.attributes; %Tatt.dimensions.attributes; > - + " ] + "s, " + ns1:code [ "" ] "s or " - ns1:code [ "" ] + ns1:code [ "" ] "s) within which the datable item is understood to have occurred." ] ] @@ -693,7 +743,7 @@ Tatt.global.source.attribute.source = }? sch:pattern [ id = - "testbasic-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "testbasic-att.global.source-source-only_1_ODD_source-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -937,7 +987,7 @@ Tatt.measurement.attribute.commodity = }? sch:pattern [ id = - "testbasic-att.measurement-att-measurement-unitRef-constraint-rule-6" + "testbasic-att.measurement-att-measurement-unitRef-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1043,7 +1093,7 @@ Tatt.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "testbasic-att.typed-subtypeTyped-constraint-rule-7" + id = "testbasic-att.typed-subtypeTyped-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1086,7 +1136,7 @@ Tatt.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "testbasic-att.pointing-targetLang-targetLang-constraint-rule-8" + id = "testbasic-att.pointing-targetLang-targetLang-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1207,7 +1257,7 @@ Tatt.spanning.attribute.spanTo = }? sch:pattern [ id = - "testbasic-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" + "testbasic-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1263,7 +1313,7 @@ Tatt.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "testbasic-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" + "testbasic-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2428,7 +2478,7 @@ Tp = Tmacro.paraContent >> sch:pattern [ id = - "testbasic-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" + "testbasic-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2450,7 +2500,7 @@ Tp = ] >> sch:pattern [ id = - "testbasic-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" + "testbasic-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2628,7 +2678,7 @@ Tdesc = Tmacro.limitedContent >> sch:pattern [ id = - "testbasic-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" + "testbasic-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2720,7 +2770,7 @@ Trt = }?) >> sch:pattern [ id = - "testbasic-rt-target-rt-target-not-span-constraint-report-8" + "testbasic-rt-target-rt-target-not-span-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2744,7 +2794,7 @@ Trt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "testbasic-rt-from-rt-from-constraint-assert-7" + id = "testbasic-rt-from-rt-from-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2770,7 +2820,7 @@ Trt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "testbasic-rt-to-rt-to-constraint-assert-8" + id = "testbasic-rt-to-rt-to-constraint-assert-9" "\x{a}" ~ " " sch:rule [ @@ -3126,7 +3176,7 @@ Tptr = element ptr { empty >> sch:pattern [ - id = "testbasic-ptr-ptrAtts-constraint-report-9" + id = "testbasic-ptr-ptrAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3160,7 +3210,7 @@ Tref = element ref { Tmacro.paraContent >> sch:pattern [ - id = "testbasic-ref-refAtts-constraint-report-10" + id = "testbasic-ref-refAtts-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3201,7 +3251,7 @@ Tlist = (Tmodel.divBottom, Tmodel.global*)*) >> sch:pattern [ id = - "testbasic-list-gloss-list-must-have-labels-constraint-rule-12" + "testbasic-list-gloss-list-must-have-labels-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -3717,7 +3767,7 @@ TrelatedItem = ((Tmodel.biblLike | Tmodel.ptrLike)?) >> sch:pattern [ id = - "testbasic-relatedItem-targetorcontent1-constraint-report-11" + "testbasic-relatedItem-targetorcontent1-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3765,7 +3815,7 @@ Tl = | Tmodel.global)*) >> sch:pattern [ id = - "testbasic-l-abstractModel-structure-l-in-l-constraint-report-12" + "testbasic-l-abstractModel-structure-l-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3807,7 +3857,7 @@ Tlg = | Tlg)*, (Tmodel.divBottom, Tmodel.global*)*) >> sch:pattern [ - id = "testbasic-lg-atleast1oflggapl-constraint-assert-11" + id = "testbasic-lg-atleast1oflggapl-constraint-assert-12" "\x{a}" ~ " " sch:rule [ @@ -3828,7 +3878,7 @@ Tlg = ] >> sch:pattern [ id = - "testbasic-lg-abstractModel-structure-lg-in-l-constraint-report-13" + "testbasic-lg-abstractModel-structure-lg-in-l-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4351,7 +4401,7 @@ Tquotation = (Tmodel.pLike*) >> sch:pattern [ id = - "testbasic-quotation-quotationContents-constraint-report-14" + "testbasic-quotation-quotationContents-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4526,7 +4576,7 @@ Tnamespace = ## specifies the full formal name of the namespace concerned. attribute name { - xsd:anyURI { pattern = "\S*" } + xsd:anyURI { pattern = "\S+" }? }, empty } @@ -4602,7 +4652,7 @@ TciteStructure = attribute match { text } >> sch:pattern [ id = - "testbasic-citeStructure-match-citestructure-outer-match-constraint-rule-13" + "testbasic-citeStructure-match-citestructure-outer-match-constraint-rule-14" "\x{a}" ~ " " sch:rule [ @@ -4623,7 +4673,7 @@ TciteStructure = ] >> sch:pattern [ id = - "testbasic-citeStructure-match-citestructure-inner-match-constraint-rule-14" + "testbasic-citeStructure-match-citestructure-inner-match-constraint-rule-15" "\x{a}" ~ " " sch:rule [ @@ -5071,7 +5121,7 @@ TrevisionDesc = ## (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] element revisionDesc { - (Tlist | TlistChange | Tchange+), + (Tlist+ | TlistChange+ | Tchange+), Tatt.global.attributes, Tatt.docStatus.attributes, empty @@ -6090,7 +6140,7 @@ Trelation = element relation { (Tdesc?) >> sch:pattern [ - id = "testbasic-relation-reforkeyorname-constraint-assert-14" + id = "testbasic-relation-reforkeyorname-constraint-assert-15" "\x{a}" ~ " " sch:rule [ @@ -6108,7 +6158,7 @@ Trelation = " " ] >> sch:pattern [ - id = "testbasic-relation-activemutual-constraint-report-15" + id = "testbasic-relation-activemutual-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -6126,7 +6176,7 @@ Trelation = " " ] >> sch:pattern [ - id = "testbasic-relation-activepassive-constraint-report-16" + id = "testbasic-relation-activepassive-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -6476,7 +6526,7 @@ Tfacsimile = (Tfront?, (Tmodel.graphicLike | Tsurface | TsurfaceGrp)+, Tback?) >> sch:pattern [ id = - "testbasic-facsimile-no_facsimile_text_nodes-constraint-rule-15" + "testbasic-facsimile-no_facsimile_text_nodes-constraint-rule-16" "\x{a}" ~ " " sch:rule [ @@ -6586,7 +6636,7 @@ Tpath = element path { empty >> sch:pattern [ - id = "testbasic-path-pathmustnotbeclosed-constraint-rule-16" + id = "testbasic-path-pathmustnotbeclosed-constraint-rule-17" "\x{a}" ~ " " sch:rule [ @@ -6679,7 +6729,7 @@ TaddSpan = empty >> sch:pattern [ id = - "testbasic-addSpan-addSpan-requires-spanTo-constraint-assert-15" + "testbasic-addSpan-addSpan-requires-spanTo-constraint-assert-16" "\x{a}" ~ " " sch:rule [ @@ -6700,7 +6750,7 @@ TaddSpan = ] >> sch:pattern [ id = - "testbasic-addSpan-addSpan-requires-spanTo-fr-constraint-assert-16" + "testbasic-addSpan-addSpan-requires-spanTo-fr-constraint-assert-17" "\x{a}" ~ " " sch:rule [ @@ -6742,7 +6792,7 @@ TdamageSpan = empty >> sch:pattern [ id = - "testbasic-damageSpan-damageSpan-requires-spanTo-constraint-assert-17" + "testbasic-damageSpan-damageSpan-requires-spanTo-constraint-assert-18" "\x{a}" ~ " " sch:rule [ @@ -6763,7 +6813,7 @@ TdamageSpan = ] >> sch:pattern [ id = - "testbasic-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-18" + "testbasic-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-19" "\x{a}" ~ " " sch:rule [ @@ -6793,7 +6843,7 @@ TdelSpan = empty >> sch:pattern [ id = - "testbasic-delSpan-delSpan-requires-spanTo-constraint-assert-19" + "testbasic-delSpan-delSpan-requires-spanTo-constraint-assert-20" "\x{a}" ~ " " sch:rule [ @@ -6814,7 +6864,7 @@ TdelSpan = ] >> sch:pattern [ id = - "testbasic-delSpan-delSpan-requires-spanTo-fr-constraint-assert-20" + "testbasic-delSpan-delSpan-requires-spanTo-fr-constraint-assert-21" "\x{a}" ~ " " sch:rule [ @@ -6961,7 +7011,7 @@ Tsubst = element subst { ((Tadd | Tsurplus | Tdel | Tmodel.milestoneLike)+) >> sch:pattern [ - id = "testbasic-subst-substContents1-constraint-assert-21" + id = "testbasic-subst-substContents1-constraint-assert-22" "\x{a}" ~ " " sch:rule [ @@ -7257,7 +7307,7 @@ Tlink = element link { empty >> sch:pattern [ - id = "testbasic-link-linkTargets3-constraint-assert-22" + id = "testbasic-link-linkTargets3-constraint-assert-23" "\x{a}" ~ " " sch:rule [ @@ -7298,7 +7348,7 @@ Tab = Tmacro.abContent >> sch:pattern [ id = - "testbasic-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-19" + "testbasic-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-20" "\x{a}" ~ " " sch:rule [ @@ -7474,7 +7524,7 @@ Tjoin = element join { ((Tmodel.descLike | Tmodel.certLike)*) >> sch:pattern [ - id = "testbasic-join-joinTargets3-constraint-assert-23" + id = "testbasic-join-joinTargets3-constraint-assert-24" "\x{a}" ~ " " sch:rule [ @@ -7622,7 +7672,7 @@ TstandOff = (Tmodel.standOffPart+) >> sch:pattern [ id = - "testbasic-standOff-nested_standOff_should_be_typed-constraint-assert-24" + "testbasic-standOff-nested_standOff_should_be_typed-constraint-assert-25" "\x{a}" ~ " " sch:rule [ @@ -7870,7 +7920,7 @@ Tdiv = (Tmodel.divBottom, Tmodel.global*)*)?) >> sch:pattern [ id = - "testbasic-div-abstractModel-structure-div-in-l-or-lg-constraint-report-20" + "testbasic-div-abstractModel-structure-div-in-l-or-lg-constraint-report-21" "\x{a}" ~ " " sch:rule [ @@ -7892,7 +7942,7 @@ Tdiv = ] >> sch:pattern [ id = - "testbasic-div-abstractModel-structure-div-in-ab-or-p-constraint-report-21" + "testbasic-div-abstractModel-structure-div-in-ab-or-p-constraint-report-22" "\x{a}" ~ " " sch:rule [ @@ -8143,18 +8193,7 @@ TdocDate = element docDate { Tmacro.phraseSeq, Tatt.global.attributes, - - ## (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - attribute when { - xsd:date - | xsd:gYear - | xsd:gMonth - | xsd:gDay - | xsd:gYearMonth - | xsd:gMonthDay - | xsd:time - | xsd:dateTime - }?, + Tatt.datable.attributes, empty } Tfront = @@ -8301,7 +8340,7 @@ Tplatypus = ## attribute bill { "duck" }?) >> sch:pattern [ - id = "testbasic-platypus-bill-silly-test-constraint-report-23" + id = "testbasic-platypus-bill-silly-test-constraint-report-24" "\x{a}" ~ " " sch:rule [ @@ -8334,7 +8373,7 @@ TMenu = } start = TTEI | Tdiv sch:pattern [ - id = "testbasic-outerconstraint-constraint-rule-17" + id = "testbasic-outerconstraint-constraint-rule-18" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test33.rnc b/Test/expected-results/test33.rnc index e7a452db1..efbad019b 100644 --- a/Test/expected-results/test33.rnc +++ b/Test/expected-results/test33.rnc @@ -366,7 +366,8 @@ tei_att.datable.attribute.calendar = } }? sch:pattern [ - id = "foo-att.datable-calendar-calendar-constraint-rule-4" + id = + "foo-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -387,13 +388,61 @@ sch:pattern [ "\x{a}" ~ " " ] +sch:pattern [ + id = "foo-att.datable-calendar-calendar-deprecated-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = + "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" + "\x{a}" ~ + " " + sch:let [ + name = "me_phrase" + value = "concat( 'Attribute calendar on ', local-name(.))" + ] + "\x{a}" ~ + " " + sch:assert [ + test = "'2024-11-11' cast as xs:date ge current-date()" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + sch:report [ + role = "nonfatal" + test = "@calendar" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.datable.attribute.period = [ a:documentation [ "supplies pointers to one or more definitions of named periods of time (typically " ns1:code [ "" ] + "s, " + ns1:code [ "" ] "s or " - ns1:code [ "" ] + ns1:code [ "" ] "s) within which the datable item is understood to have occurred." ] ] @@ -636,7 +685,7 @@ tei_att.global.source.attribute.source = }? sch:pattern [ id = - "foo-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -925,7 +974,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-6" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1031,7 +1080,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-7" + id = "foo-att.typed-subtypeTyped-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1074,7 +1123,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-8" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1195,7 +1244,7 @@ tei_att.spanning.attribute.spanTo = }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1252,7 +1301,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2145,7 +2194,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2167,7 +2216,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2356,7 +2405,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2450,7 +2499,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-8" + id = "foo-rt-target-rt-target-not-span-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2474,7 +2523,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-from-rt-from-constraint-assert-7" + id = "foo-rt-from-rt-from-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2500,7 +2549,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-to-rt-to-constraint-assert-8" + id = "foo-rt-to-rt-to-constraint-assert-9" "\x{a}" ~ " " sch:rule [ @@ -2868,7 +2917,7 @@ tei_ptr = element tei:ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-9" + id = "foo-ptr-ptrAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2902,7 +2951,7 @@ tei_ref = element tei:ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-10" + id = "foo-ref-refAtts-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -2942,7 +2991,7 @@ tei_list = (tei_label, tei_model.global*, tei_item, tei_model.global*)+)), (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-list-gloss-list-must-have-labels-constraint-rule-12" + id = "foo-list-gloss-list-must-have-labels-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -3459,7 +3508,7 @@ tei_relatedItem = element tei:relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-11" + id = "foo-relatedItem-targetorcontent1-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3507,7 +3556,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-12" + "foo-l-abstractModel-structure-l-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3549,7 +3598,7 @@ tei_lg = | tei_lg)*, (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-lg-atleast1oflggapl-constraint-assert-11" + id = "foo-lg-atleast1oflggapl-constraint-assert-12" "\x{a}" ~ " " sch:rule [ @@ -3570,7 +3619,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4105,7 +4154,7 @@ tei_quotation = element tei:quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-14" + id = "foo-quotation-quotationContents-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4280,7 +4329,7 @@ tei_namespace = ## specifies the full formal name of the namespace concerned. attribute name { - xsd:anyURI { pattern = "\S*" } + xsd:anyURI { pattern = "\S+" }? }, empty } @@ -4359,7 +4408,7 @@ tei_citeStructure = attribute match { text } >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-outer-match-constraint-rule-13" + "foo-citeStructure-match-citestructure-outer-match-constraint-rule-14" "\x{a}" ~ " " sch:rule [ @@ -4380,7 +4429,7 @@ tei_citeStructure = ] >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-inner-match-constraint-rule-14" + "foo-citeStructure-match-citestructure-inner-match-constraint-rule-15" "\x{a}" ~ " " sch:rule [ @@ -4827,7 +4876,7 @@ tei_revisionDesc = ## (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] element tei:revisionDesc { - (tei_list | tei_listChange | tei_change+), + (tei_list+ | tei_listChange+ | tei_change+), tei_att.global.attributes, tei_att.docStatus.attributes, empty @@ -4979,7 +5028,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5001,7 +5050,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5355,18 +5404,7 @@ tei_docDate = element tei:docDate { tei_macro.phraseSeq, tei_att.global.attributes, - - ## (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - attribute when { - xsd:date - | xsd:gYear - | xsd:gMonth - | xsd:gDay - | xsd:gYearMonth - | xsd:gMonthDay - | xsd:time - | xsd:dateTime - }?, + tei_att.datable.attributes, empty } tei_front = @@ -5481,7 +5519,7 @@ tei_link = element tei:link { empty >> sch:pattern [ - id = "foo-link-linkTargets3-constraint-assert-14" + id = "foo-link-linkTargets3-constraint-assert-15" "\x{a}" ~ " " sch:rule [ @@ -5522,7 +5560,7 @@ tei_ab = tei_macro.abContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" + "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" "\x{a}" ~ " " sch:rule [ @@ -5698,7 +5736,7 @@ tei_join = element tei:join { ((tei_model.descLike | tei_model.certLike)*) >> sch:pattern [ - id = "foo-join-joinTargets3-constraint-assert-15" + id = "foo-join-joinTargets3-constraint-assert-16" "\x{a}" ~ " " sch:rule [ @@ -5846,7 +5884,7 @@ tei_standOff = (tei_model.standOffPart+) >> sch:pattern [ id = - "foo-standOff-nested_standOff_should_be_typed-constraint-assert-16" + "foo-standOff-nested_standOff_should_be_typed-constraint-assert-17" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test34.combined.json b/Test/expected-results/test34.combined.json index c16e11fdb..896d04c8a 100644 --- a/Test/expected-results/test34.combined.json +++ b/Test/expected-results/test34.combined.json @@ -4408,30 +4408,12 @@ "model.divWrapper", "model.pLike.front" ], "atts" : - [ "att.global" ], + [ "att.global", + "att.datable" ], "unknown" : [ ] }, "attributes" : - [ - { "onElement" : true, - "ident" : "when", - "mode" : "add", - "ns" : "", - "usage" : "opt", - "desc" : - [ "gives the value of the date in standard form, i.e. YYYY-MM-DD.<\/desc>" ], - "shortDesc" : "(when) gives the value of the date in standard form, i.e. YYYY-MM-DD.", - "gloss" : - [ "when<\/gloss>" ], - "altIdent" : - [ ], - "valDesc" : - [ ], - "datatype" : - { "min" : "1", - "max" : "1", - "dataRef" : - { "key" : "teidata.temporal.w3c" } } } ], + [ ], "content" : [ { "type" : "macroRef", @@ -7614,7 +7596,7 @@ "valDesc" : [ ], "datatype" : - { "min" : "1", + { "min" : "0", "max" : "1", "dataRef" : { "key" : "teidata.namespace" } } } ], @@ -13739,8 +13721,8 @@ "ns" : "", "usage" : "opt", "desc" : - [ "supplies pointers to one or more definitions of \n named periods of time (typically category<\/gi>s or calendar<\/gi>s) within which the datable item is understood to have occurred.<\/desc>" ], - "shortDesc" : "supplies pointers to one or more definitions of \n named periods of time (typically categorys or calendars) within which the datable item is understood to have occurred.", + [ "supplies pointers to one or more definitions of \n named periods of time (typically category<\/gi>s, date<\/gi>s or event<\/gi>s) within which the datable item is understood to have occurred.<\/desc>" ], + "shortDesc" : "supplies pointers to one or more definitions of \n named periods of time (typically categorys, dates or events) within which the datable item is understood to have occurred.", "gloss" : [ ], "altIdent" : @@ -17427,7 +17409,7 @@ [ { "type" : "dataRef", "name" : "anyURI", - "restriction" : "\\S*" } ] }, + "restriction" : "\\S+" } ] }, { "ident" : "teidata.numeric", "ns" : "http:\/\/foo.foo\/foo", diff --git a/Test/expected-results/test34.rnc b/Test/expected-results/test34.rnc index 2749ee8b6..4aee7c558 100644 --- a/Test/expected-results/test34.rnc +++ b/Test/expected-results/test34.rnc @@ -367,7 +367,8 @@ tei_att.datable.attribute.calendar = } }? sch:pattern [ - id = "foo-att.datable-calendar-calendar-constraint-rule-4" + id = + "foo-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -388,13 +389,61 @@ sch:pattern [ "\x{a}" ~ " " ] +sch:pattern [ + id = "foo-att.datable-calendar-calendar-deprecated-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = + "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" + "\x{a}" ~ + " " + sch:let [ + name = "me_phrase" + value = "concat( 'Attribute calendar on ', local-name(.))" + ] + "\x{a}" ~ + " " + sch:assert [ + test = "'2024-11-11' cast as xs:date ge current-date()" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + sch:report [ + role = "nonfatal" + test = "@calendar" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.datable.attribute.period = [ a:documentation [ "supplies pointers to one or more definitions of named periods of time (typically " ns1:code [ "" ] + "s, " + ns1:code [ "" ] "s or " - ns1:code [ "" ] + ns1:code [ "" ] "s) within which the datable item is understood to have occurred." ] ] @@ -637,7 +686,7 @@ tei_att.global.source.attribute.source = }? sch:pattern [ id = - "foo-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -926,7 +975,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-6" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1032,7 +1081,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-7" + id = "foo-att.typed-subtypeTyped-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1075,7 +1124,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-8" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1196,7 +1245,7 @@ tei_att.spanning.attribute.spanTo = }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1253,7 +1302,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2150,7 +2199,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2172,7 +2221,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2361,7 +2410,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2455,7 +2504,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-8" + id = "foo-rt-target-rt-target-not-span-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2479,7 +2528,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-from-rt-from-constraint-assert-7" + id = "foo-rt-from-rt-from-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2505,7 +2554,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-to-rt-to-constraint-assert-8" + id = "foo-rt-to-rt-to-constraint-assert-9" "\x{a}" ~ " " sch:rule [ @@ -2873,7 +2922,7 @@ tei_ptr = element ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-9" + id = "foo-ptr-ptrAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2907,7 +2956,7 @@ tei_ref = element ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-10" + id = "foo-ref-refAtts-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -2947,7 +2996,7 @@ tei_list = (tei_label, tei_model.global*, tei_item, tei_model.global*)+)), (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-list-gloss-list-must-have-labels-constraint-rule-12" + id = "foo-list-gloss-list-must-have-labels-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -3464,7 +3513,7 @@ tei_relatedItem = element relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-11" + id = "foo-relatedItem-targetorcontent1-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3512,7 +3561,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-12" + "foo-l-abstractModel-structure-l-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3554,7 +3603,7 @@ tei_lg = | tei_lg)*, (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-lg-atleast1oflggapl-constraint-assert-11" + id = "foo-lg-atleast1oflggapl-constraint-assert-12" "\x{a}" ~ " " sch:rule [ @@ -3575,7 +3624,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4110,7 +4159,7 @@ tei_quotation = element quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-14" + id = "foo-quotation-quotationContents-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4285,7 +4334,7 @@ tei_namespace = ## specifies the full formal name of the namespace concerned. attribute name { - xsd:anyURI { pattern = "\S*" } + xsd:anyURI { pattern = "\S+" }? }, empty } @@ -4364,7 +4413,7 @@ tei_citeStructure = attribute match { text } >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-outer-match-constraint-rule-13" + "foo-citeStructure-match-citestructure-outer-match-constraint-rule-14" "\x{a}" ~ " " sch:rule [ @@ -4385,7 +4434,7 @@ tei_citeStructure = ] >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-inner-match-constraint-rule-14" + "foo-citeStructure-match-citestructure-inner-match-constraint-rule-15" "\x{a}" ~ " " sch:rule [ @@ -4830,7 +4879,7 @@ tei_revisionDesc = ## (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] element revisionDesc { - (tei_list | tei_listChange | tei_change+), + (tei_list+ | tei_listChange+ | tei_change+), tei_att.global.attributes, tei_att.docStatus.attributes, empty @@ -4982,7 +5031,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5004,7 +5053,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5358,18 +5407,7 @@ tei_docDate = element docDate { tei_macro.phraseSeq, tei_att.global.attributes, - - ## (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - attribute when { - xsd:date - | xsd:gYear - | xsd:gMonth - | xsd:gDay - | xsd:gYearMonth - | xsd:gMonthDay - | xsd:time - | xsd:dateTime - }?, + tei_att.datable.attributes, empty } tei_front = @@ -5484,7 +5522,7 @@ tei_link = element link { empty >> sch:pattern [ - id = "foo-link-linkTargets3-constraint-assert-14" + id = "foo-link-linkTargets3-constraint-assert-15" "\x{a}" ~ " " sch:rule [ @@ -5525,7 +5563,7 @@ tei_ab = tei_macro.abContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" + "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" "\x{a}" ~ " " sch:rule [ @@ -5701,7 +5739,7 @@ tei_join = element join { ((tei_model.descLike | tei_model.certLike)*) >> sch:pattern [ - id = "foo-join-joinTargets3-constraint-assert-15" + id = "foo-join-joinTargets3-constraint-assert-16" "\x{a}" ~ " " sch:rule [ @@ -5849,7 +5887,7 @@ tei_standOff = (tei_model.standOffPart+) >> sch:pattern [ id = - "foo-standOff-nested_standOff_should_be_typed-constraint-assert-16" + "foo-standOff-nested_standOff_should_be_typed-constraint-assert-17" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test35.rnc b/Test/expected-results/test35.rnc index cfba7812e..05a88b255 100644 --- a/Test/expected-results/test35.rnc +++ b/Test/expected-results/test35.rnc @@ -367,7 +367,8 @@ tei_att.datable.attribute.calendar = } }? sch:pattern [ - id = "foo-att.datable-calendar-calendar-constraint-rule-4" + id = + "foo-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -388,13 +389,61 @@ sch:pattern [ "\x{a}" ~ " " ] +sch:pattern [ + id = "foo-att.datable-calendar-calendar-deprecated-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = + "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" + "\x{a}" ~ + " " + sch:let [ + name = "me_phrase" + value = "concat( 'Attribute calendar on ', local-name(.))" + ] + "\x{a}" ~ + " " + sch:assert [ + test = "'2024-11-11' cast as xs:date ge current-date()" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + sch:report [ + role = "nonfatal" + test = "@calendar" + "\x{a}" ~ + " " + sch:value-of [ + select = + "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.datable.attribute.period = [ a:documentation [ "supplies pointers to one or more definitions of named periods of time (typically " ns1:code [ "" ] + "s, " + ns1:code [ "" ] "s or " - ns1:code [ "" ] + ns1:code [ "" ] "s) within which the datable item is understood to have occurred." ] ] @@ -637,7 +686,7 @@ tei_att.global.source.attribute.source = }? sch:pattern [ id = - "foo-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -926,7 +975,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-6" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1032,7 +1081,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-7" + id = "foo-att.typed-subtypeTyped-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1075,7 +1124,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-8" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1196,7 +1245,7 @@ tei_att.spanning.attribute.spanTo = }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1253,7 +1302,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2145,7 +2194,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2167,7 +2216,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2356,7 +2405,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2450,7 +2499,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-8" + id = "foo-rt-target-rt-target-not-span-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2474,7 +2523,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-from-rt-from-constraint-assert-7" + id = "foo-rt-from-rt-from-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2500,7 +2549,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-to-rt-to-constraint-assert-8" + id = "foo-rt-to-rt-to-constraint-assert-9" "\x{a}" ~ " " sch:rule [ @@ -2868,7 +2917,7 @@ tei_ptr = element tei:ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-9" + id = "foo-ptr-ptrAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2902,7 +2951,7 @@ tei_ref = element tei:ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-10" + id = "foo-ref-refAtts-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -2942,7 +2991,7 @@ tei_list = (tei_label, tei_model.global*, tei_item, tei_model.global*)+)), (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-list-gloss-list-must-have-labels-constraint-rule-12" + id = "foo-list-gloss-list-must-have-labels-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -3459,7 +3508,7 @@ tei_relatedItem = element tei:relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-11" + id = "foo-relatedItem-targetorcontent1-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3507,7 +3556,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-12" + "foo-l-abstractModel-structure-l-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3549,7 +3598,7 @@ tei_lg = | tei_lg)*, (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-lg-atleast1oflggapl-constraint-assert-11" + id = "foo-lg-atleast1oflggapl-constraint-assert-12" "\x{a}" ~ " " sch:rule [ @@ -3570,7 +3619,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4086,7 +4135,7 @@ tei_quotation = element tei:quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-14" + id = "foo-quotation-quotationContents-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4261,7 +4310,7 @@ tei_namespace = ## specifies the full formal name of the namespace concerned. attribute name { - xsd:anyURI { pattern = "\S*" } + xsd:anyURI { pattern = "\S+" }? }, empty } @@ -4340,7 +4389,7 @@ tei_citeStructure = attribute match { text } >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-outer-match-constraint-rule-13" + "foo-citeStructure-match-citestructure-outer-match-constraint-rule-14" "\x{a}" ~ " " sch:rule [ @@ -4361,7 +4410,7 @@ tei_citeStructure = ] >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-inner-match-constraint-rule-14" + "foo-citeStructure-match-citestructure-inner-match-constraint-rule-15" "\x{a}" ~ " " sch:rule [ @@ -4808,7 +4857,7 @@ tei_revisionDesc = ## (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] element tei:revisionDesc { - (tei_list | tei_listChange | tei_change+), + (tei_list+ | tei_listChange+ | tei_change+), tei_att.global.attributes, tei_att.docStatus.attributes, empty @@ -4960,7 +5009,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -4982,7 +5031,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5336,18 +5385,7 @@ tei_docDate = element tei:docDate { tei_macro.phraseSeq, tei_att.global.attributes, - - ## (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - attribute when { - xsd:date - | xsd:gYear - | xsd:gMonth - | xsd:gDay - | xsd:gYearMonth - | xsd:gMonthDay - | xsd:time - | xsd:dateTime - }?, + tei_att.datable.attributes, empty } tei_front = @@ -5462,7 +5500,7 @@ tei_link = element tei:link { empty >> sch:pattern [ - id = "foo-link-linkTargets3-constraint-assert-14" + id = "foo-link-linkTargets3-constraint-assert-15" "\x{a}" ~ " " sch:rule [ @@ -5503,7 +5541,7 @@ tei_ab = tei_macro.abContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" + "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" "\x{a}" ~ " " sch:rule [ @@ -5679,7 +5717,7 @@ tei_join = element tei:join { ((tei_model.descLike | tei_model.certLike)*) >> sch:pattern [ - id = "foo-join-joinTargets3-constraint-assert-15" + id = "foo-join-joinTargets3-constraint-assert-16" "\x{a}" ~ " " sch:rule [ @@ -5827,7 +5865,7 @@ tei_standOff = (tei_model.standOffPart+) >> sch:pattern [ id = - "foo-standOff-nested_standOff_should_be_typed-constraint-assert-16" + "foo-standOff-nested_standOff_should_be_typed-constraint-assert-17" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/testdrama.compiled.xml b/Test/expected-results/testdrama.compiled.xml index 9dd6f59b2..267d6ce23 100644 --- a/Test/expected-results/testdrama.compiled.xml +++ b/Test/expected-results/testdrama.compiled.xml @@ -146,7 +146,7 @@

    In the following example from Hamlet, speeches (sp) in the body of the play - are linked to castItem elements in the castList using the who + are linked to role elements in the castList using the who attribute.

    @@ -901,6 +901,8 @@ Elements
    + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. @@ -916,7 +918,7 @@ Elements
    - + @calendar indicates one or more @@ -925,6 +927,19 @@ Elements
    + + + + + + + + + + + + + He was born on Feb. 22, 1732 (Feb. 11, 1731/32, O.S.). @@ -960,7 +975,7 @@ Elements supplies pointers to one or more definitions of - named periods of time (typically categorys or calendars) within which the datable item is understood to have occurred. + named periods of time (typically categorys, dates or events) within which the datable item is understood to have occurred.
    시간을 명시할 수 있는 항목이 일어난 시간의 기간명을 정의하는 특정 위치로의 포인터를 제공한다. suministra un indicador a una localización @@ -2199,17 +2214,17 @@ the TEI header.

    according to BCP 47.
    BCP 47에 따라 생성된 tag를 사용하는 요소 내용의 언어를 나타낸다. - 使用RFC3066的代碼,指出該元素內容的使用語言 + 使用RFC3066的代碼,指出該元素內容的使用語言 BCP 47に従って生成されたタグを用いて要素の内容の言語を示す。 indique la langue du contenu de l'élément en - utilisant les codes du RFC 3066 + utilisant les codes du RFC 3066 indica la lengua del contenido del elemento - utilizando los códigos extraídos de RFC + utilizando los códigos extraídos de RFC 3066 indica la lingua del contenuto dell'elemento - utilizzando i codici tratti da RFC + utilizzando i codici tratti da RFC 3066 @@ -2231,7 +2246,7 @@ the TEI header.

    and that a single TEI document may contain texts in many languages.

    Only attributes with free text values (rare in these guidelines) will be in the scope of xml:lang.

    The authoritative list of registered language subtags is maintained by IANA and - is available at . + is available at . For a good general overview of the construction of language tags, see , and for a practical step-by-step guide, see @@ -2259,7 +2274,7 @@ the TEI header.

    Si no se especifica ningún valor para xml:lang, el valor de xml:lang para el elemento inmediatamente englobado, se hereda; por esta razón, un valor se debe especificar siempre en el elemento exterior (TEI).

    -

    xml:lang の値は、直接の親要素、そのまた親要素からというように、文書の上位階層から継承されてくる。できるだけ高い適切な階層に xml:lang を指定するのが一般には望ましいが、teiHeader には関連するリソース要素と異なるデフォルト値が必要となったり、一つのTEI文書が多くの言語のテキストを含みうることには注意されたい。登録された言語タグの正式なリストはIANAが管理しており、 から確認できる。言語タグの構造についての良い概説は を、手順を追った実用的なガイドは を参照されたい。利用する値は、BCP 47 に準拠しなければならない。もし値が私用コード(x- から始まったり -x- を含む)ならば、その ident 属性と一致する値を持つ language 要素をTEIヘッダ内に追加して内容を説明すべきである。この説明は私用コード以外にも任意で追加できるが、IETFInternet Engineering Task Force による定義と整合していなければならない。

    +

    xml:lang の値は、直接の親要素、そのまた親要素からというように、文書の上位階層から継承されてくる。できるだけ高い適切な階層に xml:lang を指定するのが一般には望ましいが、teiHeader には関連するリソース要素と異なるデフォルト値が必要となったり、一つのTEI文書が多くの言語のテキストを含みうることには注意されたい。登録された言語タグの正式なリストはIANAが管理しており、 から確認できる。言語タグの構造についての良い概説は を、手順を追った実用的なガイドは を参照されたい。利用する値は、BCP 47 に準拠しなければならない。もし値が私用コード(x- から始まったり -x- を含む)ならば、その ident 属性と一致する値を持つ language 要素をTEIヘッダ内に追加して内容を説明すべきである。この説明は私用コード以外にも任意で追加できるが、IETFInternet Engineering Task Force による定義と整合していなければならない。

    @@ -2503,8 +2518,8 @@ ressource informatique selon une taxinomie normalisée. using a value taken from a standard taxonomy. At present only a single taxonomy is supported, the Multipurpose Internet Mail Extensions (MIME) Media Type system. This typology of media types is - defined by the Internet Engineering Task Force in RFC 2046. The - list of + defined by the Internet Engineering Task Force in RFC 2046. The + list of types is maintained by the Internet Assigned Numbers Authority (IANA). The mimeType attribute must have a value taken from this list.

    @@ -2513,17 +2528,17 @@ ressource informatique selon une taxinomie normalisée. informatique, en général disponible sur internet, selon les taxinomies normalisées. Actuellement une seule taxinomie est reconnue : le système "Multipurpose Internet Mail Extensions Media Type". Ce système de typologie des types de média est définie - par l'Internet Engineering Task Force dansRFC 2046. La liste des types + par l'Internet Engineering Task Force dansRFC 2046. La liste des types est maintenue par l'Internet Assigned Numbers Authority.

    Esta clase de atributo proporciona los atributos para describir un recurso del ordenador, típicamente disponibles en Internet, según las taxonomías estándar. Solamente una única taxonomía se utiliza actualmente, el sistema Multipurpose Internet Mail Extensions - Media Type. Este sistema de tipología de los tipos de media es definido por el Internet Engineering Task Force RFC 2046. - . La lista de tipos es mantenida por el Internet Assigned Numbers Authority.

    + Media Type. Este sistema de tipología de los tipos de media es definido por el Internet Engineering Task Force RFC 2046. + . La lista de tipos es mantenida por el Internet Assigned Numbers Authority.

    -当該属性クラスは、コンピューターリソースを示すためのもので、通常、インターネット上にあるリソースを標準的な用語で示す。現時点では、MIME(Multipurpose Internet Mail Extensions)タイプのみが標準的な用語として使用可能である。このMIMEタイプについては、IETF(Internet Engineering Task Force)のRFC 2046で規定されている。使用できるタイプ名のリストの管理は、IANA(Internet Assigned Numbers Authority)によって行われている。mimeType属性は上記のタイプ名リストにより定義された値を含んでいなくてはならない。 +当該属性クラスは、コンピューターリソースを示すためのもので、通常、インターネット上にあるリソースを標準的な用語で示す。現時点では、MIME(Multipurpose Internet Mail Extensions)タイプのみが標準的な用語として使用可能である。このMIMEタイプについては、IETF(Internet Engineering Task Force)のRFC 2046で規定されている。使用できるタイプ名のリストの管理は、IANA(Internet Assigned Numbers Authority)によって行われている。mimeType属性は上記のタイプ名リストにより定義された値を含んでいなくてはならない。

    @@ -6180,13 +6195,13 @@ value. The IANA-registered code for the language. This is almost always the same as the ISO 639 2-letter language code if there is one. The list of available registered language - subtags can be found at . It is recommended + subtags can be found at . It is recommended that this code be written in lower case. The ISO 15924 code for the script. These codes consist of 4 letters, and it is recommended they be written with an initial capital, the other three letters in lower case. The canonical list of codes is maintained by the Unicode Consortium, and is - available at . The IETF + available at . The IETF recommends this code be omitted unless it is necessary to make a distinction you need. Either an ISO 3166 country code or a UN M.49 region code that is registered with IANA @@ -6211,7 +6226,7 @@ value. language element must be present in the TEI header.

    -

    There are two exceptions to the above format. First, there are language tags in the IANA registry that +

    There are two exceptions to the above format. First, there are language tags in the IANA registry that do not match the above syntax, but are present because they have been grandfathered from previous specifications.

    Second, an entire language tag can consist of only a private use subtag. These tags start @@ -6262,11 +6277,11 @@ value. variantとextensionは複数回、他は1回のみ出現出現する。この下位タグ のグループは繰り返し可能である。 IANAの言語コード。この殆どは、該当言語が既にあれば、ISO 639の2文字 (以下、この場合の文字はラテン文字)言語コードと同じである。利用可能 - な言語下位タグのリストは + な言語下位タグのリストは にある。言語コードは、小文字で書かれることが推奨されている。 ISO 15924による文字を示すコード。4文字から構成され、冒頭文字は大文 字で、残り3文字は小文字で書かれることが推奨されている。このコード - は、ユニコードコンソーシアムで管理され、 か + は、ユニコードコンソーシアムで管理され、 か ら入手することができる。IETFでは、不要であれば当該コードを省略する ことを推奨している。 ISO 3166またはUN M.49による国または地域コード。このコードはIANAに 登録されている(但し全てではない。例えば、UNコードには経済圏や、 ISO @@ -6285,7 +6300,7 @@ value.

    -

    上記記述形式には、2つの例外がある。ひとつは、ここにある言語タグは、 +

    上記記述形式には、2つの例外がある。ひとつは、ここにある言語タグは、 IANAにある統語規則に違反しているものがある。 これはIANAでは昔の規定を継承しているからであ る。

    ふたつめは、言語タグを、下位タグprivateだけで構成することができる ことである。x-で始まるタグの内容は、IETFにある規定に も当該TEIガイドラインにある規定にも従う必要はない。他の言語タグと 同様に、このタグを使用した場合には、TEIヘダーにある要素 @@ -6338,13 +6353,13 @@ value. Code de langue enregistré par l'IANA. Il est presque toujours identique au code de langue alphabétique ISO 639-2, s'il y en a un. La liste des sous-étiquettes de langue - enregistrées est disponible à : . Il est recommandé + enregistrées est disponible à : . Il est recommandé d'écrire ce code en minuscules. Code ISO 15924 pour l'écriture. Ces codes sont constitués de 4 lettres, et il est recommandé d'écrire la première lettre en majuscule, les trois autres en minuscules. La liste canonique des codes est maintenue par le Consortium Unicode, et elle est disponible - à : . L'IETF recommande + à : . L'IETF recommande d'omettre ce code, sauf s'il est nécessaire pour établir une distinction. Soit un code de pays ISO 3166, soit un code de région UN M.49 enregistré par @@ -6372,7 +6387,7 @@ value.

    Il y a deux exceptions au format ci-dessus. Premièrement, il y a des codes de langue dans - le registre de l'IANA + le registre de l'IANA qui ne correspondent pas à la syntaxe ci-dessus, mais qui sont présents car ils ont été hérités de spécifications antérieures.

    En second lieu, une étiquette complète de langue peut consister seulement en une sous-étiquette d'usage privé. Ces étiquettes commencent par x- ; il n'est pas @@ -6439,21 +6454,21 @@ value. indicare i nomi degli spazi in XML come stabilito dalle raccomandazioni tecniche del W3C per gli spazi dei nomi in XML. - + -

    The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier + <p>The range of syntactically valid values is defined by <ref target="https://www.ietf.org/rfc/rfc3986.txt">RFC 3986 <title>Uniform Resource Identifier (URI): Generic Syntax

    -

    当該データ値は、RFC 2396 Uniform Resource + <p> 当該データ値は、<ref target="https://www.ietf.org/rfc/rfc2396.txt">RFC 2396 <title>Uniform Resource Identifier (URI) Reference に定義されている。

    -

    La gamme des valeurs syntaxiquement valides est définie par RFC 3986 Uniform Resource Identifier + <p>La gamme des valeurs syntaxiquement valides est définie par <ref target="https://www.ietf.org/rfc/rfc3986.txt">RFC 3986 <title>Uniform Resource Identifier (URI): Generic Syntax .

    @@ -6593,10 +6608,10 @@ resource, either within the current document or elsewhere.

    The range of syntactically valid values is defined by - RFC 3986 + RFC 3986 Uniform Resource Identifier (URI): Generic Syntax. Note that the values themselves are encoded using - RFC + RFC 3987 Internationalized Resource Identifiers (IRIs) mapping to URIs. For example, @@ -6609,14 +6624,14 @@ resource, either within the current document or elsewhere.

    当該属性値は、 - RFC 3986 + RFC 3986 Uniform Resource Identifier (URI) Reference に定義されている。

    -

    La gamme des valeurs valides syntaxiquement est définie parRFC 3986 +

    La gamme des valeurs valides syntaxiquement est définie parRFC 3986 Uniform Resource Identifier (URI): Generic Syntax @@ -6646,7 +6661,7 @@ resource, either within the current document or elsewhere.

    The value of this attribute follows the pattern specified by - the Unicode consortium for its version number (). A version number + the Unicode consortium for its version number (). A version number contains digits and fullstop characters only. The first number supplied identifies the major version number. A second and third number, for minor and sub-minor version numbers, may also be @@ -6655,7 +6670,7 @@ resource, either within the current document or elsewhere.

    La valeur de cet attribut devrait suivre le format proposé par - le Consortium Unicode pour identifier les versions (). Un numéro de version + le Consortium Unicode pour identifier les versions (). Un numéro de version ne contient que des chiffres et des points. Le numéro initiale identifie le numéro majeur de la version. Un deuxième et un troisième numéro sont aussi disponibles pour la numérotation @@ -6784,7 +6799,7 @@ which contain an XPath expression.

    This datatype is used to constrain a string of characters to - one that can be used as a URI scheme name according to RFC 3986, section + one that can be used as a URI scheme name according to RFC 3986, section 3.1. Thus only the 26 lowercase letters a–z, the 10 digits 0–9, the plus sign, the period, and the hyphen are permitted, and the value must start with a letter.

    @@ -11295,6 +11310,7 @@ Measures
    + @@ -11310,7 +11326,7 @@ Measures - + early February 1980 @@ -11392,6 +11408,7 @@ Measures + @@ -20404,9 +20421,7 @@ On , either the @marks attribute should be used, or a paragraph of descri - - - + @@ -20419,7 +20434,7 @@ On , either the @marks attribute should be used, or a paragraph of descri Namensraums an. el nombre formal completo del namespace concerniente. l'intero nome formale del namespace in questione. - + @@ -23506,11 +23521,9 @@ should be supplied for the scheme attribute.

    - - - - - + + + @@ -27258,48 +27271,13 @@ on a title page or in a dateline. + + - - - when - wann - gives the value of the date in standard form, i.e. YYYY-MM-DD. - 표준형식으로 날짜의 값을 제시한다. 예, YYYY-MM-DD. - proporciona el valor de una fecha en el formato estándar, es decir AAAA-MM-DD. - 当該日付を標準形式、例えば、YYYY-MM-DDで示す。 - donne la date dans une forme standard, -c'est-à-dire. YYYY-MM-DD. - assegna un valore alla data nel formato standard aaaa-mm-gg - gibt den Wert des Datums in einer standardisierten Form an, z. B. YYYY-MM-DD. - - -

    For simple dates, the when attribute should give - the Gregorian or proleptic Gregorian date in one of the formats specified in XML - Schema Part 2: Datatypes Second Edition.

    -
    - -

    Pour les dates dont la forme est simple, il est recommandé que l'attribut - when donne la date dans le calendrier grégorien ou grégorien - proleptique au format AAAA-MM-JJ spécifié par le standard XML Schema - Part 2.

    -
    - -

    - 簡単な例は、属性whenの値として、グレゴリオ暦を - XML Schema Part 2で定義された形式 - (YYYY-MM-DD)で示す。 -

    -
    - -

    Für einfache Datierungen sollte das when-Attribut ein gregorianisches oder - proleptisches gregorianisches Datum in dem spezifizierten Format XML Schema - Part 2: Datatypes Second Edition enthalten.

    -
    -
    -
    + Oxford, Clarendon Press, 1987 diff --git a/Test2/expected-results/testAttValQuant.rng b/Test2/expected-results/testAttValQuant.rng index eb6be5e95..1943d7dd4 100644 --- a/Test2/expected-results/testAttValQuant.rng +++ b/Test2/expected-results/testAttValQuant.rng @@ -494,7 +494,7 @@ Sample values include: 1] all; 2] most; 3] range + id="tavq-att.datable-calendar-calendar-check-deprecated-constraint-rule-4"> but this element has no textual content. + + + + + + + + + + + - supplies pointers to one or more definitions of named periods of time (typically <category>s or <calendar>s) within which the datable item is understood to have occurred. + supplies pointers to one or more definitions of named periods of time (typically <category>s, <date>s or <event>s) within which the datable item is understood to have occurred. @@ -824,7 +841,7 @@ Suggested values include: 1] internal; 2] external; 3] conjecture + id="tavq-att.global.source-source-only_1_ODD_source-constraint-rule-6"> + id="tavq-att.measurement-att-measurement-unitRef-constraint-rule-7"> + id="tavq-att.typed-subtypeTyped-constraint-rule-8"> + id="tavq-att.pointing-targetLang-targetLang-constraint-rule-9"> + id="tavq-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10"> ) must follow + id="tavq-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11"> (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] + id="tavq-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7"> + id="tavq-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8"> (description) contains a short description of the purpose, function, or use of its parent element, or when the parent is a documentation element, describes or defines the object being documented. [22.4.1. Description of Components] + id="tavq-desc-deprecationInfo-only-in-deprecated-constraint-rule-12"> + id="tavq-rt-target-rt-target-not-span-constraint-report-9"> + id="tavq-rt-from-rt-from-constraint-assert-8"> + id="tavq-rt-to-rt-to-constraint-assert-9"> (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 16.1. Links] + id="tavq-ptr-ptrAtts-constraint-report-10"> Only one of the attributes @target and @cRef may be supplied on . @@ -4321,7 +4338,7 @@ attributes @target and @cRef may be supplied on . (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 16.1. Links] + id="tavq-ref-refAtts-constraint-report-11"> Only one of the attributes @target' and @cRef' may be supplied on @@ -4390,7 +4407,7 @@ attributes @target and @cRef may be supplied on . + id="tavq-list-gloss-list-must-have-labels-constraint-rule-13"> + id="tavq-relatedItem-targetorcontent1-constraint-report-12"> + id="tavq-l-abstractModel-structure-l-in-l-constraint-report-13"> + id="tavq-lg-atleast1oflggapl-constraint-assert-12"> + id="tavq-lg-abstractModel-structure-lg-in-l-constraint-report-14"> + id="tavq-quotation-quotationContents-constraint-report-15"> , either the @marks attribute should be used, or a paragraph of descri specifies the full formal name of the namespace concerned. - - \S* - + + + \S+ + + @@ -6149,7 +6168,7 @@ Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after + id="tavq-citeStructure-match-citestructure-outer-match-constraint-rule-14"> @@ -6157,7 +6176,7 @@ Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after + id="tavq-citeStructure-match-citestructure-inner-match-constraint-rule-15"> @@ -6730,8 +6749,12 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] - - + + + + + + @@ -7118,7 +7141,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 + id="tavq-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16"> + id="tavq-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17"> (document date) contains the date of a document, as given on a title page or in a dateline. [4.6. Title Pages] - - - (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - - - - - - - - - - - - + diff --git a/Test2/expected-results/testPure1.rng b/Test2/expected-results/testPure1.rng index 97bb0a7ec..496f6f76d 100644 --- a/Test2/expected-results/testPure1.rng +++ b/Test2/expected-results/testPure1.rng @@ -511,7 +511,7 @@ Sample values include: 1] all; 2] most; 3] range + id="testPure1-att.datable-calendar-calendar-check-deprecated-constraint-rule-4"> but this element has no textual content. + + + + + + + + + + + - supplies pointers to one or more definitions of named periods of time (typically <category>s or <calendar>s) within which the datable item is understood to have occurred. + supplies pointers to one or more definitions of named periods of time (typically <category>s, <date>s or <event>s) within which the datable item is understood to have occurred. @@ -841,7 +858,7 @@ Suggested values include: 1] internal; 2] external; 3] conjecture + id="testPure1-att.global.source-source-only_1_ODD_source-constraint-rule-6"> + id="testPure1-att.measurement-att-measurement-unitRef-constraint-rule-7"> + id="testPure1-att.typed-subtypeTyped-constraint-rule-8"> + id="testPure1-att.pointing-targetLang-targetLang-constraint-rule-9"> + id="testPure1-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10"> ) must follow + id="testPure1-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11"> (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] + id="testPure1-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7"> + id="testPure1-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8"> (description) contains a short description of the purpose, function, or use of its parent element, or when the parent is a documentation element, describes or defines the object being documented. [22.4.1. Description of Components] + id="testPure1-desc-deprecationInfo-only-in-deprecated-constraint-rule-12"> + id="testPure1-rt-target-rt-target-not-span-constraint-report-9"> + id="testPure1-rt-from-rt-from-constraint-assert-8"> + id="testPure1-rt-to-rt-to-constraint-assert-9"> (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 16.1. Links] + id="testPure1-ptr-ptrAtts-constraint-report-10"> . (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 16.1. Links] + id="testPure1-ref-refAtts-constraint-report-11"> . + id="testPure1-list-gloss-list-must-have-labels-constraint-rule-13"> + id="testPure1-relatedItem-targetorcontent1-constraint-report-12"> + id="testPure1-l-abstractModel-structure-l-in-l-constraint-report-13"> + id="testPure1-lg-atleast1oflggapl-constraint-assert-12"> + id="testPure1-lg-abstractModel-structure-lg-in-l-constraint-report-14"> + id="testPure1-quotation-quotationContents-constraint-report-15"> , either the @marks attribute should be used, or a paragraph of descri specifies the full formal name of the namespace concerned. - - \S* - + + + \S+ + + @@ -6449,7 +6468,7 @@ Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after + id="testPure1-citeStructure-match-citestructure-outer-match-constraint-rule-14"> + id="testPure1-citeStructure-match-citestructure-inner-match-constraint-rule-15"> (revision description) summarizes the revision history for a file. [2.6. The Revision Description 2.1.1. The TEI Header and Its Components] - - + + + + + + @@ -7199,7 +7222,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (s-unit) contains a sentence-like division of a text. [17.1. Linguistic Segment Categories 8.4.1. Segmentation] + id="testPure1-s-noNestedS-constraint-report-16"> associates an interpretative annotation directly with a span of text. [17.3. Spans and Interpretations] + id="testPure1-span-targetfrom-constraint-report-17"> + id="testPure1-span-targetto-constraint-report-18"> + id="testPure1-span-tonotfrom-constraint-report-19"> , @from must be supplied as well + id="testPure1-span-tofrom-constraint-report-20"> may each contain only a single value(link) defines an association or hypertextual link among elements or passages, of some type not more precisely specifiable by other elements. [16.1. Links] + id="testPure1-link-linkTargets3-constraint-assert-15"> may each contain only a single value + id="testPure1-linkGrp-eight_is_enough-constraint-report-21"> may each contain only a single value(anonymous block) contains any component-level unit of text, acting as a container for phrase or inter level elements analogous to, but without the same constraints as, a paragraph. [16.3. Blocks, Segments, and Anchors] + id="testPure1-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-22"> + id="testPure1-standOff-nested_standOff_should_be_typed-constraint-assert-16"> + id="testPure1-div-abstractModel-structure-div-in-l-or-lg-constraint-report-23"> + id="testPure1-div-abstractModel-structure-div-in-ab-or-p-constraint-report-24"> (document date) contains the date of a document, as given on a title page or in a dateline. [4.6. Title Pages] - - - (when) gives the value of the date in standard form, i.e. YYYY-MM-DD. - - - - - - - - - - - - + diff --git a/source/p5subset.xml b/source/p5subset.xml index 9097c810e..eda84273a 100644 --- a/source/p5subset.xml +++ b/source/p5subset.xml @@ -7,7 +7,7 @@ P5 Version 4.7.0a. Last updated on - 16th July 2023, revision df882688d + 12th October 2023, revision c27b080d0 TEI Consortium @@ -286,7 +286,7 @@ Instance

    In the following example from Hamlet, speeches (sp) in the body of the play - are linked to castItem elements in the castList using the who + are linked to role elements in the castList using the who attribute.

    @@ -1337,6 +1337,15 @@ of any adjacent whitespace + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. @@ -1352,7 +1361,7 @@ of any adjacent whitespace - + @calendar indicates one or more @@ -1361,6 +1370,19 @@ of any adjacent whitespace + + + + + + + + + + + + + He was born on Feb. 22, 1732 (Feb. 11, 1731/32, O.S.). @@ -1396,7 +1418,7 @@ of any adjacent whitespace supplies pointers to one or more definitions of - named periods of time (typically categorys or calendars) within which the datable item is understood to have occurred. + named periods of time (typically categorys, dates or events) within which the datable item is understood to have occurred. 시간을 명시할 수 있는 항목이 일어난 시간의 기간명을 정의하는 특정 위치로의 포인터를 제공한다. suministra un indicador a una localización @@ -2775,17 +2797,17 @@ the TEI header.

    according to BCP 47.
    BCP 47에 따라 생성된 tag를 사용하는 요소 내용의 언어를 나타낸다. - 使用RFC3066的代碼,指出該元素內容的使用語言 + 使用RFC3066的代碼,指出該元素內容的使用語言 BCP 47に従って生成されたタグを用いて要素の内容の言語を示す。 indique la langue du contenu de l'élément en - utilisant les codes du RFC 3066 + utilisant les codes du RFC 3066 indica la lengua del contenido del elemento - utilizando los códigos extraídos de RFC + utilizando los códigos extraídos de RFC 3066 indica la lingua del contenuto dell'elemento - utilizzando i codici tratti da RFC + utilizzando i codici tratti da RFC 3066 @@ -2807,7 +2829,7 @@ the TEI header.

    and that a single TEI document may contain texts in many languages.

    Only attributes with free text values (rare in these guidelines) will be in the scope of xml:lang.

    The authoritative list of registered language subtags is maintained by IANA and - is available at . + is available at . For a good general overview of the construction of language tags, see , and for a practical step-by-step guide, see @@ -2835,7 +2857,7 @@ the TEI header.

    Si no se especifica ningún valor para xml:lang, el valor de xml:lang para el elemento inmediatamente englobado, se hereda; por esta razón, un valor se debe especificar siempre en el elemento exterior (TEI).

    -

    xml:lang の値は、直接の親要素、そのまた親要素からというように、文書の上位階層から継承されてくる。できるだけ高い適切な階層に xml:lang を指定するのが一般には望ましいが、teiHeader には関連するリソース要素と異なるデフォルト値が必要となったり、一つのTEI文書が多くの言語のテキストを含みうることには注意されたい。登録された言語タグの正式なリストはIANAが管理しており、 から確認できる。言語タグの構造についての良い概説は を、手順を追った実用的なガイドは を参照されたい。利用する値は、BCP 47 に準拠しなければならない。もし値が私用コード(x- から始まったり -x- を含む)ならば、その ident 属性と一致する値を持つ language 要素をTEIヘッダ内に追加して内容を説明すべきである。この説明は私用コード以外にも任意で追加できるが、IETFInternet Engineering Task Force による定義と整合していなければならない。

    +

    xml:lang の値は、直接の親要素、そのまた親要素からというように、文書の上位階層から継承されてくる。できるだけ高い適切な階層に xml:lang を指定するのが一般には望ましいが、teiHeader には関連するリソース要素と異なるデフォルト値が必要となったり、一つのTEI文書が多くの言語のテキストを含みうることには注意されたい。登録された言語タグの正式なリストはIANAが管理しており、 から確認できる。言語タグの構造についての良い概説は を、手順を追った実用的なガイドは を参照されたい。利用する値は、BCP 47 に準拠しなければならない。もし値が私用コード(x- から始まったり -x- を含む)ならば、その ident 属性と一致する値を持つ language 要素をTEIヘッダ内に追加して内容を説明すべきである。この説明は私用コード以外にも任意で追加できるが、IETFInternet Engineering Task Force による定義と整合していなければならない。

    @@ -3119,8 +3141,8 @@ ressource informatique selon une taxinomie normalisée. using a value taken from a standard taxonomy. At present only a single taxonomy is supported, the Multipurpose Internet Mail Extensions (MIME) Media Type system. This typology of media types is - defined by the Internet Engineering Task Force in RFC 2046. The - list of + defined by the Internet Engineering Task Force in RFC 2046. The + list of types is maintained by the Internet Assigned Numbers Authority (IANA). The mimeType attribute must have a value taken from this list.

    @@ -3129,17 +3151,17 @@ ressource informatique selon une taxinomie normalisée. informatique, en général disponible sur internet, selon les taxinomies normalisées. Actuellement une seule taxinomie est reconnue : le système "Multipurpose Internet Mail Extensions Media Type". Ce système de typologie des types de média est définie - par l'Internet Engineering Task Force dansRFC 2046. La liste des types + par l'Internet Engineering Task Force dansRFC 2046. La liste des types est maintenue par l'Internet Assigned Numbers Authority.

    Esta clase de atributo proporciona los atributos para describir un recurso del ordenador, típicamente disponibles en Internet, según las taxonomías estándar. Solamente una única taxonomía se utiliza actualmente, el sistema Multipurpose Internet Mail Extensions - Media Type. Este sistema de tipología de los tipos de media es definido por el Internet Engineering Task Force RFC 2046. - . La lista de tipos es mantenida por el Internet Assigned Numbers Authority.

    + Media Type. Este sistema de tipología de los tipos de media es definido por el Internet Engineering Task Force RFC 2046. + . La lista de tipos es mantenida por el Internet Assigned Numbers Authority.

    -当該属性クラスは、コンピューターリソースを示すためのもので、通常、インターネット上にあるリソースを標準的な用語で示す。現時点では、MIME(Multipurpose Internet Mail Extensions)タイプのみが標準的な用語として使用可能である。このMIMEタイプについては、IETF(Internet Engineering Task Force)のRFC 2046で規定されている。使用できるタイプ名のリストの管理は、IANA(Internet Assigned Numbers Authority)によって行われている。mimeType属性は上記のタイプ名リストにより定義された値を含んでいなくてはならない。 +当該属性クラスは、コンピューターリソースを示すためのもので、通常、インターネット上にあるリソースを標準的な用語で示す。現時点では、MIME(Multipurpose Internet Mail Extensions)タイプのみが標準的な用語として使用可能である。このMIMEタイプについては、IETF(Internet Engineering Task Force)のRFC 2046で規定されている。使用できるタイプ名のリストの管理は、IANA(Internet Assigned Numbers Authority)によって行われている。mimeType属性は上記のタイプ名リストにより定義された値を含んでいなくてはならない。

    @@ -7923,13 +7945,13 @@ value. The IANA-registered code for the language. This is almost always the same as the ISO 639 2-letter language code if there is one. The list of available registered language - subtags can be found at . It is recommended + subtags can be found at . It is recommended that this code be written in lower case. The ISO 15924 code for the script. These codes consist of 4 letters, and it is recommended they be written with an initial capital, the other three letters in lower case. The canonical list of codes is maintained by the Unicode Consortium, and is - available at . The IETF + available at . The IETF recommends this code be omitted unless it is necessary to make a distinction you need. Either an ISO 3166 country code or a UN M.49 region code that is registered with IANA @@ -7955,7 +7977,7 @@ value. language element must be present in the TEI header.

    -

    There are two exceptions to the above format. First, there are language tags in the IANA registry that +

    There are two exceptions to the above format. First, there are language tags in the IANA registry that do not match the above syntax, but are present because they have been grandfathered from previous specifications.

    Second, an entire language tag can consist of only a private use subtag. These tags start @@ -8006,11 +8028,11 @@ value. variantとextensionは複数回、他は1回のみ出現出現する。この下位タグ のグループは繰り返し可能である。 IANAの言語コード。この殆どは、該当言語が既にあれば、ISO 639の2文字 (以下、この場合の文字はラテン文字)言語コードと同じである。利用可能 - な言語下位タグのリストは + な言語下位タグのリストは にある。言語コードは、小文字で書かれることが推奨されている。 ISO 15924による文字を示すコード。4文字から構成され、冒頭文字は大文 字で、残り3文字は小文字で書かれることが推奨されている。このコード - は、ユニコードコンソーシアムで管理され、 か + は、ユニコードコンソーシアムで管理され、 か ら入手することができる。IETFでは、不要であれば当該コードを省略する ことを推奨している。 ISO 3166またはUN M.49による国または地域コード。このコードはIANAに 登録されている(但し全てではない。例えば、UNコードには経済圏や、 ISO @@ -8029,7 +8051,7 @@ value.

    -

    上記記述形式には、2つの例外がある。ひとつは、ここにある言語タグは、 +

    上記記述形式には、2つの例外がある。ひとつは、ここにある言語タグは、 IANAにある統語規則に違反しているものがある。 これはIANAでは昔の規定を継承しているからであ る。

    ふたつめは、言語タグを、下位タグprivateだけで構成することができる ことである。x-で始まるタグの内容は、IETFにある規定に も当該TEIガイドラインにある規定にも従う必要はない。他の言語タグと 同様に、このタグを使用した場合には、TEIヘダーにある要素 @@ -8082,13 +8104,13 @@ value. Code de langue enregistré par l'IANA. Il est presque toujours identique au code de langue alphabétique ISO 639-2, s'il y en a un. La liste des sous-étiquettes de langue - enregistrées est disponible à : . Il est recommandé + enregistrées est disponible à : . Il est recommandé d'écrire ce code en minuscules. Code ISO 15924 pour l'écriture. Ces codes sont constitués de 4 lettres, et il est recommandé d'écrire la première lettre en majuscule, les trois autres en minuscules. La liste canonique des codes est maintenue par le Consortium Unicode, et elle est disponible - à : . L'IETF recommande + à : . L'IETF recommande d'omettre ce code, sauf s'il est nécessaire pour établir une distinction. Soit un code de pays ISO 3166, soit un code de région UN M.49 enregistré par @@ -8117,7 +8139,7 @@ value.

    Il y a deux exceptions au format ci-dessus. Premièrement, il y a des codes de langue dans - le registre de l'IANA + le registre de l'IANA qui ne correspondent pas à la syntaxe ci-dessus, mais qui sont présents car ils ont été hérités de spécifications antérieures.

    En second lieu, une étiquette complète de langue peut consister seulement en une sous-étiquette d'usage privé. Ces étiquettes commencent par x- ; il n'est pas @@ -8185,21 +8207,21 @@ value. indicare i nomi degli spazi in XML come stabilito dalle raccomandazioni tecniche del W3C per gli spazi dei nomi in XML. - + -

    The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier + <p>The range of syntactically valid values is defined by <ref target="https://www.ietf.org/rfc/rfc3986.txt">RFC 3986 <title>Uniform Resource Identifier (URI): Generic Syntax

    -

    当該データ値は、RFC 2396 Uniform Resource + <p> 当該データ値は、<ref target="https://www.ietf.org/rfc/rfc2396.txt">RFC 2396 <title>Uniform Resource Identifier (URI) Reference に定義されている。

    -

    La gamme des valeurs syntaxiquement valides est définie par RFC 3986 Uniform Resource Identifier + <p>La gamme des valeurs syntaxiquement valides est définie par <ref target="https://www.ietf.org/rfc/rfc3986.txt">RFC 3986 <title>Uniform Resource Identifier (URI): Generic Syntax .

    @@ -8402,10 +8424,10 @@ resource, either within the current document or elsewhere.

    The range of syntactically valid values is defined by - RFC 3986 + RFC 3986 Uniform Resource Identifier (URI): Generic Syntax. Note that the values themselves are encoded using - RFC + RFC 3987 Internationalized Resource Identifiers (IRIs) mapping to URIs. For example, @@ -8418,14 +8440,14 @@ resource, either within the current document or elsewhere.

    当該属性値は、 - RFC 3986 + RFC 3986 Uniform Resource Identifier (URI) Reference に定義されている。

    -

    La gamme des valeurs valides syntaxiquement est définie parRFC 3986 +

    La gamme des valeurs valides syntaxiquement est définie parRFC 3986 Uniform Resource Identifier (URI): Generic Syntax @@ -8457,7 +8479,7 @@ resource, either within the current document or elsewhere.

    The value of this attribute follows the pattern specified by - the Unicode consortium for its version number (). A version number + the Unicode consortium for its version number (). A version number contains digits and fullstop characters only. The first number supplied identifies the major version number. A second and third number, for minor and sub-minor version numbers, may also be @@ -8466,7 +8488,7 @@ resource, either within the current document or elsewhere.

    La valeur de cet attribut devrait suivre le format proposé par - le Consortium Unicode pour identifier les versions (). Un numéro de version + le Consortium Unicode pour identifier les versions (). Un numéro de version ne contient que des chiffres et des points. Le numéro initiale identifie le numéro majeur de la version. Un deuxième et un troisième numéro sont aussi disponibles pour la numérotation @@ -8603,7 +8625,7 @@ which contain an XPath expression.

    This datatype is used to constrain a string of characters to - one that can be used as a URI scheme name according to RFC 3986, section + one that can be used as a URI scheme name according to RFC 3986, section 3.1. Thus only the 26 lowercase letters a–z, the 10 digits 0–9, the plus sign, the period, and the hyphen are permitted, and the value must start with a letter.

    @@ -11956,9 +11978,7 @@ On , either the @marks attribute should be used, or a paragraph of descri - - - + @@ -11971,7 +11991,7 @@ On , either the @marks attribute should be used, or a paragraph of descri Namensraums an. el nombre formal completo del namespace concerniente. l'intero nome formale del namespace in questione. - + @@ -15325,11 +15345,9 @@ should be supplied for the scheme attribute.

    - - - - - + + + @@ -19643,6 +19661,7 @@ my twenty-first birthday

    + @@ -19658,7 +19677,7 @@ my twenty-first birthday

    - + early February 1980 @@ -19741,6 +19760,7 @@ my twenty-first birthday

    + @@ -29051,54 +29071,13 @@ on a title page or in a dateline. + + - - - when - wann - gives the value of the date in standard form, i.e. YYYY-MM-DD. - 표준형식으로 날짜의 값을 제시한다. 예, YYYY-MM-DD. - proporciona el valor de una fecha en el formato estándar, es decir AAAA-MM-DD. - 当該日付を標準形式、例えば、YYYY-MM-DDで示す。 - donne la date dans une forme standard, -c'est-à-dire. YYYY-MM-DD. - assegna un valore alla data nel formato standard aaaa-mm-gg - gibt den Wert des Datums in einer standardisierten Form an, z. B. YYYY-MM-DD. - - -

    For simple dates, the when attribute should give - the Gregorian or proleptic Gregorian date in one of the formats specified in XML - Schema Part 2: Datatypes Second Edition.

    -
    - -

    Pour les dates dont la forme est simple, il est recommandé que l'attribut - when donne la date dans le calendrier grégorien ou grégorien - proleptique au format AAAA-MM-JJ spécifié par le standard XML Schema - Part 2.

    -
    - -

    - 簡単な例は、属性whenの値として、グレゴリオ暦を - XML Schema Part 2で定義された形式 - (YYYY-MM-DD)で示す。 -

    -
    - -

    Für einfache Datierungen sollte das when-Attribut ein gregorianisches oder - proleptisches gregorianisches Datum in dem spezifizierten Format XML Schema - Part 2: Datatypes Second Edition enthalten.

    -
    -
    -
    + Oxford, Clarendon Press, 1987 @@ -40825,6 +40804,7 @@ externally.

    + @@ -66399,7 +66379,7 @@ the associated TEI header.

    - + datatype specification documents a datatype. @@ -66423,6 +66403,15 @@ the associated TEI header.

    + + + + + A datatype specification should not refer to an element or a class. + + + + @@ -68797,6 +68786,7 @@ déclaration de même nom dans la définition courante. + @@ -68897,25 +68887,6 @@ déclaration de même nom dans la définition courante. - - namespace - 이름 공간 - 名稱空間 - espace de noms - espacio de nombre - spazio del nome - specifies the namespace to which this attribute belongs - 이 속성이 소속된 이름 공간을 명시한다. - 指明該屬性所屬的名稱空間。 - 当該属性が属する名前空間を示す。 - précise l'espace de noms auquel appartient cet - attribut. - especifica el espacio del nombre al que pertenece el - atributo. - indica lo spazio del nome al quale appartiene - l'attributo - -
    @@ -69134,7 +69105,7 @@ déclaration de même nom dans la définition courante. Data facets can only be specified for references to datatypes specified by - XML Schemas: Part 2: Datatypes — that is, for there to be a 'dataFacet' child there must be a @name attribute. + XML Schema Part 2: Datatypes Second Edition — that is, for there to be a 'dataFacet' child there must be a @name attribute.
    Data facets and restrictions cannot both be expressed on the same data reference — that is, the @restriction attribute cannot be used when a 'dataFacet' element is present.
    @@ -69143,7 +69114,7 @@ déclaration de même nom dans la définition courante. Restrictions can only be specified for references to datatypes specified by - XML Schemas: Part 2: Datatypes — that is, for there to be a @restriction attribute there must be a @name attribute, too. + XML Schema Part 2: Datatypes Second Edition — that is, for there to be a @restriction attribute there must be a @name attribute, too.
    @@ -69155,7 +69126,7 @@ déclaration de même nom dans la définition courante. the name of a datatype in the list provided by - XML Schemas: Part 2: Datatypes + XML Schema Part 2: Datatypes Second Edition @@ -69197,7 +69168,7 @@ déclaration de même nom dans la définition courante.

    Only one of the attributes key, name, and ref may be used on any given instance of dataRef.

    -

    Neither a restriction attribute not a dataFacet child element may be used unless the dataRef refers to a datatype from the specification XML Schemas: Part 2: Datatypes with a name attribute.

    +

    Neither a restriction attribute nor a dataFacet child element may be used unless the dataRef refers to a datatype from the specification XML Schema Part 2: Datatypes Second Edition with a name attribute.

    @@ -69205,7 +69176,7 @@ déclaration de même nom dans la définition courante. Restricts the value of the strings used to represent values of a datatype, - according to XML Schemas: Part 2: Datatypes. + according to XML Schema Part 2: Datatypes Second Edition. @@ -69260,7 +69231,7 @@ déclaration de même nom dans la définition courante.

    This element is only allowed when the parent dataRef refers with - name to a datatype from the specification XML Schemas: Part 2: Datatypes. + name to a datatype from the specification XML Schema Part 2: Datatypes Second Edition.

    @@ -70014,7 +69985,7 @@ should correspond to an existing module, via a moduleSpec or - + @@ -70073,7 +70044,7 @@ should correspond to an existing module, via a moduleSpec or précise l'espace de noms auquel appartient cet élément. especifica el espacio de nombre al que pertenece tal elemento. indica lo spazio del nome al quale appartiene tale elemento - + http://www.tei-c.org/ns/1.0

    When specified on an elementSpec, this attribute @@ -70083,7 +70054,7 @@ should correspond to an existing module, via a moduleSpec or is added, deleted, replaced, or changed by elementSpec children of the schemaSpec, or by elementSpecs referred to by specGrpRef - children of the schemSpec, unless + children of the schemaSpec, unless overridden by an ns attribute on the elementSpec.

    Note that the value of ns of attDef is @@ -70174,6 +70145,7 @@ should correspond to an existing module, via a moduleSpec or + From 5de8e65c17926aea7d1e2ee35378e8ce47a0875c Mon Sep 17 00:00:00 2001 From: Joey Takeda Date: Wed, 18 Oct 2023 13:40:47 -0700 Subject: [PATCH 42/70] Update expected results --- Test/expected-results/test15.odd.html | 830 +++++++++++++++++--------- 1 file changed, 544 insertions(+), 286 deletions(-) diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index ac950cddd..ea13960b7 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -92,7 +92,7 @@

    - enum  - define la gama de valores de atributos expresados como una única palabra o señal tomada de una lista de posibilidades documentadas.
    - Módulo - tei
    - Usado por - -
    - Elemento: - -
    -
    - Content model - -
    -<content>
    - <dataRef key="teidata.word"/>
    -</content>
    -    
    -
    -
    -
    - Declaración - -
    -teidata.enumerated = 
    -teidata.word
    -
    +
     
    + + addName + : ( + nombre adicional) + contiene un componente añadido al nombre, como un sobrenombre, un epíteto, alias u otras eventuales expresiones utilizadas al interno de un nombre propio de persona.[ + 13.2.1. Personal Names]
    @@ -1760,6 +1839,24 @@

    2.2.4. Publication, Distribution, Licensing, etc. 3.12.2.4. Imprint, Size of a Document, and Reprint Information]

    + + affiliation + : ( + affiliation) + contiene una descripción informal de la afiliación presente o pasada de una persona a una determinada organización, p.ej. un empleado o un patrocinador.[ + 15.2.2. The Participant Description]
    + + age + : ( + age) + especifica la edad de una persona.[ + 13.3.2.1. Personal Characteristics]
    @@ -1907,6 +2004,23 @@

    3.6.4. Dates and Times 13.4. Dates]

    + + att.datable.custom + : + provides attributes for normalization of elements that contain datable events to a custom dating system (i.e. other than the Gregorian used by W3 and ISO).[ + 13.4. Dates]
    + + att.datable.iso + : + proporciona atributos para la normalización de elementos que contienen eventos datables usando el estándard ISO 8601:2004.[ + 3.6.4. Dates and Times + 13.4. Dates]
    @@ -2321,6 +2435,24 @@

    proporciona datos binarios codificados que representan un objeto gráfico u otro tipo de objeto inserido en el texto.[ 3.10. Graphics and Other Non-textual Components]

    + + birth + : ( + birth) + contiene información relativa al nacimiento de una persona, p.ej. fecha y lugar de nacimiento.[ + 15.2.2. The Participant Description]
    + + bloc + : ( + bloc) + contiene el nombre de una unidad geopolítica que comprende uno o más estados nacionales o países.[ + 13.2.3. Place Names]
    @@ -2495,6 +2627,15 @@

    2.3.7. The Classification Declaration 2.3. The Encoding Description]

    + + climate + : ( + climate) + contiene información sobre el clima físico de un lugar.[ + 13.3.4.3. States, Traits, and Events]
    @@ -2559,6 +2700,15 @@

    contains a description of the actions related to one act of correspondence.[ 2.4.6. Correspondence Description]

    + + country + : ( + country) + contiene el nombre de una unidad geopolítica, como una nación, país, colonia, etc. más grande o administrativamente superior que una región y más pequeño que un bloque.[ + 13.2.3. Place Names]
    @@ -2592,6 +2742,15 @@

    contiene una breve descripción de lugar, fecha, hora, etc. de producción de una carta, un artículo periodístico u otro tipo de texto; viene antepuesto o pospuesto a este como elemento de abertura o clausura.[ 4.2.2. Openers and Closers]

    + + death + : ( + death) + contiene informaciones relativas a la defunción de una persona, del tipo lugar y fecha.[ + 15.2.2. The Participant Description]
    @@ -2627,6 +2786,15 @@

    proporciona el nombre de la persona o agente responsable de la distribución de un texto.[ 2.2.4. Publication, Distribution, Licensing, etc.]

    + + district + : ( + district) + contiene el nombre de cualquier subdivisión al interno de un asentamiento, como una circunscripción, un barrio u otras unidades administrativas o geográficas.[ + 13.2.3. Place Names]
    @@ -2783,6 +2951,15 @@

    2.3. The Encoding Description 15.3.2. Declarable Elements]

    + + education + : ( + education) + contiene una descripción sobre la experiencia formativa de una persona[ + 15.2.2. The Participant Description]
    @@ -2832,6 +3009,15 @@

    4.2. Elements Common to All Divisions 4.6. Title Pages]

    + + event + : ( + event) + cualquier fenómeno o evento no necesariamente vocal o comunicativo, como ruidos accidentales u otros fenómenos que inciden en la comunicación en acto.[ + 13.3.1. Basic Principles]
    @@ -2853,6 +3039,15 @@

    3.12.2.4. Imprint, Size of a Document, and Reprint Information 10.7.1. Object Description]

    + + faith + : ( + faith) + indica la fe, religión, o creencias de una persona.[ + 13.3.2.1. Personal Characteristics]
    @@ -2890,6 +3085,15 @@

    contiene un texto de cualquier tipo, unitario o compuesto, que se insiere en algún punto en un texto que lo contiene interrumpiéndolo.[ 4.3.2. Floating Texts]

    + + floruit + : ( + floruit) + contiene información relativa al periodo de actividad de una persona.[ + 13.3.2.1. Personal Characteristics]
    @@ -2899,6 +3103,15 @@

    identidica una palabra o frase perteneciente a otra lengua distinta de la del resto del texto en que se incluye.[ 3.3.2.1. Foreign Words or Expressions]

    + + forename + : ( + forename) + contiene el nombre de pila asignado en el bautismo.[ + 13.2.1. Personal Names]
    @@ -2945,6 +3158,33 @@

    marks the beginning of a new gathering or quire in a transcribed codex.[ 3.11.3. Milestone Elements]

    + + genName + : ( + componente de nombre generacional) + contiene un componente del nombre utilizado para distinguir nombre similares entre ellos atendiendo a la diferencia de edad o de pertenencia a generaciones distintas que se establece entre las personas nombradas.[ + 13.2.1. Personal Names]
    + + gender + : ( + gender) + especifica la identidad de género de una persona.[ + 13.3.2.1. Personal Characteristics]
    + + geo + : ( + coordenadas geográficas) + contiene cualquier expresión de un conjunto de coordenadas geográficas, representando un punto, línea o área en la superficie de la tierra en alguna anotación.[ + 13.3.4.1. Varieties of Location]
    @@ -2952,9 +3192,27 @@

    : ( declaración de las coordenadas geográficas) documenta la anotación y los datos usados para los coordenadas geográficas expresadas como contenido del elemento - <geo>en qualquier parte del documento.[ + <geo>en qualquier parte del documento.[ 2.3.8. The Geographic Coordinates Declaration]

    + + geogFeat + : ( + nombre de un elemento geográfico.) + contiene un nombre común que identifica elementos geográficos incluidos en un nombre propio geográfico, como valle, monte, etc.[ + 13.2.3. Place Names]
    + + geogName + : ( + nombre geográfico) + un nombre asociado a un un elemento geográfico, como valle Windrush o Monte Sinaí.[ + 13.2.3. Place Names]
    @@ -3146,6 +3404,25 @@

    contiene un concepto o enunciado asociado con un ítem en una lista; en un glosario marca el término que se define.[ 3.8. Lists]

    + + langKnowledge + : ( + conocimiento del lenguaje) + resume los conocimientos lingüísticos de una persona de forma descriptiva o a través de una lista de elementos + <langKnown>[ + 13.3.2.1. Personal Characteristics]
    + + langKnown + : ( + competencia lingüística) + resume la competencia de una persona en la lengua indicada.[ + 15.2.2. The Participant Description]
    @@ -3254,6 +3531,64 @@

    2.6. The Revision Description 11.7. Identifying Changes and Revisions]

    + + listEvent + : ( + list of events) + contains a list of descriptions, each of which provides information about an identifiable event.[ + 13.3.1. Basic Principles]
    + + listNym + : ( + lista de nombres canónicos) + contiene una lista de nyms, es decir, nombres estándard para cualquier cosa.[ + 13.3.6. Names and Nyms]
    + + listObject + : ( + list of objects) + contains a list of descriptions, each of which provides information about an identifiable physical object.[ + 13.3.5. Objects]
    + + listOrg + : ( + lista de organizaciones) + contiene una lista de descripciones, que proporciona a la información sobre una organización identificable.[ + 13.2.2. Organizational Names]
    + + listPerson + : ( + lista de personas) + contiene una lista de descripciones, y cada una de las cuales proporciona información relativa a una persona específica o a un grupo de personas, p.ej, los participantes de una interacción verbal o las personas referidas en una fuente histórica.[ + 13.3.2. The Person Element + 15.2. Contextual Information + 2.4. The Profile Description + 15.3.2. Declarable Elements]
    + + listPlace + : ( + lista de lugares) + contiene una lista de lugares, seguida opcionalmente por una lista de interelaciones (a excepción de la inclusión) definidas entre ellos.[ + 2.2.7. The Source Description + 13.3.4. Places]
    @@ -3264,6 +3599,23 @@

    teidata.pointervalues, showing how abbreviated URIs using each scheme may be expanded into full URIs.[ 16.2.3. Using Abbreviated Pointers]

    + + listRelation + : + describe las relaciones o los lazos sociales entre los participantes de una interacción verbal.[ + 13.3.2.3. Personal Relationships]
    + + location + : ( + location) + define la localización de un lugar como conjunto de coordenadas geográficas, en términos de alguna entidades geopolítica dada, o como dirección.[ + 13.3.4. Places]
    @@ -3669,6 +4021,13 @@

    agrupa todos los elementos definidos específicamente para diccionarios.[ 9.1. Dictionary Body and Overall Structure]

    + + model.eventLike + : + groups elements which describe events.
    @@ -3841,6 +4200,13 @@

    agrupa todos los elementos del tipo de nota.[ 3.9. Notes, Annotation, and Indexing]

    + + model.objectLike + : + groups elements which describe objects.
    @@ -3856,6 +4222,13 @@

    agrupa los elementos que pueden aparecer solamente como parte de un topónimo.[ 13.2.3. Place Names]

    + + model.orgPart + : + groups elements which form part of the description of an organization.
    @@ -3919,6 +4292,36 @@

    groups elements that may appear in paragraphs and similar elements[ 3.1. Paragraphs]

    + + model.persNamePart + : + agrupa los elementos que componen un nombre propio de persona.[ + 13.2.1. Personal Names]
    + + model.persStateLike + : + clase de elementos que describen las características mutables o con una duración determinada en una persona, p.ej. ocupación, residencia, nombre, etc.; tales características de un individuo representan generalmente una consecuencia de sus acciones o de las de otros.
    + + model.personLike + : + clase de elementos utilizados para proporcionar informaciones relativas a personas y a las relaciones entre estas.
    + + model.personPart + : + agrupa elementos que describen determinadas características de las personas a las cuales se hace referencia en el texto o que participan en una interacción verbal.[ + 15.2.2. The Participant Description]
    @@ -3935,6 +4338,13 @@

    agrupa elementos usados para codificar construcciones en XML en el nivel sintagmático, p.ej. nombre de elemento, nombres de atributo, y valores de atributo.[ 22. Documentation Elements]

    + + model.placeLike + : + elementos de los grupos usados para proporcionar a la información sobre los lugares y sus lazos.
    @@ -4085,6 +4495,15 @@

    contiene un nombre propio o un sintagma nominal[ 3.6.1. Referring Strings]

    @@ -4094,6 +4513,15 @@

    proporciona el nombre formal del namespace al cual pertenecen los elementos documentados por sus hijos.[ 2.3.4. The Tagging Declaration]

    + + nationality + : ( + nationality) + contiene una descripción informal de la nacionalidad o ciudadanía presente o pasada de una persona.[ + 15.2.2. The Participant Description]
    @@ -4152,6 +4580,59 @@

    contiene un número, escrito en cualquier forma.[ 3.6.3. Numbers and Measures]

    + + nym + : ( + nombre canónico) + contiene la definición para un nombre canónico o parte de nombre de cualquier tipo.[ + 13.3.6. Names and Nyms]
    + + object + : + contains a description of a single identifiable physical object.[ + 13.3.5. Objects]
    + + objectIdentifier + : ( + object identifier) + groups one or more identifiers or pieces of locating information concerning a single object.[ + 13.3.5. Objects]
    + + objectName + : ( + name of an object) + contains a proper noun or noun phrase used to refer to an object.[ + 13.2.4. Object Names]
    + + occupation + : ( + occupation) + contiene una descripción informal de las actividades, la profesión o la ocupación de una persona.[ + 15.2.2. The Participant Description]
    + + offset + : ( + offset) + la parte de una expresión temporal o espacial relativa que indica la dirección del desfase entre dos nombres de lugar, fecha u horario al interno de la expresión.[ + 13.2.3. Place Names]
    @@ -4161,6 +4642,24 @@

    agrupa la fecha, autoria, fórmula introductiva o de saludo o expresiones similares utilizades al inicio de una división textual, especialmente en una carta.[ 4.2. Elements Common to All Divisions]

    + + org + : ( + organización) + proporciona a la información sobre una organización identificable tal como un negocio, una tribu, o cualquier otro grupo de personas.[ + 13.3.3. Organizational Data]
    + + orgName + : ( + nombre de una organización) + contiene el nombre de una organización.[ + 13.2.2. Organizational Names]
    @@ -4180,6 +4679,78 @@

    marca el inicio de una nueva página de un texto en un documento paginado.[ 3.11.3. Milestone Elements]

    + + persName + : ( + nombre propio de persona) + contiene un nombre propio o un sintagma identificable como un nombre propio, que se refiere a una persona y puede incluir cualquier o todos los nombres de pila, apellidos, títulos honoríficos, o nombres añadidos de la persona en cuestión.[ + 13.2.1. Personal Names]
    + + persPronouns + : ( + personal pronouns) + indicates the personal pronouns used, or assumed to be used, by the individual being described.[ + 13.3.2.1. Personal Characteristics]
    + + person + : ( + person) + proporciona información relativa a un individuo específico, p.ej. un participante de una interacción verbal o una persona identificada por una fuente histórica.[ + 13.3.2. The Person Element + 15.2.2. The Participant Description]
    + + personGrp + : ( + grupo de personas) + describe a un grupo de individuos considerados como una única persona para fines analíticos.[ + 15.2.2. The Participant Description]
    + + persona + : + provides information about one of the personalities identified for a given individual, where an individual has multiple personalities.[ + 13.3.2. The Person Element]
    + + place + : ( + place) + contiene los datos sobre una localización geográfica[ + 13.3.4. Places]
    + + placeName + : ( + place name) + contiene la indicación absoluta o relativa de un nombre de lugar.[ + 13.2.3. Place Names]
    + + population + : ( + population) + contiene la información sobre la población de un lugar.[ + 13.3.4.3. States, Traits, and Events]
    @@ -4364,6 +4935,15 @@

    3.5.2. Regularization and Normalization 12. Critical Apparatus]

    + + region + : ( + region) + >contiene el nombre de una unidad administrativa, como un estado, una región o una província, que sea mayor que un pequeño asentamiento, pero menor a un país.[ + 13.2.3. Place Names]
    @@ -4372,6 +4952,15 @@

    contiene o refiere algún otro elemento bibliográfico que se relaciona con el actual de alguna manera, por ejemplo como un versión complementaria o alternativa de este.[ 3.12.2.7. Related Items]

    + + relation + : ( + relación) + describe cualquier tipo de relación o vínculo entre un determinato grupo de personas.[ + 13.3.2.3. Personal Relationships]
    @@ -4381,6 +4970,15 @@

    proporciona información sobre la interpretación ideada para uno o más elementos.[ 2.3.4. The Tagging Declaration]

    + + residence + : ( + residencia) + describe el lugar de residencia presente o pasado de una persona.[ + 15.2.2. The Participant Description]
    @@ -4415,6 +5013,15 @@

    2.6. The Revision Description 2.1.1. The TEI Header and Its Components]

    + + roleName + : ( + role name) + contiene un componente del nombre que indica un rol o una posición específica a nivel social, como en el caso de títulos oficiales o de grado militar.[ + 13.2.1. Personal Names]
    @@ -4538,6 +5145,24 @@

    2.2.5. The Series Statement 2.2. The File Description]

    + + settlement + : ( + settlement) + contiene el nombre de un asentamiento, del tipo ciudad, pueblo, villa etc. identificado como una unidad geopolítica o administrativa.[ + 13.2.3. Place Names]
    + + sex + : ( + sex) + especifica el sexo de un organismo.[ + 13.3.2.1. Personal Characteristics]
    @@ -4565,6 +5190,15 @@

    contiene una palabra o frase de la que el autor o narrador declina la responsabilidad, p.ej. mediante el uso de comillas o cursiva.[ 3.3.3. Quotation]

    + + socecStatus + : ( + estatus socio-económico) + contiene una descripción informal sobre el estatus socio-económico de una persona.[ + 15.2.2. The Participant Description]
    @@ -4621,6 +5255,16 @@

    Functions as a container element for linked data, contextual information, and stand-off annotations embedded in a TEI document.[ 16.10. The standOff Container]

    + + state + : ( + state) + especifica un componente de una referencia canónica definida por el método milestone (hito).[ + 13.3.1. Basic Principles + 13.3.2.1. Personal Characteristics]
    @@ -4648,6 +5292,15 @@

    specifies the name of the formal language in which style or renditional information is supplied elsewhere in the document. The specific version of the scheme may also be supplied.[ 2.3.5. The Default Style Definition Language Declaration]

    + + surname + : ( + surname) + contiene el apellido o nombre de família (heredado), en oposicion a un nombre asignado, un nombre de bautismo o un sobranombre.[ + 13.2.1. Personal Names]
    @@ -4733,6 +5386,20 @@

    : define la gama de valores de atributos disponibles para la representación de un periodo de tiempo usando tipos de datos W3C

    + + teidata.enumerated + : + define la gama de valores de atributos expresados como una única palabra o señal tomada de una lista de posibilidades documentadas.
    + + teidata.gender + : + defines the range of attribute values used to represent the gender of a person, persona, or character.
    @@ -4821,6 +5488,21 @@

    : defines attribute values which contain a replacement template.

    + + teidata.sex + : + define la gama de valores de atributos usados para identificar el sexo de un organismo.
    + + teidata.temporal.iso + : + define la gama de valores de atributos que expresan una expresión temporal como una fecha, una hora, o una combinación de estas, de acuerdo a un estándard internacional + Elementos de datos y formatos de intercambio - Intercambio de información – Representación de fechas y horas.
    @@ -4894,6 +5576,15 @@

    contiene una palabra simple, multipalabra o designación simbólica que se considera como un término técnico.[ 3.4.1. Terms and Glosses]

    + + terrain + : ( + terrain) + contiene información sobre el terreno físico de un lugar.[ + 13.3.4.3. States, Traits, and Events]
    @@ -4990,6 +5681,16 @@

    4.2.4. Content of Textual Divisions 4.2. Elements Common to All Divisions]

    + + trait + : ( + trait) + contiene la descripción de una característica personal o cultural determinada atribuida a una persona.[ + 13.3.1. Basic Principles + 13.3.2.1. Personal Characteristics]
    diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index 391585008..e09a2eb0d 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -351,6 +351,8 @@ sch:pattern [ ] att.datable.attributes = att.datable.w3c.attributes, + att.datable.iso.attributes, + att.datable.custom.attributes, att.datable.attribute.calendar, att.datable.attribute.period att.datable.attribute.calendar = @@ -1359,12 +1361,13 @@ att.citing.attribute.to = attribute to { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? -model.nameLike.agent = name -model.nameLike.agent_alternation = name -model.nameLike.agent_sequence = name -model.nameLike.agent_sequenceOptional = name? -model.nameLike.agent_sequenceOptionalRepeatable = name* -model.nameLike.agent_sequenceRepeatable = name+ +model.nameLike.agent = name | orgName | persName +model.nameLike.agent_alternation = name | orgName | persName +model.nameLike.agent_sequence = name, orgName, persName +model.nameLike.agent_sequenceOptional = name?, orgName?, persName? +model.nameLike.agent_sequenceOptionalRepeatable = + name*, orgName*, persName* +model.nameLike.agent_sequenceRepeatable = name+, orgName+, persName+ model.segLike = seg model.segLike_alternation = seg model.segLike_sequence = seg @@ -1442,14 +1445,15 @@ model.dateLike_sequence = date, time model.dateLike_sequenceOptional = date?, time? model.dateLike_sequenceOptionalRepeatable = date*, time* model.dateLike_sequenceRepeatable = date+, time+ -model.measureLike = num | measure | measureGrp | unit -model.measureLike_alternation = num | measure | measureGrp | unit -model.measureLike_sequence = num, measure, measureGrp, unit -model.measureLike_sequenceOptional = num?, measure?, measureGrp?, unit? +model.measureLike = num | measure | measureGrp | unit | geo +model.measureLike_alternation = num | measure | measureGrp | unit | geo +model.measureLike_sequence = num, measure, measureGrp, unit, geo +model.measureLike_sequenceOptional = + num?, measure?, measureGrp?, unit?, geo? model.measureLike_sequenceOptionalRepeatable = - num*, measure*, measureGrp*, unit* + num*, measure*, measureGrp*, unit*, geo* model.measureLike_sequenceRepeatable = - num+, measure+, measureGrp+, unit+ + num+, measure+, measureGrp+, unit+, geo+ model.egLike = notAllowed model.egLike_alternation = notAllowed model.egLike_sequence = empty @@ -1465,12 +1469,12 @@ model.graphicLike_sequenceOptionalRepeatable = media*, graphic*, binaryObject*, formula* model.graphicLike_sequenceRepeatable = media+, graphic+, binaryObject+, formula+ -model.offsetLike = notAllowed -model.offsetLike_alternation = notAllowed -model.offsetLike_sequence = empty -model.offsetLike_sequenceOptional = empty -model.offsetLike_sequenceOptionalRepeatable = empty -model.offsetLike_sequenceRepeatable = notAllowed +model.offsetLike = offset | geogFeat +model.offsetLike_alternation = offset | geogFeat +model.offsetLike_sequence = offset, geogFeat +model.offsetLike_sequenceOptional = offset?, geogFeat? +model.offsetLike_sequenceOptionalRepeatable = offset*, geogFeat* +model.offsetLike_sequenceRepeatable = offset+, geogFeat+ model.pPart.msdesc = notAllowed model.pPart.msdesc_alternation = notAllowed model.pPart.msdesc_sequence = empty @@ -1584,12 +1588,66 @@ model.labelLike_sequence = desc, label model.labelLike_sequenceOptional = desc?, label? model.labelLike_sequenceOptionalRepeatable = desc*, label* model.labelLike_sequenceRepeatable = desc+, label+ -model.listLike = \list | table -model.listLike_alternation = \list | table -model.listLike_sequence = \list, table -model.listLike_sequenceOptional = \list?, table? -model.listLike_sequenceOptionalRepeatable = \list*, table* -model.listLike_sequenceRepeatable = \list+, table+ +model.listLike = + \list + | table + | listOrg + | listEvent + | listPerson + | listPlace + | listRelation + | listObject + | listNym +model.listLike_alternation = + \list + | table + | listOrg + | listEvent + | listPerson + | listPlace + | listRelation + | listObject + | listNym +model.listLike_sequence = + \list, + table, + listOrg, + listEvent, + listPerson, + listPlace, + listRelation, + listObject, + listNym +model.listLike_sequenceOptional = + \list?, + table?, + listOrg?, + listEvent?, + listPerson?, + listPlace?, + listRelation?, + listObject?, + listNym? +model.listLike_sequenceOptionalRepeatable = + \list*, + table*, + listOrg*, + listEvent*, + listPerson*, + listPlace*, + listRelation*, + listObject*, + listNym* +model.listLike_sequenceRepeatable = + \list+, + table+, + listOrg+, + listEvent+, + listPerson+, + listPlace+, + listRelation+, + listObject+, + listNym+ model.noteLike = note | noteGrp model.noteLike_alternation = note | noteGrp model.noteLike_sequence = note, noteGrp @@ -1615,6 +1673,7 @@ model.stageLike_sequenceOptional = stage? model.stageLike_sequenceOptionalRepeatable = stage* model.stageLike_sequenceRepeatable = stage+ model.entryPart = notAllowed +model.eventLike = event | listEvent model.global.edit = gap | ellipsis model.global.edit_alternation = gap | ellipsis model.global.edit_sequence = gap, ellipsis @@ -1622,21 +1681,112 @@ model.global.edit_sequenceOptional = gap?, ellipsis? model.global.edit_sequenceOptionalRepeatable = gap*, ellipsis* model.global.edit_sequenceRepeatable = gap+, ellipsis+ model.divPart = model.lLike | model.pLike | lg | sp -model.placeNamePart = notAllowed -model.placeNamePart_alternation = notAllowed -model.placeNamePart_sequence = empty -model.placeNamePart_sequenceOptional = empty -model.placeNamePart_sequenceOptionalRepeatable = empty -model.placeNamePart_sequenceRepeatable = notAllowed -model.placeStateLike = model.placeNamePart -model.placeStateLike_alternation = model.placeNamePart_alternation -model.placeStateLike_sequence = model.placeNamePart_sequence +model.persStateLike = + persName + | affiliation + | age + | education + | faith + | floruit + | gender + | langKnowledge + | nationality + | occupation + | persona + | persPronouns + | residence + | sex + | socecStatus + | state + | trait +model.personLike = org | person | personGrp +model.personPart = + model.biblLike + | model.eventLike + | model.persStateLike + | name + | idno + | birth + | death +model.placeNamePart = + placeName | bloc | country | region | settlement | district | geogName +model.placeNamePart_alternation = + placeName | bloc | country | region | settlement | district | geogName +model.placeNamePart_sequence = + placeName, bloc, country, region, settlement, district, geogName +model.placeNamePart_sequenceOptional = + placeName?, + bloc?, + country?, + region?, + settlement?, + district?, + geogName? +model.placeNamePart_sequenceOptionalRepeatable = + placeName*, + bloc*, + country*, + region*, + settlement*, + district*, + geogName* +model.placeNamePart_sequenceRepeatable = + placeName+, + bloc+, + country+, + region+, + settlement+, + district+, + geogName+ +model.placeStateLike = + model.placeNamePart + | climate + | location + | population + | state + | terrain + | trait +model.placeStateLike_alternation = + model.placeNamePart_alternation + | climate + | location + | population + | state + | terrain + | trait +model.placeStateLike_sequence = + model.placeNamePart_sequence, + climate, + location, + population, + state, + terrain, + trait model.placeStateLike_sequenceOptional = - model.placeNamePart_sequenceOptional? + model.placeNamePart_sequenceOptional?, + climate?, + location?, + population?, + state?, + terrain?, + trait? model.placeStateLike_sequenceOptionalRepeatable = - model.placeNamePart_sequenceOptionalRepeatable* + model.placeNamePart_sequenceOptionalRepeatable*, + climate*, + location*, + population*, + state*, + terrain*, + trait* model.placeStateLike_sequenceRepeatable = - model.placeNamePart_sequenceRepeatable+ + model.placeNamePart_sequenceRepeatable+, + climate+, + location+, + population+, + state+, + terrain+, + trait+ +model.orgPart = model.eventLike | listOrg | listPerson | listPlace model.publicationStmtPart.agency = publisher | distributor | authority model.publicationStmtPart.detail = model.ptrLike | address | date | pubPlace | idno | availability @@ -1705,48 +1855,61 @@ model.choicePart = sic | corr | reg | orig | unclear | abbr | expan | seg model.imprintPart = publisher | biblScope | pubPlace | distributor model.catDescPart = notAllowed -model.addressLike = email | address -model.addressLike_alternation = email | address -model.addressLike_sequence = email, address -model.addressLike_sequenceOptional = email?, address? -model.addressLike_sequenceOptionalRepeatable = email*, address* -model.addressLike_sequenceRepeatable = email+, address+ +model.addressLike = email | address | affiliation +model.addressLike_alternation = email | address | affiliation +model.addressLike_sequence = email, address, affiliation +model.addressLike_sequenceOptional = email?, address?, affiliation? +model.addressLike_sequenceOptionalRepeatable = + email*, address*, affiliation* +model.addressLike_sequenceRepeatable = email+, address+, affiliation+ model.nameLike = model.nameLike.agent | model.offsetLike | model.placeStateLike | rs | idno + | model.persNamePart + | objectName model.nameLike_alternation = model.nameLike.agent_alternation | model.offsetLike_alternation | model.placeStateLike_alternation | rs | idno + | model.persNamePart_alternation + | objectName model.nameLike_sequence = model.nameLike.agent_sequence, model.offsetLike_sequence, model.placeStateLike_sequence, rs, - idno + idno, + model.persNamePart_sequence, + objectName model.nameLike_sequenceOptional = model.nameLike.agent_sequenceOptional?, model.offsetLike_sequenceOptional?, model.placeStateLike_sequenceOptional?, rs?, - idno? + idno?, + model.persNamePart_sequenceOptional?, + objectName? model.nameLike_sequenceOptionalRepeatable = model.nameLike.agent_sequenceOptionalRepeatable*, model.offsetLike_sequenceOptionalRepeatable*, model.placeStateLike_sequenceOptionalRepeatable*, rs*, - idno* + idno*, + model.persNamePart_sequenceOptionalRepeatable*, + objectName* model.nameLike_sequenceRepeatable = model.nameLike.agent_sequenceRepeatable+, model.offsetLike_sequenceRepeatable+, model.placeStateLike_sequenceRepeatable+, rs+, - idno+ + idno+, + model.persNamePart_sequenceRepeatable+, + objectName+ model.global = model.global.meta | model.milestoneLike @@ -1765,6 +1928,8 @@ model.biblPart = | edition | extent | availability + | listRelation + | objectIdentifier model.frontPart = model.frontPart.drama | listBibl | divGen | titlePage model.addrPart = model.nameLike | addrLine | street | postCode | postBox model.pPart.data = @@ -1914,6 +2079,7 @@ model.correspContextPart = model.ptrLike | model.pLike | note | noteGrp model.correspDescPart = note | noteGrp | correspAction | correspContext model.resource = \text | standOff model.describedResource = teiCorpus | TEI +model.objectLike = object | listObject att.personal.attributes = att.naming.attributes, att.personal.attribute.full, @@ -1937,6 +2103,7 @@ att.personal.attribute.sort = ## (sort) specifies the sort order of the name component in relation to others within the name. attribute sort { xsd:nonNegativeInteger }? +model.placeLike = place att.milestoneUnit.attributes = att.milestoneUnit.attribute.unit att.milestoneUnit.attribute.unit = @@ -3247,8 +3414,9 @@ listBibl = element listBibl { (model.headLike*, desc*, - (model.milestoneLike)*, - (model.biblLike+, (model.milestoneLike)*)+), + (model.milestoneLike | relation | listRelation)*, + (model.biblLike+, + (model.milestoneLike | relation | listRelation)*)+), att.global.attributes, att.sortable.attributes, att.declarable.attributes, @@ -5833,4 +6001,1252 @@ figDesc = ## (description of figure) contains a brief prose description of the appearance or content of a graphic figure, for use when documenting an image without displaying it. [14.4. Specific Elements for Graphic Images] element figDesc { macro.limitedContent, att.global.attributes, empty } +att.datable.custom.attributes = + att.datable.custom.attribute.when-custom, + att.datable.custom.attribute.notBefore-custom, + att.datable.custom.attribute.notAfter-custom, + att.datable.custom.attribute.from-custom, + att.datable.custom.attribute.to-custom, + att.datable.custom.attribute.datingPoint, + att.datable.custom.attribute.datingMethod +att.datable.custom.attribute.when-custom = + + ## supplies the value of a date or time in some custom standard form. + attribute when-custom { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }? +att.datable.custom.attribute.notBefore-custom = + + ## specifies the earliest possible date for the event in some custom standard form. + attribute notBefore-custom { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }? +att.datable.custom.attribute.notAfter-custom = + + ## specifies the latest possible date for the event in some custom standard form. + attribute notAfter-custom { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }? +att.datable.custom.attribute.from-custom = + + ## indicates the starting point of the period in some custom standard form. + attribute from-custom { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }? +att.datable.custom.attribute.to-custom = + + ## indicates the ending point of the period in some custom standard form. + attribute to-custom { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }? +att.datable.custom.attribute.datingPoint = + + ## supplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred + attribute datingPoint { + xsd:anyURI { pattern = "\S+" } + }? +att.datable.custom.attribute.datingMethod = + [ + a:documentation [ + "supplies a pointer to a " + ns1:code [ "" ] + " element or other means of interpreting the values of the custom dating attributes." + ] + ] + attribute datingMethod { + xsd:anyURI { pattern = "\S+" } + }? +model.persNamePart = + surname + | forename + | genName + | nameLink + | addName + | roleName + | persPronouns +model.persNamePart_alternation = + surname + | forename + | genName + | nameLink + | addName + | roleName + | persPronouns +model.persNamePart_sequence = + surname, forename, genName, nameLink, addName, roleName, persPronouns +model.persNamePart_sequenceOptional = + surname?, + forename?, + genName?, + nameLink?, + addName?, + roleName?, + persPronouns? +model.persNamePart_sequenceOptionalRepeatable = + surname*, + forename*, + genName*, + nameLink*, + addName*, + roleName*, + persPronouns* +model.persNamePart_sequenceRepeatable = + surname+, + forename+, + genName+, + nameLink+, + addName+, + roleName+, + persPronouns+ +att.datable.iso.attributes = + att.datable.iso.attribute.when-iso, + att.datable.iso.attribute.notBefore-iso, + att.datable.iso.attribute.notAfter-iso, + att.datable.iso.attribute.from-iso, + att.datable.iso.attribute.to-iso +att.datable.iso.attribute.when-iso = + + ## supplies the value of a date or time in a standard form. + attribute when-iso { + xsd:date + | xsd:gYear + | xsd:gMonth + | xsd:gDay + | xsd:gYearMonth + | xsd:gMonthDay + | xsd:time + | xsd:dateTime + | xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } + }? +att.datable.iso.attribute.notBefore-iso = + + ## specifies the earliest possible date for the event in standard form, e.g. yyyy-mm-dd. + attribute notBefore-iso { + xsd:date + | xsd:gYear + | xsd:gMonth + | xsd:gDay + | xsd:gYearMonth + | xsd:gMonthDay + | xsd:time + | xsd:dateTime + | xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } + }? +att.datable.iso.attribute.notAfter-iso = + + ## specifies the latest possible date for the event in standard form, e.g. yyyy-mm-dd. + attribute notAfter-iso { + xsd:date + | xsd:gYear + | xsd:gMonth + | xsd:gDay + | xsd:gYearMonth + | xsd:gMonthDay + | xsd:time + | xsd:dateTime + | xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } + }? +att.datable.iso.attribute.from-iso = + + ## indicates the starting point of the period in standard form. + attribute from-iso { + xsd:date + | xsd:gYear + | xsd:gMonth + | xsd:gDay + | xsd:gYearMonth + | xsd:gMonthDay + | xsd:time + | xsd:dateTime + | xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } + }? +att.datable.iso.attribute.to-iso = + + ## indicates the ending point of the period in standard form. + attribute to-iso { + xsd:date + | xsd:gYear + | xsd:gMonth + | xsd:gDay + | xsd:gYearMonth + | xsd:gMonthDay + | xsd:time + | xsd:dateTime + | xsd:token { pattern = "[0-9.,DHMPRSTWYZ/:+\-]+" } + }? +orgName = + + ## (organization name) contains an organizational name. [13.2.2. Organizational Names] + element orgName { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +persName = + + ## (personal name) contains a proper noun or proper-noun phrase referring to a person, possibly including one or more of the person's forenames, surnames, honorifics, added names, etc. [13.2.1. Personal Names] + element persName { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +surname = + + ## (surname) contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1. Personal Names] + element surname { + macro.phraseSeq, + att.global.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +forename = + + ## (forename) contains a forename, given or baptismal name. [13.2.1. Personal Names] + element forename { + macro.phraseSeq, + att.global.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +genName = + + ## (generational name component) contains a name component used to distinguish otherwise similar names on the basis of the relative ages or generations of the persons named. [13.2.1. Personal Names] + element genName { + macro.phraseSeq, + att.global.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +nameLink = + + ## (name link) contains a connecting phrase or link used within a name but not regarded as part of it, such as van der or of. [13.2.1. Personal Names] + element nameLink { + macro.phraseSeq, att.global.attributes, att.typed.attributes, empty + } +addName = + + ## (additional name) contains an additional name component, such as a nickname, epithet, or alias, or any other descriptive phrase used within a personal name. [13.2.1. Personal Names] + element addName { + macro.phraseSeq, + att.global.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +roleName = + + ## (role name) contains a name component which indicates that the referent has a particular role or position in society, such as an official title or rank. [13.2.1. Personal Names] + element roleName { + macro.phraseSeq, + att.global.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +placeName = + + ## (place name) contains an absolute or relative place name. [13.2.3. Place Names] + element placeName { + macro.phraseSeq, + att.datable.attributes, + att.editLike.attributes, + att.global.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +bloc = + + ## (bloc) contains the name of a geo-political unit consisting of two or more nation states or countries. [13.2.3. Place Names] + element bloc { + macro.phraseSeq, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.datable.attributes, + empty + } +country = + + ## (country) contains the name of a geo-political unit, such as a nation, country, colony, or commonwealth, larger than or administratively superior to a region and smaller than a bloc. [13.2.3. Place Names] + element country { + macro.phraseSeq, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.datable.attributes, + empty + } +region = + + ## (region) contains the name of an administrative unit such as a state, province, or county, larger than a settlement, but smaller than a country. [13.2.3. Place Names] + element region { + macro.phraseSeq, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.datable.attributes, + empty + } +settlement = + + ## (settlement) contains the name of a settlement such as a city, town, or village identified as a single geo-political or administrative unit. [13.2.3. Place Names] + element settlement { + macro.phraseSeq, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.datable.attributes, + empty + } +district = + + ## (district) contains the name of any kind of subdivision of a settlement, such as a parish, ward, or other administrative or geographic unit. [13.2.3. Place Names] + element district { + macro.phraseSeq, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.datable.attributes, + empty + } +offset = + + ## (offset) marks that part of a relative temporal or spatial expression which indicates the direction of the offset between the two place names, dates, or times involved in the expression. [13.2.3. Place Names] + element offset { + macro.phraseSeq, + att.datable.attributes, + att.editLike.attributes, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.dimensions.attributes, + empty + } +geogName = + + ## (geographical name) identifies a name associated with some geographical feature such as Windrush Valley or Mount Sinai. [13.2.3. Place Names] + element geogName { + macro.phraseSeq, + att.datable.attributes, + att.editLike.attributes, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + empty + } +geogFeat = + + ## (geographical feature name) contains a common noun identifying some geographical feature contained within a geographic name, such as valley, mount, etc. [13.2.3. Place Names] + element geogFeat { + macro.phraseSeq, + att.datable.attributes, + att.editLike.attributes, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.dimensions.attributes, + empty + } +affiliation = + + ## (affiliation) contains an informal description of a person's present or past affiliation with some organization, for example an employer or sponsor. [15.2.2. The Participant Description] + element affiliation { + macro.phraseSeq, + att.global.attributes, + att.editLike.attributes, + att.datable.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] sponsor; 2] recommend; 3] discredit; 4] pledged + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +age = + + ## (age) specifies the age of a person. [13.3.2.1. Personal Characteristics] + element age { + macro.phraseSeq.limited, + att.global.attributes, + att.editLike.attributes, + att.datable.attributes, + att.typed.attribute.subtype, + att.dimensions.attributes, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] western; 2] sui; 3] subjective; 4] objective; 5] inWorld (in world); 6] chronological; 7] biological; 8] psychological; 9] functional + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + + ## supplies a numeric code representing the age or age group + attribute value { xsd:nonNegativeInteger }?, + empty + } +birth = + + ## (birth) contains information about a person's birth, such as its date and place. [15.2.2. The Participant Description] + element birth { + macro.phraseSeq, + att.global.attributes, + att.editLike.attributes, + att.datable.attributes, + att.dimensions.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] caesarean (caesarean section); 2] vaginal (vaginal delivery); 3] exNihilo (ex nihilo); 4] incorporated; 5] founded; 6] established + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +climate = + + ## (climate) contains information about the physical climate of a place. [13.3.4.3. States, Traits, and Events] + element climate { + (model.headLike*, + (model.pLike+ | model.labelLike+), + (model.noteLike | model.biblLike)*, + climate*), + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attributes, + empty + } +death = + + ## (death) contains information about a person's death, such as its date and place. [15.2.2. The Participant Description] + element death { + macro.phraseSeq, + att.datable.attributes, + att.dimensions.attributes, + att.editLike.attributes, + att.global.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] proclaimed; 2] assumed; 3] verified; 4] clinical; 5] brain; 6] natural; 7] unnatural; 8] fragmentation; 9] dissolution + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +education = + + ## (education) contains a description of the educational experience of a person. [15.2.2. The Participant Description] + element education { + macro.phraseSeq, + att.global.attributes, + att.editLike.attributes, + att.datable.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] primary; 2] secondary; 3] undergraduate; 4] graduate; 5] residency; 6] apprenticeship + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +event = + + ## (event) contains data relating to any kind of significant event associated with a person, place, or organization. [13.3.1. Basic Principles] + element event { + (idno*, + model.headLike*, + (model.pLike+ | model.labelLike+), + (model.noteLike | model.biblLike | linkGrp | link | idno | ptr)*, + event*), + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.typed.attributes, + att.naming.attributes, + att.sortable.attributes, + att.locatable.attributes, + empty + } +faith = + + ## (faith) specifies the faith, religion, or belief set of a person. [13.3.2.1. Personal Characteristics] + element faith { + macro.phraseSeq, + att.global.attributes, + att.editLike.attributes, + att.datable.attributes, + att.canonical.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] practicing; 2] clandestine; 3] patrilineal; 4] matrilineal; 5] convert + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +floruit = + + ## (floruit) contains information about a person's period of activity. [13.3.2.1. Personal Characteristics] + element floruit { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.dimensions.attributes, + att.editLike.attributes, + empty + } +gender = + + ## (gender) specifies the gender identity of a person, persona, or character. [13.3.2.1. Personal Characteristics] + element gender { + macro.phraseSeq, + att.global.attributes, + att.editLike.attributes, + att.datable.attributes, + att.typed.attributes, + + ## supplies a coded value for gender identity + attribute value { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + empty + } +geo = + + ## (geographical coordinates) contains any expression of a set of geographic coordinates, representing a point, line, or area on the surface of the earth in some notation. [13.3.4.1. Varieties of Location] + element geo { + text, att.global.attributes, att.declaring.attributes, empty + } +langKnowledge = + [ + a:documentation [ + "(language knowledge) summarizes the state of a person's linguistic knowledge, either as prose or by a list of " + ns1:code [ "" ] + " elements. [13.3.2.1. Personal Characteristics]" + ] + ] + element langKnowledge { + (model.pLike | langKnown+), + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] listening; 2] speaking; 3] reading; 4] writing + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + + ## supplies one or more valid language tags for the languages specified + attribute tags { + list { + (xsd:language + | ( + ## + ""))+ + } + }?, + empty + } +langKnown = + + ## (language known) summarizes the state of a person's linguistic competence, i.e., knowledge of a single language. [15.2.2. The Participant Description] + element langKnown { + macro.phraseSeq.limited, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + + ## supplies a valid language tag for the language concerned. + attribute tag { + xsd:language + | ( + ## + "") + }, + + ## a code indicating the person's level of knowledge for this language + attribute level { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +listOrg = + + ## (list of organizations) contains a list of elements, each of which provides information about an identifiable organization. [13.2.2. Organizational Names] + element listOrg { + (model.headLike*, + desc*, + (relation | listRelation)*, + ((org | listOrg)+, (relation | listRelation)*)+), + att.global.attributes, + att.typed.attributes, + att.declarable.attributes, + att.sortable.attributes, + empty + } +listEvent = + + ## (list of events) contains a list of descriptions, each of which provides information about an identifiable event. [13.3.1. Basic Principles] + element listEvent { + (model.headLike*, + desc*, + (relation | listRelation)*, + (model.eventLike+, (relation | listRelation)*)+), + att.global.attributes, + att.typed.attributes, + att.declarable.attributes, + att.sortable.attributes, + empty + } +listPerson = + + ## (list of persons) contains a list of descriptions, each of which provides information about an identifiable person or a group of people, for example the participants in a language interaction, or the people referred to in a historical source. [13.3.2. The Person Element 15.2. Contextual Information 2.4. The Profile Description 15.3.2. Declarable Elements] + element listPerson { + (model.headLike*, + desc*, + (relation | listRelation)*, + ((model.personLike | listPerson)+, (relation | listRelation)*)+), + att.global.attributes, + att.typed.attributes, + att.declarable.attributes, + att.sortable.attributes, + empty + } +listPlace = + + ## (list of places) contains a list of places, optionally followed by a list of relationships (other than containment) defined amongst them. [2.2.7. The Source Description 13.3.4. Places] + element listPlace { + (model.headLike*, + desc*, + (relation | listRelation)*, + ((model.placeLike | listPlace)+, (relation | listRelation)*)+), + att.global.attributes, + att.typed.attributes, + att.declarable.attributes, + att.sortable.attributes, + empty + } +listRelation = + + ## provides information about relationships identified amongst people, places, and organizations, either informally as prose or as formally expressed relation links. [13.3.2.3. Personal Relationships] + element listRelation { + (model.headLike*, + desc*, + (model.pLike | (relation | listRelation)+)), + att.global.attributes, + att.typed.attributes, + att.sortable.attributes, + empty + } +location = + + ## (location) defines the location of a place as a set of geographical coordinates, in terms of other named geo-political entities, or as an address. [13.3.4. Places] + element location { + (model.labelLike + | model.placeNamePart + | model.offsetLike + | model.measureLike + | model.addressLike + | model.noteLike + | model.biblLike)*, + att.global.attributes, + att.typed.attributes, + att.datable.attributes, + att.editLike.attributes, + empty + } +nationality = + + ## (nationality) contains an informal description of a person's present or past nationality or citizenship. [15.2.2. The Participant Description] + element nationality { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] birth; 2] naturalised; 3] self-assigned + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +occupation = + + ## (occupation) contains an informal description of a person's trade, profession or occupation. [15.2.2. The Participant Description] + element occupation { + macro.specialPara, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] primary; 2] other; 3] paid; 4] unpaid + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + [ + a:documentation [ + "indicates the classification system or taxonomy in use, for example by supplying the identifier of a " + ns1:code [ "" ] + " element, or pointing to some other resource." + ] + ] + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, + [ + a:documentation [ + "identifies an occupation code defined within the classification system or taxonomy defined by the " + ns1:code [ "@scheme" ] + " attribute." + ] + ] + attribute code { + xsd:anyURI { pattern = "\S+" } + }?, + empty + } +org = + + ## (organization) provides information about an identifiable organization such as a business, a tribe, or any other grouping of people. [13.3.3. Organizational Data] + element org { + (model.headLike*, + (model.pLike* + | (model.labelLike + | model.nameLike + | model.placeLike + | model.orgPart + | model.milestoneLike)*), + (model.noteLike | model.biblLike | linkGrp | link | ptr)*, + model.personLike*), + att.global.attributes, + att.typed.attributes, + att.editLike.attributes, + att.sortable.attributes, + + ## specifies a primary role or classification for the organization. + attribute role { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + empty + } +person = + + ## (person) provides information about an identifiable individual, for example a participant in a language interaction, or a person referred to in a historical source. [13.3.2. The Person Element 15.2.2. The Participant Description] + element person { + (model.pLike+ | (model.personPart | model.global | ptr)*), + att.global.attributes, + att.editLike.attributes, + att.sortable.attributes, + + ## specifies a primary role or classification for the person. + attribute role { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies the sex of the person. + attribute sex { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies the gender of the person. + attribute gender { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies an age group for the person. + attribute age { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +persona = + + ## provides information about one of the personalities identified for a given individual, where an individual has multiple personalities. [13.3.2. The Person Element] + element persona { + (model.pLike+ | (model.personPart | model.global)*), + att.global.attributes, + att.editLike.attributes, + att.sortable.attributes, + + ## specifies a primary role or classification for the persona. + attribute role { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies the sex of the persona. + attribute sex { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies the gender of the persona. + attribute gender { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies an age group for the persona. + attribute age { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +personGrp = + + ## (personal group) describes a group of individuals treated as a single person for analytic purposes. [15.2.2. The Participant Description] + element personGrp { + (model.pLike+ | (model.personPart | model.global)*), + att.global.attributes, + att.sortable.attributes, + + ## specifies the role of this group of participants in the interaction. + attribute role { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + + ## specifies the sex of the participant group. + attribute sex { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies the gender of the participant group. + attribute gender { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + + ## specifies the age group of the participants. + attribute age { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + + ## describes informally the size or approximate size of the group for example by means of a number and an indication of accuracy e.g. approx 200. + attribute size { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + empty + } +persPronouns = + + ## (personal pronouns) indicates the personal pronouns used, or assumed to be used, by the individual being described. [13.3.2.1. Personal Characteristics] + element persPronouns { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.typed.attributes, + + ## (evidence) indicates support for the listed personal pronouns. + ## Suggested values include: 1] conjecture (conjecture); 2] selfIdentification (self identification); 3] trustedThirdParty (trusted third party) + attribute evidence { + + ## (conjecture) The given value was selected based on assumptions by someone besides the person to whom this pronoun applies. As a result, the value may be erroneous. + "conjecture" + | + ## (self identification) The given value has been explicitly stated or confirmed by the person to whom this pronoun applies. + "selfIdentification" + | + ## (trusted third party) The given value has been supplied by another individual trusted by the encoder to know the preferences of the person to whom this pronoun applies. + "trustedThirdParty" + | xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + + ## (value) supplies a regularized value for personal pronouns. + ## Sample values include: 1] e (e); 2] he (he); 3] she (she); 4] they (they) + attribute value { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + empty + } +place = + + ## (place) contains data about a geographic location [13.3.4. Places] + element place { + (model.headLike*, + (model.pLike* + | (model.labelLike + | model.placeStateLike + | model.eventLike + | name)*), + (model.noteLike | model.biblLike | idno | ptr | linkGrp | link)*, + (model.placeLike | listPlace)*), + att.global.attributes, + att.typed.attributes, + att.editLike.attributes, + att.sortable.attributes, + empty + } +population = + + ## (population) contains information about the population of a place. [13.3.4.3. States, Traits, and Events] + element population { + (model.headLike*, + ((model.pLike+ | model.labelLike+), + (model.noteLike | model.biblLike)*)?, + population*), + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attributes, + att.dimensions.attributes, + empty + } +relation = + + ## (relationship) describes any kind of relationship or linkage amongst a specified group of places, events, persons, objects or other items. [13.3.2.3. Personal Relationships] + element relation { + (desc?) + >> sch:pattern [ + id = "test15-relation-reforkeyorname-constraint-assert-17" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:relation" + "\x{a}" ~ + " " + sch:assert [ + test = "@ref or @key or @name" + "One of the attributes 'name', 'ref' or 'key' must be supplied" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + >> sch:pattern [ + id = "test15-relation-activemutual-constraint-report-18" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:relation" + "\x{a}" ~ + " " + sch:report [ + test = "@active and @mutual" + "Only one of the attributes @active and @mutual may be supplied" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + >> sch:pattern [ + id = "test15-relation-activepassive-constraint-report-19" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:relation" + "\x{a}" ~ + " " + sch:report [ + test = "@passive and not(@active)" + "the attribute 'passive' may be supplied only if the attribute 'active' is supplied" + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.canonical.attributes, + att.sortable.attributes, + att.typed.attributes, + + ## supplies a name for the kind of relationship of which this is an instance. + attribute name { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + ( + ## identifies the active participants in a non-mutual relationship, or all the participants in a mutual one. + attribute active { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }? + | + ## supplies a list of participants amongst all of whom the relationship holds equally. + attribute mutual { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?), + + ## identifies the passive participants in a non-mutual relationship. + attribute passive { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?, + empty + } +residence = + + ## (residence) describes a person's present or past places of residence. [15.2.2. The Participant Description] + element residence { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] primary; 2] secondary; 3] temporary; 4] permanent + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + empty + } +sex = + + ## (sex) specifies the sex of an organism. [13.3.2.1. Personal Characteristics] + element sex { + macro.phraseSeq, + att.global.attributes, + att.editLike.attributes, + att.datable.attributes, + att.typed.attributes, + + ## supplies a coded value for sex + attribute value { + list { + xsd:token { pattern = "[^\p{C}\p{Z}]+" }+ + } + }?, + empty + } +socecStatus = + + ## (socio-economic status) contains an informal description of a person's perceived social or economic status. [15.2.2. The Participant Description] + element socecStatus { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attribute.subtype, + + ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Sample values include: 1] atBirth; 2] atDeath; 3] dependent; 4] inherited; 5] independent + attribute type { + xsd:token { pattern = "[^\p{C}\p{Z}]+" } + }?, + [ + a:documentation [ + "identifies the classification system or taxonomy in use, for example by pointing to a locally-defined " + ns1:code [ "" ] + " element or by supplying a URI for an externally-defined system." + ] + ] + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, + [ + a:documentation [ + "identifies a status code defined within the classification system or taxonomy defined by the " + ns1:code [ "@scheme" ] + " attribute." + ] + ] + attribute code { + xsd:anyURI { pattern = "\S+" } + }?, + empty + } +state = + + ## (state) contains a description of some status or quality attributed to a person, place, or organization often at some specific time or for a specific date range. [13.3.1. Basic Principles 13.3.2.1. Personal Characteristics] + element state { + (state+ + | (model.headLike*, + model.pLike+, + (model.noteLike | model.biblLike)*) + | (model.labelLike | model.noteLike | model.biblLike)*), + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.typed.attributes, + att.naming.attributes, + att.dimensions.attributes, + empty + } +terrain = + + ## (terrain) contains information about the physical terrain of a place. [13.3.4.3. States, Traits, and Events] + element terrain { + (model.headLike*, + (model.pLike+ | model.labelLike+), + (model.noteLike | model.biblLike)*, + terrain*), + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attributes, + empty + } +trait = + + ## (trait) contains a description of some status or quality attributed to a person, place, or organization typically, but not necessarily, independent of the volition or action of the holder and usually not at some specific time or for a specific date range. [13.3.1. Basic Principles 13.3.2.1. Personal Characteristics] + element trait { + (trait+ + | (model.headLike*, + model.pLike+, + (model.noteLike | model.biblLike)*) + | (model.labelLike | model.noteLike | model.biblLike)*), + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.naming.attributes, + att.typed.attributes, + att.dimensions.attributes, + empty + } +objectName = + + ## (name of an object) contains a proper noun or noun phrase used to refer to an object. [13.2.4. Object Names] + element objectName { + macro.phraseSeq, + att.datable.attributes, + att.editLike.attributes, + att.global.attributes, + att.personal.attributes, + att.typed.attributes, + empty + } +object = + + ## contains a description of a single identifiable physical object. [13.3.5. Objects] + element object { + (objectIdentifier+, + model.headLike*, + (model.pLike* | empty), + (model.noteLike | model.biblLike | linkGrp | link)*, + object*), + att.global.attributes, + att.sortable.attributes, + att.typed.attributes, + att.declaring.attributes, + att.docStatus.attributes, + att.canonical.attributes, + empty + } +listObject = + + ## (list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object. [13.3.5. Objects] + element listObject { + (model.headLike*, + desc*, + (relation | listRelation)*, + (model.objectLike+, (relation | listRelation)*)+), + att.global.attributes, + att.typed.attributes, + att.declarable.attributes, + att.sortable.attributes, + empty + } +objectIdentifier = + + ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.5. Objects] + element objectIdentifier { + (model.placeNamePart | idno | objectName | address)+, + att.global.attributes, + empty + } +nym = + + ## (canonical name) contains the definition for a canonical name or name component of any kind. [13.3.6. Names and Nyms] + element nym { + (idno*, model.entryPart*, model.pLike*, nym*), + att.global.attributes, + att.typed.attributes, + att.sortable.attributes, + + ## points to constituent nyms + attribute parts { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?, + empty + } +listNym = + + ## (list of canonical names) contains a list of nyms, that is, standardized names for any thing. [13.3.6. Names and Nyms] + element listNym { + (model.headLike*, + desc*, + (relation | listRelation)*, + ((nym | listNym)+, (relation | listRelation)*)+), + att.global.attributes, + att.typed.attributes, + att.declarable.attributes, + att.sortable.attributes, + empty + } start = TEI diff --git a/Test/test15.odd b/Test/test15.odd index 19b781f57..66becad8b 100644 --- a/Test/test15.odd +++ b/Test/test15.odd @@ -1,45 +1,38 @@ - - - - - TEI - Sebastian Rahtz - - -

    -
    - -

    authored from scratch

    -
    -
    -
    - - -

    Consider the behaviour of p, para and div

    - - - - enum - - - - - - - - - - - - - - - - - -
    + + + + + TEI + Sebastian Rahtz + + +

    +
    + +

    authored from scratch

    +
    +
    +
    + + +

    Consider the behaviour of p, para and div

    + + + + + + + + + + + + + + + +
    From 536039ffb162370046836aa1e57bbc355f0d8cee Mon Sep 17 00:00:00 2001 From: Joey Takeda Date: Thu, 24 Aug 2023 13:04:44 -0700 Subject: [PATCH 28/70] Adding templates for val and tag to fix #567 * Template added to html/html_core.xsl for tag and val to transform them into spans * Named template added to html/html_core.xsl to create a delimiter span to allow easier customization (i.e. to allow for a CSS only approach to start and end text) * Reflect value of `@scheme` in tag's class --- html/html_core.xsl | 98 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/html/html_core.xsl b/html/html_core.xsl index 862671ac9..744780b0c 100644 --- a/html/html_core.xsl +++ b/html/html_core.xsl @@ -336,9 +336,86 @@ of this software, even if advised of the possibility of such damage. + + + +

    Process element val

    +

    +

    special purpose

    +

    +
    +
    + + + + + " + + + + + " + + + + + + +

    Process element tag

    +

    +

    special purpose

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Process gloss element @@ -1787,6 +1864,27 @@ of this software, even if advised of the possibility of such damage. + + [html] creates a span with a class of delim (and optionally others) to wrap + delimiting text to allow users to remove/hide delimiters for whatever reason + (e.g. to use CSS pseudo elements instead). + The text content of the delimiter (e.g. <) + A sequence of additional class names to be added to + the produced span. (e.g. "start") + A span element containing a delimiter: +
    +      <span class="delim start">{{{{</span>
    +    
    +
    +
    + + + + + + + + From fd1172633515771b2e82a930e29b33f37b1074cc Mon Sep 17 00:00:00 2001 From: Joey Takeda Date: Thu, 28 Sep 2023 11:58:18 -0700 Subject: [PATCH 29/70] Returning to this per Stylesheets meeting Merging (manually) the helpful test file from PR #508. This branch now supercedes #508 and thus will also close #503 --- Test2/build.xml | 2 +- html/html.xsl | 25 ++++++++++ html/html_core.xsl | 112 +----------------------------------------- html/html_tagdocs.xsl | 96 +++++++++++++++++++++++++++++++++++- 4 files changed, 123 insertions(+), 112 deletions(-) diff --git a/Test2/build.xml b/Test2/build.xml index 3d4210ea4..03ad350c8 100644 --- a/Test2/build.xml +++ b/Test2/build.xml @@ -105,7 +105,7 @@ without special parameters. --> + testCorpus1.xml, testMathML.xml, testStructure1.xml, test-382.xml, testPhrase.xml"/> diff --git a/html/html.xsl b/html/html.xsl index 80bf4c8f4..e365cd926 100644 --- a/html/html.xsl +++ b/html/html.xsl @@ -225,6 +225,8 @@ of this software, even if advised of the possibility of such damage. + + @@ -426,6 +428,29 @@ of this software, even if advised of the possibility of such damage. + + + [html] creates a span with a class of delim (and optionally others) to wrap + delimiting text to allow users to remove/hide delimiters for whatever reason + (e.g. to use CSS pseudo elements instead). + The text content of the delimiter (e.g. <) + A sequence of additional class names to be added to + the produced span. (e.g. "start") + A span element containing a delimiter: +
    +      <span class="delim start">{{{{</span>
    +    
    +
    +
    + + + + + + + + + how to make a horizontal rule diff --git a/html/html_core.xsl b/html/html_core.xsl index 744780b0c..f811d907e 100644 --- a/html/html_core.xsl +++ b/html/html_core.xsl @@ -325,95 +325,6 @@ of this software, even if advised of the possibility of such damage. - - -

    Process element att

    -

    -

    special purpose

    -

    -
    -
    - - - - - - - - - -

    Process element val

    -

    -

    special purpose

    -

    -
    -
    - - - - - " - - - - - " - - - - - - -

    Process element tag

    -

    -

    special purpose

    -

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1864,27 +1775,8 @@ of this software, even if advised of the possibility of such damage. - - [html] creates a span with a class of delim (and optionally others) to wrap - delimiting text to allow users to remove/hide delimiters for whatever reason - (e.g. to use CSS pseudo elements instead). - The text content of the delimiter (e.g. <) - A sequence of additional class names to be added to - the produced span. (e.g. "start") - A span element containing a delimiter: -
    -      <span class="delim start">{{{{</span>
    -    
    -
    -
    - - - - - - - - + + diff --git a/html/html_tagdocs.xsl b/html/html_tagdocs.xsl index 06566590c..021960b17 100644 --- a/html/html_tagdocs.xsl +++ b/html/html_tagdocs.xsl @@ -1,5 +1,5 @@ - + @@ -71,6 +71,100 @@ of this software, even if advised of the possibility of such damage. >
    + + + +

    Process element att

    +
    +
    + + + + + + + + + + +

    Process element val

    +
    +
    + + + + + " + + + + + " + + + + + + +

    Process element tag

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + Unhandled @type value of tei:tag: + + + + + + + + + + + + + + + + + + + + + From d54dc0b0f819047735b0b27525a2539d408e58c7 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 29 Sep 2023 18:43:14 -0400 Subject: [PATCH 30/70] Re-work how filenames are handled for #543: I _think_ I have this working right, but more testing is in order. --- bin/oddtorng | 1 + bin/teitorelaxng | 2 +- bin/transformtei | 171 ++++++++++++++++++++++++----------------------- 3 files changed, 88 insertions(+), 86 deletions(-) create mode 120000 bin/oddtorng diff --git a/bin/oddtorng b/bin/oddtorng new file mode 120000 index 000000000..cac68564d --- /dev/null +++ b/bin/oddtorng @@ -0,0 +1 @@ +transformtei \ No newline at end of file diff --git a/bin/teitorelaxng b/bin/teitorelaxng index 232cc0b9a..19573b519 100755 --- a/bin/teitorelaxng +++ b/bin/teitorelaxng @@ -1,4 +1,4 @@ #!/bin/sh -e -echo "$0 has been superceded by teitorng (and oddtorng, which is the same as teitorng --odd)" +echo "$0 has been superceded by teitorng (and oddtorng, which is the same as \"teitorng --odd\")" exit 13 diff --git a/bin/transformtei b/bin/transformtei index d9f9bcb5d..82a06f4c8 100755 --- a/bin/transformtei +++ b/bin/transformtei @@ -38,17 +38,17 @@ echo " --oxygenlib=$oxygenlib # where is oxygenlib" echo " --splitLevel=$splitLevel # splitting level " case $format in rng|rnc|dtd|xsd) - if [ $from != odd ]; then echo " --odd # perform processing of ODD (if appropriate)"; fi - echo " --localsource=DIR # where is local copy of source of TEI Guidelines" - echo " --summaryDoc # only make summary, when doing ODD processing" - echo " --schema=NAME # process the schemaSpec called NAME" - ;; + if [ $from != odd ]; then echo " --odd # perform processing of ODD (if appropriate)"; fi + echo " --localsource=DIR # where is local copy of source of TEI Guidelines" + echo " --summaryDoc # only make summary, when doing ODD processing" + echo " --schema=NAME # process the schemaSpec called NAME" + ;; esac case "$script" in teitoepub*) # could be teitoepub or teitoepub3 - echo " --fileperpage # create output files one per page " - echo " --nocompress # disable compression of epub output file" - ;; + echo " --fileperpage # create output files one per page " + echo " --nocompress # disable compression of epub output file" + ;; esac echo @@ -105,23 +105,61 @@ SAXONJAR=$APPHOME/lib/saxon10he.jar TRANGJAR=$APPHOME/lib/trang.jar from=`echo $script | sed 's/to.*//'` to=`echo $script | sed 's/.*to//'` -if [ $to = "tei" ] -then - direction=from - format=$from - outsuffix=.xml + +if [ $to = tei ]; then + direction=from + format=$from + outsuffix=.xml else - direction=to - format=$to - outsuffix=.$to + direction=to + format=$to + outsuffix=.$to fi +if [ $from = odd ] ; then odd=true; fi -case $to in - rnc|rng|dtd|xsd) - if [ $from = odd ]; then odd=true; fi - ;; - *) ;; -esac +if [ $# -gt 2 ]; then + echo "Error: only one parameter (input file) or two parameters (input file and output file) allowed: $*" + exit 1 +fi + +infile=${1} +indir=$(dirname ${1}) +infilename=$(basename ${1}) +if [ $# -eq 1 ]; then # only 1 argument, output file is input with new extension + # strip off expected suffixes from input filename + infilebase=${infilename} + infilebase=${infilebase%.odd} + infilebase=${infilebase%.tei} + infilebase=${infilebase%.xml} + infilebase=${infilebase%.csv} + infilebase=${infilebase%.dbk} + infilebase=${infilebase%.docx} + infilebase=${infilebase%.html} + infilebase=${infilebase%.xhtml} + infilebase=${infilebase%.htm} + infilebase=${infilebase%.odt} + infilebase=${infilebase%.md} + infilebase=${infilebase%.wp} + infilebase=${infilebase%.xlsx} + # output goes in same dir as input + outdir=${indir} + # output filename is like input but with common prefix replaced with new one + outfilename=${infilebase}$outsuffix +else # 2 arguments (if there were more then 2 we would have already aborted) + outfile=${2} + # output directory is the directory specified + outdir=`dirname "${outfile}"` + # Following line tries to create the output directory if it does not exist yet + outdir=`(mkdir -p ${outdir}; cd ${outdir}; pwd)` + # output filename is as specified + outfilename=`basename ${outfile}` +fi + +if [ ${indir}/${infilename} = ${outdir}/${outfilename} ] ; then die "input and output files are the same"; fi + +if [ ! -f "${indir}/${infilename}" ] ; then die "Input file $infile does not exist"; fi + +if [ ! -f "$SAXONJAR" ] ; then die "Saxon jar file $SAXONJAR does not exist"; fi while test $# -gt 0; do case $1 in @@ -148,28 +186,20 @@ while test $# -gt 0; do --summaryDoc) summaryDoc="-DsummaryDoc=true";; --viewportwidth=*) viewportwidth="-DviewPortWidth=`echo $1 | sed 's/.*=//'`";; --viewportheight=*) viewportheight="-DviewPortHeight=`echo $1 | sed 's/.*=//'`";; - --nocompress) nocompress="-DnoCompress=true";; + --nocompress) nocompress="-DnoCompress=true";; --help) usageMsg; exit 1;; *) if test "$1" = "${1#--}" ; then - break - else - echo "WARNING: Unrecognized option '$1' ignored" - fi ;; + break + else + echo "WARNING: Unrecognized option '$1' ignored" + fi ;; esac shift done -if [ $# -gt 2 ] -then - echo Error: only two parameters \(input file and output file\) allowed: $* - exit 1 -fi - -if test "$defaultAPPHOME" != "$APPHOME" -then - if test "$profiledir" = "$defaultprofiledir" - then - profiledir=$APPHOME/profiles +if test "$defaultAPPHOME" != "$APPHOME" ; then + if test "$profiledir" = "$defaultprofiledir" ; then + profiledir=$APPHOME/profiles fi fi @@ -204,66 +234,37 @@ else die "unable to get localsource from $TEISOURCE" fi -in=${1:?"no input file supplied; for usage syntax $0 --help"} -infile=`basename "$in"` -D=`dirname "$in"` -indir=`(cd $D; pwd)` -if [ $# -eq 1 ] -then - inputfilename=$1 - inputfilename=${inputfilename%.odd} - inputfilename=${inputfilename%.tei} - inputfilename=${inputfilename%.xml} - outfile=`basename "$inputfilename"`$outsuffix - outdir=$indir -else - outfile=`basename $2` - O=`dirname "$2"` - outdir=`(mkdir -p $O; cd $O; pwd)` -fi -if ! test -f "$indir/$infile" -then - die "Input file $infile does not exist" -fi -if ! test -f "$SAXONJAR" -then - die "Saxon jar file $SAXONJAR does not exist" -fi -if ! test -f "$APPHOME/$format/build-$direction.xml" -then +if ! test -f "$APPHOME/$format/build-$direction.xml"; then die "No support for $from to $to: ant task $APPHOME/$format/build-$direction.xml does not exist" fi + case $format in rnc) ;; xsd) ;; *) if ! test -f "$profiledir/$profile/$format/$direction.xsl" - then - die "No support for profile $profile: $profiledir/$profile/$format/$direction.xsl does not exist" - fi - ;; + then + die "No support for profile $profile: $profiledir/$profile/$format/$direction.xsl does not exist" + fi + ;; esac -if [ $infile = $outfile ]; then die "Generated output filename same as input filename ($outfile)."; fi - -echo Convert $infile to $outdir/$outfile \($from to $to\) using profile $profile $debug $fileperpage $splitLevel $viewportwidth $viewportheight -echo ant $antflag -f "$APPHOME/$format/build-$direction.xml" \ - -lib "${SAXONJAR}" $debug \ +echo Convert $infile to ${outdir}/${outfilename} \($from to $to\) using profile $profile $debug $fileperpage $splitLevel $viewportwidth $viewportheight +ant $antflag -f "$APPHOME/$format/build-$direction.xml" \ + -lib "${SAXONJAR}" $debug \ $fileperpage $cssFile $splitLevel $viewportwidth $viewportheight $summaryDoc $mediaoverlay $nocompress \ -Dodd=$odd \ -Dsaxon.jar="${SAXONJAR}" \ -Dtrang.jar="${TRANGJAR}" \ -Dverbose=$verbose \ - -DinputFile="$indir/$infile" \ - -DoutputFile="$outdir/$outfile" \ + -DinputFile="${indir}/${infilename}" \ + -DoutputFile="${outdir}/${outfilename}" \ -Dprofiledir="$profiledir" \ -Dprofile="$profile" \ - -Dpublisher=$publisher \ - -Duid=$uid \ + -Dpublisher=$publisher \ + -Duid=$uid \ -DselectedSchema=$schema \ - -Dlang=$lang \ - -Dsubject=$subject \ - -Dcoverimage=$cover \ - -Doxygenlib=$oxygenlib \ - -DdefaultSource=$defaultSource - - + -Dlang=$lang \ + -Dsubject=$subject \ + -Dcoverimage=$cover \ + -Doxygenlib=$oxygenlib \ + -DdefaultSource=$defaultSource From 0f40cff49f5549df1bb98e6d5e64f2f282855d9d Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 30 Sep 2023 11:49:43 -0400 Subject: [PATCH 31/70] Update tests to match changes to transformtei and symlinks --- Makefile | 2 +- Test/Makefile | 96 ++++++++++-------- ...t.xml.docx_core.xml => test.docx_core.xml} | 0 ...cx_document.xml => test.docx_document.xml} | 0 .../{test.xml.odt => test.odt} | Bin ...{test.xml.odt.listing => test.odt.listing} | 26 ++--- ...l.odt_content.xml => test.odt_content.xml} | 0 ...x_document.xml => test6.docx_document.xml} | 0 ...ument.xml => testnotes1.docx_document.xml} | 0 Test/test-indexes.docx | Bin 17807 -> 0 bytes Test/test-rtf2tei.docx | Bin 35299 -> 0 bytes Test/test11.docx | Bin 48216 -> 0 bytes Test/test18.docx | Bin 148392 -> 0 bytes Test/test19.docx | Bin 54858 -> 0 bytes Test/test29.docx | Bin 84224 -> 0 bytes Test/test37.docx | Bin 14943 -> 0 bytes Test/test39.docx | Bin 154785 -> 0 bytes Test/test40.docx | Bin 26374 -> 0 bytes Test2/build.xml | 2 +- Test2/build_odd.xml | 2 +- bin/transformtei | 90 ++++++++-------- rnc/build-to.xml | 2 +- rng/build-to.xml | 2 +- xsd/build-to.xml | 2 +- 24 files changed, 117 insertions(+), 107 deletions(-) rename Test/expected-results/{test.xml.docx_core.xml => test.docx_core.xml} (100%) rename Test/expected-results/{test.xml.docx_document.xml => test.docx_document.xml} (100%) rename Test/expected-results/{test.xml.odt => test.odt} (100%) rename Test/expected-results/{test.xml.odt.listing => test.odt.listing} (93%) rename Test/expected-results/{test.xml.odt_content.xml => test.odt_content.xml} (100%) rename Test/expected-results/{test6.xml.docx_document.xml => test6.docx_document.xml} (100%) rename Test/expected-results/{testnotes1.xml.docx_document.xml => testnotes1.docx_document.xml} (100%) delete mode 100644 Test/test-indexes.docx delete mode 100644 Test/test-rtf2tei.docx delete mode 100644 Test/test11.docx delete mode 100644 Test/test18.docx delete mode 100644 Test/test19.docx delete mode 100644 Test/test29.docx delete mode 100644 Test/test37.docx delete mode 100644 Test/test39.docx delete mode 100644 Test/test40.docx diff --git a/Makefile b/Makefile index 7b0166630..a09551925 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ SAXON=java -jar lib/saxon10he.jar defaultSource=$(DEFAULTSOURCE) DOTSAXON=java -jar ../lib/saxon10he.jar defaultSource=$(DEFAULTSOURCE) DOTDOTSAXON=java -jar ../../lib/saxon10he.jar defaultSource=$(DEFAULTSOURCE) SAXON_ARGS=-ext:on -DIRS=bibtex cocoa common csv docx dtd docbook epub epub3 fo html wordpress markdown html5 json latex latex nlm odd odds odt p4 pdf profiles/default rdf relaxng rnc schematron simple slides tbx tcp lite tite tools txt html xsd xlsx pdf verbatimxml +DIRS=bibtex cocoa common csv docx dtd docbook epub epub3 fo html wordpress markdown html5 json latex latex nlm odd odds odt p4 pdf profiles/default rdf rng rnc schematron simple slides tbx tcp lite tite tools txt html xsd xlsx pdf verbatimxml SCRIPTS=bin/*to* PREFIX=/usr diff --git a/Test/Makefile b/Test/Makefile index 98de952aa..6aebdabc1 100644 --- a/Test/Makefile +++ b/Test/Makefile @@ -44,7 +44,7 @@ UP1SAXON=$(JAVAPRE) ../../lib/saxon10he.jar defaultSource=$(DEFAULTSOURCE) UP2SAXON=$(JAVAPRE) ../../../lib/saxon10he.jar defaultSource=$(DEFAULTSOURCE) JING=$(JAVAPRE) ../lib/lib/jing-20120724.0.0.jar -# flags used for the commands running from $(BINDIR), e.g. `bin/teitorelaxng` +# flags used for the commands running from $(BINDIR), e.g. `bin/teitorng` FLAGS=--localsource=$(DEFAULTSOURCE) # Location of oXygen. Only used in the test-pureant target, which is not run @@ -68,7 +68,7 @@ SCRIPTS=teitobibtex \ teitordf \ teitotxt SCHEMASCRIPTS=teitornc \ - teitorelaxng \ + teitorng \ teitoxsd \ teitodtd @@ -131,7 +131,8 @@ actual: mkdir -p $(AR) test.rng: actual - $(BINDIR)/teitorelaxng $(FLAGS) --odd test.odd test.rng + @echo "--------- Test/Makefile target=$@" + $(BINDIR)/teitorng $(FLAGS) --odd test.odd test.rng xmllint --format test.rng > $(AR)/test.rng && rm test.rng perl -i -pe 'BEGIN{undef $$/;} s/IEvJ7RSfHkR7Co*j$xkwsLq~%&zbA{rUU} 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ÔIecD-zi!3l1#5T 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

    J5d< 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 diff --git a/Test/test19.docx b/Test/test19.docx deleted file mode 100644 index 702812d56c9543f9f75099872314ad1fbd7ca761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54858 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 qUWs44fnPQJio$?mw8xi@K?bsHpn#$+xm9 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

    $Vf848rO+aC0vC{u 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 z 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

  • N+VTr9=eDZ z?S2E11haP3($;KVxNP1bT6H7lZMO>P51};L-NMcNxVRv)#ND5F?d3dkr3+4D1*xw5 zy{=S{Z2%OUokW22pl6t1!;qjic{( z#iI*6%A`BF0&otxosT-R8ZTK73V5#>&$Lyv2b6KN43MuGr=hvw_ z*@!MBI?$Prv*T&utQaWu!L_Z8gJ4HLn`V3*Pob{5mprM6nHHz%b~{QkqG|cEaPiqS zDjX5im-Q1@IhI`?H?KxdL+i~d8uw5V+mf|Rd)gj*OWw+-wXA%Y;VM-rKXY5k+2)Io zfx$%vCcbVgnq6%u6c40-4J^Z9`f~Wj=8O>07*~XRTsDkj&Y;s8zX1|$9Jpl1$7EF; znYFfR{Lz@2BV9(jt%PITm3TFTaj2$LI#F6(&5+PMs0xNxXMMz_I zA#h`Mrch&cVqjx-lt5#4pdV7VLJU|3kP0BBiG);8)w{g6LvFoKPb~rnT<*xaqFbJz z*9TTI&R-f^u389OTt3`wosO@1|6Ccuo+vL+@6sTvt-~y@2}}^7hQUXD9&yE%L>rlj zW##dj+`<|XN7gMFRn`d+o&IRdcNT?6BL8;emJQP?K<^jW$iR{reab0A;6|&$qbrx^ z8qgVmVYG{hl$AVw?`OgT$7Q5DE$BpsnPLSb;hN{rtgBo>D{2ULEzmyaGw z2zeL~n1Z{;HZ*wI!yOw)qugTA1q=Mw;<|7a*^j# zMM*2!qQ!JAR$W8eRHhAi1wDimCPs(dCaKhgut}G&!bi+Ma%)?aVG`)!0DTroj34@j zBZ=5WaP6qv5>I?(<<8Y^fHUW+W@SP)bvi5Nr`^x&`AxjXCR2q+!Dz9^bV{+m+H(^L z&raE}CX7wvGPs}2pVTM5ERhzYK-ruqNarxk1l;e=lI=0T+JIahyJMwQEI93J)agjC5GvU+t=qYbmHyvbQg>gXyJsgiHD%0$6#j#XqQL<@lZ%e zUO@^m8tJ@j&yz3z1lb5N_L5b9>3}1&v~YU0p_0@G$h!Q?&G=z{&|0FNCz_Ffb_QXx z5^m&Vr)5TlJ^m|O&ypuXkT`B3f|2f@KCB8_22#N|{8FYH{W3@q9J4!u0}Ne54Ype{ z4S~5I7E6GSzlp}gWjXLOEmQC%;HU`pnF6!)H z9wU}6{#pj!OV644Bgeea!YQnHf&2xWyx7*3#LY&Yt;?<~@uq5-uyp}enWqguN8>aS zO+e`M(ikAru`?QIpRR4kYJ$fFIFG`!oFexi+iTk?)p12;i75%~) zXV%aK&S0k_mc5f*f8JuEHBn)5HBtFH?R>h1I!5t9eH@MwPc3M>nMPS2!%Gpr{xl3WBfOYS;&)ck``J^01 zw$}C};1pCGz!~N1Xh2Ej-+1XY1U<4W!KnBa&3kD(BQbgKY)O8641}zc6&*$W37H`4 z+ms|r1V*PAA^?L%{9c2?m@b>mD_!(sRkSE(lSENW@L%WO5k$bhFPn9+K4ZN@rq25o z2#sW#{Sj2X$he*JW6=+M3Psbicf1}HW`5}W z|A(2k)8Y~-nnt5g*WJDU(mf=a{J(ni@Am!f#-BZV+^l^Ko4QGU0eY<{yb68U(9xRB zcr<)VSpI|uC(71lUmNs>z9Byx{Ou|@ShQdj6CCMERm>rL>7u@Qj4fLDTl@X9>+Bm0 zK^os>zT}M!(WpxSz?)|V`KJQcDU91PGOF8vSFE*$pW2?C&TTzim(h76!vVGyJ3@ZZ z2omF|BunCjZ%-?OhQ_XK$di4Y5v1t*8m$pz`{n7f+Q=1of4kMni`h0^dVV4a_@fS| zdH@SYHUn*TWvU}=Ak&PQb+_zU6O_=(KKZxjgWh$#qfgnq$DbaWu!muf%zd((p;T3b z{E|w6`qyR=cTUVhE*;oDN4%c{o|}CgT9i7sXY0Ig!Om&bf|K*E2ufluD>scRFq?(;ijwIYa;U&Wsq>*N;%8@Z|?2$Vqu zB%-5~Xn1)Radyw#0V99MJRz9Q;V0=RbFWqmosgz|11xU|*~n6@dJSaeEb_I|mV;)! zA@`UR<{>YKUJ=d;Xaau*W~;#pWnJ*fJN;HkKE28l%&gS=FR0LQX+@SMy8oy6S<$Z~ zsr9eoR%YD#y{~q&@|FKr#4XP@nir4!tsr3-lzwmDzc2dV`bP7i19Q##nWO(Jww>83 z)DP|dtFZsolAHe&Z7Sq`>u9pI0Y)MMckPWFv^waP&m&O$g;*0t&x5&NZWY(E$L-IG z>z}_Gr-5D1Tm)jXyns6%?McYpfG=R1!h7Nzxa=Q%y{{RhHOzlPo{{vMJyJ=bpVwJX zw!)sqi!8rz$lTdrMhV{p)K#f%46`zu9M13^5;1wqLj;J>oM1}9zQ&AN(?VrZ0qRoalJ2bQ_a^NJodesg_wn^mGY5o-)wrQQ`@qvSYs&Y z-#lMWp0@l8%$6qBF$Ykla47`N!z>L z2n|!?X>WEJH{&*?>6jbH<78Zs;AtygeJ$G?zmMsd-GtsQrxO6#p(N1zh=R>+P*iW|f!Y2w23KcewCU#hZ@sgif^AV5s*?jcE zWw)!inlhD@W|g4JWN){fueWz&NL@ff`JL^B8`!t*+s=^(Z;It>&tHA+Wd3pc=|;&x z-s?R*fBc?e`?dY_u9lFsx3P6#FtD*V`jxNnjMI|rVMKjTOuq>Yc_r0(GfK?+hN(dN zq4c#Rr(4-sVaMe4I{=y%Jo7Vh`#kYIbvo|; z2cLwmUFH7qQ`uZ4K7Lq%Qq!MP!=)vjD4tI)Hkw+@EiI3}0xNH;8<|!G5br(3MNsTmzjc+v*3WWQ%>C z>gv!$);bfX43SwFn8HFM%~Qg2IilPRtFETqqJ6%TUT3e_et?BW`TlBglCLH5yiz^V zb?PAdjOIg1RXV24#DR}EPGL>EYl-NDC$c$qYnSk)$|-AUe?Cxe#K#llRCNSWnxH*U z{OVlFdBOrfrlu)p#{;lFwBDM5z}E%ArWH#;TKoIMwn=Cd4;mkHG)+epKs=d~g^8?A9IhU`k z!1`kIEZwyY^wWadeD&;EW3VE#0D)#cO{s5Be~Y`{c$8oK^&jn)gqvu;@oq1r_gc*N zPXi|hM;j|uD@z75M)9rU^Fg>PAqW6~u#P3XYH&aTzra~)~-a=BZGH0DFt-$Kr zPy#8Mh^LDJPr0Z}4@b}F9n0)N&-h}?ZPz!Hm@`bnC92~{9I)1Q$8Dq<#QdY32x%Bw z$im0hio>4jB)OmvZJnG3HS=UehVn0!H47YNBi!AR$}xq!{P7On`(h&_LfY&iJ#JTU zYVs|PdUO-4<;s;?#9;dIi`3&++ZVA8=_bx@ zYw^43tS6OiUM-qZk1TDk?Nj)C=g?kqm+p7bZvJ`aTZL>=KJ0xs7T({#1c?7VEWbyj zELsq{hY(Suk{F*5rFs8joWQpcd0^}2{ZA*DV39c}rq()C`4sz?9S8`k-vU2-FsY{W zehE6KI)LQ79B3U~(bDF6`jQp~$KJn46I2e(YcHArCcp-tTcS1GSU*vKj8?CvEH>xv zpJaF&g40!eHu0?up08ZQ$i>shM@|alS-*hey5z$`{8lX;l&!6Gz0jRH+Oy9cxZ4DQ0w>+U6cQfL7v*;r)F*F|lP|csID&BXeCE zNnD^XcSHi6G0>q4tDX(1BTK%!ePmh(>sc!)4ufj8xS94@dDkrcZ|?=V-Y&S_drtCR zi~8RC-+O{CM*0eW%UYyQ>Bw|5A_C4`P&#_1T=ofTVgd#AVf!%*a=gDxt$eFKp=;ah zlsU5k)_2uwzkYkMpLcFp;7arSNa){=n5##Pe2y)-H6Q5eqXAz)oL%HuOzTeBi!VmI z`<j0FF~csI2SCIIydDaJni{IxyOb_s70D+Ssrv z%AI|BK?*111~ypfu&Jv+o71`h1_OvH`s8%~jN?qIMIE@18pMo1?+xeE7MIa;DAtOW z!1(@`03}>|rr?MVVLhT|9QL;u$=4wL7y<=)^ApMVutTwXQB+S{i$hF1DOVka;{ZSJ z-tA4)hh16i68_PjkyFz?9x6${@-SEzkOB`lc2VbwNIL@$zC0f#wHPa7pAdGxU>k?+8J=kJh8wI~ zWMjg9rel>(?5EzfHC3tBzco@=v&}W%-IiCLI@wH^Vme^F#SWvA9O`rF;gB%JxE)Yd z6l2Ans|n&QZwi{j)R>vG1^U8PTCzh$eghOAAuS+bZ_$}x{iV;50-Ew?=8qo=vp9rD z5MnX_1A6TzrUE>Y{)_=!wd<`21Y9*-J3g0W5+KrSSdm0o7RXD4C$;O6I@>#u9X~oh=T|Z<+ zkgqk9-rPZFEz@J+BOjvRbLu76;o@@!v$;+*vf1iys!;I#U?~e3J3AE zrsy${u-kgzxILO0GLOB6$BGu5&+1})b_FSivdLR(x!^)!lP3&|NAWczdw8ZT@U^%-uv&@@0t8}!K|$0FZlmkH2xR-?)?t^2MPI~1b+&c z{~{=Z`Y$>2pTIvAzJCFG-<$Wl;r|c4@1IP6s#5=AQh(3E{*CFs1e(8B@;|Bm)OG$v zW$>Oe`Azj-B!A-n6u13_&wLN?e&hcxb^8xcIw6{SE(9e)K2BpXuknD7>-$ zP4V|+^q=rQ(?fs3@!tL7?-u-(Ecz4t=d;IO;1`;IcoO*&{%1J+7rdD6Z}5Ky$A6;# z49fmO>oNQpi~JR${mJrY4D%O@E90LmzXO6l3I2>E{vu#u`a8it#T9>Y{ppwg;$mX{ ww=w?k(tk4i>2CgFNN4#sgYo;nME>J^WF^7g^=`kO9FYLp?;?gHwqHm8ACaG#-T(jq diff --git a/Test/test39.docx b/Test/test39.docx deleted file mode 100644 index 95022b637223a7f72563f23da2b78b884da1f152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154785 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 diff --git a/Test/test40.docx b/Test/test40.docx deleted file mode 100644 index b8b03bab45a2992229445467025f3d5c36f93153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26374 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

    4NkuI51v9O; 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¬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 diff --git a/Test2/build.xml b/Test2/build.xml index 3d4210ea4..0315cdef2 100644 --- a/Test2/build.xml +++ b/Test2/build.xml @@ -34,7 +34,7 @@ - It's multilayered: for instance, a call to: test.rng - calls the symlink teitorelaxng, which calls the script transformtei, + calls the symlink teitorng, which calls the script transformtei, which calls ant passing a build-to or build-from file, which calls Saxon.... diff --git a/Test2/build_odd.xml b/Test2/build_odd.xml index 277f46543..88769c7e2 100644 --- a/Test2/build_odd.xml +++ b/Test2/build_odd.xml @@ -94,7 +94,7 @@ - + diff --git a/bin/transformtei b/bin/transformtei index 82a06f4c8..16a8e94a8 100755 --- a/bin/transformtei +++ b/bin/transformtei @@ -106,6 +106,49 @@ TRANGJAR=$APPHOME/lib/trang.jar from=`echo $script | sed 's/to.*//'` to=`echo $script | sed 's/.*to//'` +if [ ! -f "$SAXONJAR" ] ; then die "Saxon jar file $SAXONJAR does not exist"; fi + +while test $# -gt 0; do + case $1 in + --coverimage=*) cover=`echo $1 | sed 's/.*=//'`;; + --css=*) cssFile=-DcssFile=`echo $1 | sed 's/.*=//'`;; + --fileperpage) splitLevel="-DsplitLevel=-1"; fileperpage="-DfilePerPage=true";; + --odd) odd=true;; + --lang=*) lang=`echo $1 | sed 's/.*=//'`;; + --localsource=*) TEISOURCE="`echo $1 | sed 's/.*=//'`";; + --schema=*) schema="`echo $1 | sed 's/.*=//'`";; + --mediaoverlay) mediaoverlay="-Dmediaoverlay=true";; + --profile=*) profile=`echo $1 | sed 's/.*=//'`;; + --oxygenlib=*) oxygenlib=`echo $1 | sed 's/.*=//'`;; + --profiledir=*) profiledir=`echo $1 | sed 's/.*=//'`;; + --apphome=*) APPHOME=`echo $1 | sed 's/.*=//'`;; + --publisher=*) publisher=`echo $1 | sed 's/.*=//'`;; + --saxonjar=*) SAXONJAR=`echo $1 | sed 's/.*=//'`;; + --trangjar=*) TRANGJAR=`echo $1 | sed 's/.*=//'`;; + --splitLevel=*) splitLevel="-DsplitLevel=`echo $1 | sed 's/.*=//'`";; + --subject=*) subject="`echo $1 | sed 's/.*=//'`";; + --uid=*) uid=`echo $1 | sed 's/.*=//'`;; + --debug) debug="-Ddebug=true"; verbose=true; antflag=-v;; + --verbose) verbose=true;; + --summaryDoc) summaryDoc="-DsummaryDoc=true";; + --viewportwidth=*) viewportwidth="-DviewPortWidth=`echo $1 | sed 's/.*=//'`";; + --viewportheight=*) viewportheight="-DviewPortHeight=`echo $1 | sed 's/.*=//'`";; + --nocompress) nocompress="-DnoCompress=true";; + --help) usageMsg; exit 1;; + *) if test "$1" = "${1#--}" ; then + break + else + echo "WARNING: Unrecognized option '$1' ignored" + fi ;; + esac + shift +done + +if [ $# -gt 2 ]; then + echo "Error: only one parameter (input file) or two parameters (input file and output file) allowed: $*" + exit 1 +fi + if [ $to = tei ]; then direction=from format=$from @@ -117,13 +160,8 @@ else fi if [ $from = odd ] ; then odd=true; fi -if [ $# -gt 2 ]; then - echo "Error: only one parameter (input file) or two parameters (input file and output file) allowed: $*" - exit 1 -fi - infile=${1} -indir=$(dirname ${1}) +indir=$(cd $(dirname ${1}); pwd) # This returns a full path where just $(dirname) might return just ‘.’ infilename=$(basename ${1}) if [ $# -eq 1 ]; then # only 1 argument, output file is input with new extension # strip off expected suffixes from input filename @@ -159,44 +197,6 @@ if [ ${indir}/${infilename} = ${outdir}/${outfilename} ] ; then die "input and o if [ ! -f "${indir}/${infilename}" ] ; then die "Input file $infile does not exist"; fi -if [ ! -f "$SAXONJAR" ] ; then die "Saxon jar file $SAXONJAR does not exist"; fi - -while test $# -gt 0; do - case $1 in - --coverimage=*) cover=`echo $1 | sed 's/.*=//'`;; - --css=*) cssFile=-DcssFile=`echo $1 | sed 's/.*=//'`;; - --fileperpage) splitLevel="-DsplitLevel=-1"; fileperpage="-DfilePerPage=true";; - --odd) odd=true;; - --lang=*) lang=`echo $1 | sed 's/.*=//'`;; - --localsource=*) TEISOURCE="`echo $1 | sed 's/.*=//'`";; - --schema=*) schema="`echo $1 | sed 's/.*=//'`";; - --mediaoverlay) mediaoverlay="-Dmediaoverlay=true";; - --profile=*) profile=`echo $1 | sed 's/.*=//'`;; - --oxygenlib=*) oxygenlib=`echo $1 | sed 's/.*=//'`;; - --profiledir=*) profiledir=`echo $1 | sed 's/.*=//'`;; - --apphome=*) APPHOME=`echo $1 | sed 's/.*=//'`;; - --publisher=*) publisher=`echo $1 | sed 's/.*=//'`;; - --saxonjar=*) SAXONJAR=`echo $1 | sed 's/.*=//'`;; - --trangjar=*) TRANGJAR=`echo $1 | sed 's/.*=//'`;; - --splitLevel=*) splitLevel="-DsplitLevel=`echo $1 | sed 's/.*=//'`";; - --subject=*) subject="`echo $1 | sed 's/.*=//'`";; - --uid=*) uid=`echo $1 | sed 's/.*=//'`;; - --debug) debug="-Ddebug=true"; verbose=true; antflag=-v;; - --verbose) verbose=true;; - --summaryDoc) summaryDoc="-DsummaryDoc=true";; - --viewportwidth=*) viewportwidth="-DviewPortWidth=`echo $1 | sed 's/.*=//'`";; - --viewportheight=*) viewportheight="-DviewPortHeight=`echo $1 | sed 's/.*=//'`";; - --nocompress) nocompress="-DnoCompress=true";; - --help) usageMsg; exit 1;; - *) if test "$1" = "${1#--}" ; then - break - else - echo "WARNING: Unrecognized option '$1' ignored" - fi ;; - esac - shift -done - if test "$defaultAPPHOME" != "$APPHOME" ; then if test "$profiledir" = "$defaultprofiledir" ; then profiledir=$APPHOME/profiles @@ -248,7 +248,7 @@ case $format in ;; esac -echo Convert $infile to ${outdir}/${outfilename} \($from to $to\) using profile $profile $debug $fileperpage $splitLevel $viewportwidth $viewportheight +echo Convert ${indir}/${infilename} to ${outdir}/${outfilename} \($from to $to\) using profile $profile $debug $fileperpage $splitLevel $viewportwidth $viewportheight ant $antflag -f "$APPHOME/$format/build-$direction.xml" \ -lib "${SAXONJAR}" $debug \ $fileperpage $cssFile $splitLevel $viewportwidth $viewportheight $summaryDoc $mediaoverlay $nocompress \ diff --git a/rnc/build-to.xml b/rnc/build-to.xml index b04e5b685..cb44454a1 100644 --- a/rnc/build-to.xml +++ b/rnc/build-to.xml @@ -28,7 +28,7 @@ - + TRANG generate RNC from RELAXNG files diff --git a/rng/build-to.xml b/rng/build-to.xml index 018e46847..a0794ca10 100644 --- a/rng/build-to.xml +++ b/rng/build-to.xml @@ -27,7 +27,7 @@ - + diff --git a/xsd/build-to.xml b/xsd/build-to.xml index e36916fd0..a8eec534a 100644 --- a/xsd/build-to.xml +++ b/xsd/build-to.xml @@ -28,7 +28,7 @@ - + TRANG generate XSD from RELAXNG files From 48aeb257c0d80c7c39d1e4dc6b64d4391fc192ca Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 30 Sep 2023 12:24:09 -0400 Subject: [PATCH 32/70] Ooops; forgot to add newly named TEI to RELAX NG symlink --- bin/teitorng | 1 + 1 file changed, 1 insertion(+) create mode 120000 bin/teitorng diff --git a/bin/teitorng b/bin/teitorng new file mode 120000 index 000000000..cac68564d --- /dev/null +++ b/bin/teitorng @@ -0,0 +1 @@ +transformtei \ No newline at end of file From 9af8ee422732d5eac6ddd9a81955dd1940598bce Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 30 Sep 2023 13:37:47 -0400 Subject: [PATCH 33/70] Restoring files I inadvertently removed (I have no idea how) --- Test/test-indexes.docx | Bin 0 -> 17807 bytes Test/test-rtf2tei.docx | Bin 0 -> 35299 bytes Test/test11.docx | Bin 0 -> 48216 bytes Test/test18.docx | Bin 0 -> 148392 bytes Test/test19.docx | Bin 0 -> 54858 bytes Test/test29.docx | Bin 0 -> 84224 bytes Test/test37.docx | Bin 0 -> 14943 bytes Test/test39.docx | Bin 0 -> 154785 bytes Test/test40.docx | Bin 0 -> 26374 bytes 9 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Test/test-indexes.docx create mode 100644 Test/test-rtf2tei.docx create mode 100644 Test/test11.docx create mode 100644 Test/test18.docx create mode 100644 Test/test19.docx create mode 100644 Test/test29.docx create mode 100644 Test/test37.docx create mode 100644 Test/test39.docx create mode 100644 Test/test40.docx diff --git a/Test/test-indexes.docx b/Test/test-indexes.docx new file mode 100644 index 0000000000000000000000000000000000000000..1558f6d07d3e800f789c956ce7822f55c3743c83 GIT binary patch literal 17807 zcmeIaWpo?aval_)9WygC$IQ&k%oxY)m?6fPnK@==W{#O1GsMgoQ_TL9oHJ);a^}8k zeZTMRwIsDxca^rbs=A(CT_r^sFmN;gBmf!!01yKfe5Bkzg8%^0kN^NG02)+B#Lm{q z%+|?3)!p9AQIEmR#+oP>9F!^>017<+|F-|dGf=N4qpFREKE}BDY!4`ow=61h%r{ zczE?;s7(0|rSj-p)5>ED?1_c4$q{vw0dBy-8Qwz^Z+&qjx^gWlNe@Z9^20@?i@Vg$bN zjzQ+V>WUxL+i+pycX`tIwrZa<>3%xz>nj*Q@o#R;Aje1s0z9$_^jcV;TN`{Zvvy=; z`1$;Q?)<;lhyU``%j4u^z?hJN&i!AB$2xdcXh>$(^hFQkOrJqSm>-2W2+34zUOR-4 z^@?>6`6yD`ug3byIiPq-IilWQRQj7K`5PB?VC!o1SY6dOLnVI7$eHG;+!%skzqy%v z2$YC>qP`K4q$z4v6=FmoK#D(GQl{}TOg7Laq?h6!Kma?$caA8lZST9|0Xvc^Tuytl zHNWa>8Aa^MpLM$8GWB$D^Q|@>l|BZsccNPBQ_4~uoUwm(hbZ(hB5pr^(b#KpuaH;##jk@!cp7M?Kt1 z9m$%nH_G!f#e8SL3}8it;ogPa9?@-Q_*{7=Dom$GY<2z?(~68KU0+}Jb4?PSLGB1^ z!WT4&mg1CjPk=JIwp5ATR6qJ@KqB6#qA=-PFdcG`7Q6q{1k%@lF;o2=lCf~BSh{(+ zr%R!r_#Gy;?0xFH}5K^6At<9$ogvK$ly#^bc?u{wAU`)HN0Labd_gfyK2Z_NQ08}E^0}fMQ%!Ab47}u zcvwqqmld49A-HO3|8QU1v+uZW7RiQLC;qiw_J$s1)yx5I8~**Bun8%8(~ieX((E`m zhg{u?rn1255S8T@QVjo2M}{QT0S#Tc4fyZvVf+C>$cZnrh+g+^9#U_`$3`P-P;%lY zj;_qr@1nroa59b(d1B30db104OYzroh#KXROH))uC=Vri!1sVErUcjQOX#f1CqlZp zrAk9lW~85R*DeQsXTLbW`bc(wW1R)x9`$BRx;urOkv;$%iflGX{1Js-rH_QlI4>aT zO`C~%+RktjKYSW}{5*2=h7R6Q_(qupOWBZ5dVSl4J1Hz_4{};+kR5NqJ~5Z%z^pE~3tQ3-_^c8va+&?a2GU0bx+K%HzG|fF zAq^t#?|s;h6UGU2sP{*&#UUDXJOuD<6*}*DJWe|t==(>;@nA|89R7|T)!l5IrSkJ=1X zIUtXxgb5h}9-iuEB%bxeL;)!~N5r`_-iMv+y^*iQ>G?HbVM1smr$?Y*FYq2ELty7^ zTjdp4(PN&?Q{PzIE>ibNhLxs`@V@n<-KG;~pP`rq+Q(`xy}F4;=_iOqIG5+-x9)Fb z7~zdS2OS<-DoI%+_BxkKdFIyEs>J)|VQzFda9nd%x6TK4XAG^Gb(%DJRK%vOn`iL* zZ@KA06Ed5{3DtK*=aFlfQP5EmI)kWYa&8rM3~JKYb0qfEi)Cun&QSw6@|^( z;^(uMxVju@+>|?*JOh}Qy>rpgqZCa`!;~eG-d$R`T9On;&h|%;)-Nwe;C_C1dkINz z8DIfn@{PPU!Sk82_SS2G)LRx5VNUphz1)m1^1KoO^3$fXr<>KjW6MX>Ie*ee18fIG zuFL*hc`ghjJKl$0go#JxngWtg6h(A%rj$=r7~d#S?k0oh+OUj29^NNPVYE&ah*#R@ z^a=eCHLK4Hd((<&fxGX(rY7#+5ldA1q^pDV5vuu?L|$E#P~-)!MkjGfZFOC>Txqap ziU2Ns-$3F=Jf3ey{_9kytxLI;Op(D?+y)-hIdDb#j7)2~mD#;Cl*4UITWL*b-I;{D zbxi*3Ge>t5l4(8k(|80arkF~>I7?ikD&Awvsj_R(^V?i}j`AzzR$n^ULM~c%&epbz=k+~e{V3tVzD7{8bhUXpO&^7+w* z!JOvWKolf>p&~hOZ_OdK@QHT?W1N!y+@9yBcq5r3CyRT<9C!c@1xx=zn|hQY(BY)G zvgP7Zm^A&7d#(Df;Lnjtyw-8!FCRWm@mPDDO|{@x5iOMbl!m&UG;AP1Tx}C3k1T;7IZCoU--hiCral zrV?yPyd#y$9&s10*(l<;EF@4tPCxS|jC>_p*EQ}Adp=b#)}$a(Ne|DE>w05q93-Sv zT8CgrO2wMo_Svk*52h@DJh8Pqzvp}VaY3|(I59fj3>MiT>j2ayYH?nYt{}c+L_LRcrn=_pD2_NL(A4IAXt+SV?cTj1DE*ps{IVF zwcHcFoOR0^(#^gPpXJM!VQ1^k%P5*_8=;|~cptcz{ao*;s6JSVBdFqZ?-h4>h49Hj zy`NpoEMI_t)pDtt|CVk{SpeD_uf!6Dp^5DX7K=dMPZI~SQOTT}KXM1oN#B=qgl@^;4u;FuLn-}csLE8ZC%fevy zm9t*0@52z%Ali?yJ}7&KJz8?Bl!_zx@HMp`94ZOFl^)uRPOACG+DGxMd}!rO@NV8J z<1FzM^%=jEZT7c}wnS{NQB>(Ps^!l6emXVqK?xsK`cOWjPchq(@%gt(NeHmVMpsiTy!OJvNNG{!GUrPTdYZ^m&5&H8%*#% zG-**WS8zt^BkuCHFGydjQ842jT&?KPxJfKiLiFsVyr{df2`y|0zhtDoe^W|*1UZF1|8DkalMPIGWYBh5qO$l)w z?;4gZO&phcaAW#8_AeqQ%$wSdHsFW0H1;o^X)ES}!a1@-rgsbxD)5)j-_61frPQ5D z-{EvGSYmqx`CCxs%G6<9iPDEPV6AWGA_Cw|HK)N#-b)WG22-7Fxsg%L!(DLq6kzl0 zjJ6Pu!%7)UsWx;Vs=#40<^4Fi|55c>Kx`24Grqvx;oWB6Hk5$2@Ijn8pW7tRFXa3r%b;aZ2{?f3453-y0 z#_i*WNn|&q(9m4;4AJ!cWr|XTra@nFNBJr^xqj$E;H=}k1P~(~y zOT(i%7pV`j-naFRQ>ogHZf?EdNEpF15U7lKw4q;0ul7{i9lH$`?tpf!<#la=K3Flx zY`P#@B8@@1(wS}BdaC5~e7)alr^;gNB%3UKi)OJFz9_y@zxKVi(o+^2x0srgBmaFn z`3av8A><9W;}%&zHC^O}(mUq2_Vzj5=I|)GA4SzzL+szkd9HmG6;6#sAeV0W)R&80 znP2gJ>W^Cjq7pVD*XT~<{=68 zrmrdgjK}0-v28}e;7A6EHX<(E!-iYfob;-8+6k^bPk8*u2@dSy?l(_V#$9CID-=bZ z)F?V?N=lh2r4=i-BB#;|>(OdQ}&8w%B`He#E=(?vtE%P5)n0qb>Ab@~xzmA@Q(8H`^S z9yY?Mu%3@W^-Ip10_2-VP#h=~9wO}xZ_GmC;tl`hC(Iqi*Cwua?^Ei7MDmx5h*8jP zNzq}1Z?oxA4|oDK`BvKKq>_-Ck=0N%3e``LxyY=Gtu{)(t?;1<6{lOqC4vO-VEdeT zCJE&!a&YZ>Inrp={8+}jE8-zcAInbA36>LyU+F@su|PC$E7h}0+V`~6Lgr(#s>5+t z2h`1|PmRpHu!(W*t6R~|XAF#v>vCRfwGX`2WEG`eB_@7`x)q@DGVgLZfOj7Hk<&AD9`sdGnWLx}%ws(|g-@jz7a%y}HiNu;xuz{c3pN z9>tKfD_X2F?|QL1Q*I zvtqTD-&s}4XD+E10_g~75@ycd)Hw4B+HqWwrR~AVmy)8ImJoR3{{?q8q+mh%GXhOv zgsL)C&73$H`U-u?#f1aPrNqf?9IjFWoTCl>1B%LpkbMJXah_Cc;sD==DJ(oZ3t;@Ppez0yK{Sf_nvAr~5KMo;3?R;7$YbKZ6<9HoN1a3_a5 zExC3(5~XVz-#;gy40n!A0R~{z3z~Qs$Y`ip)i4LXu{q6R5-;Y<;L_1jq12mTxpjgN zVb##H&R`kN8A{vusH2f8&KK~6VmZyv98;?o4(QA(KYtn#4u?!ZfcDY{Pwp6bu30j% zJ$~hIYV6y#__jSqAf@`AE*w(L(1yM_$)CGZ`-%D*r&Uup4hm-F>%dxPTevsBpg$?3 z((P={KA~u2$f+uZ*$@bmo>YA@xMhy}wrvcGbCd0gP;H zz2(*H0r3V!79NCY{iXxII5f>K*#399Qr8l=Co)5tw9?iq*|J zq~%0n=-M)^M(i-7MS00;$=;jN$r&z`%3M0!))QRQcyK9B3ei}@H-6aMajG~v z|0NGJtxxW}rSvfVTAw3^bqB)7DR9LumuR#jh&6>$38s%|o# zx7>7@B`rCjw^qr&E$*3uHWv~W2%AL-iY%cBM(gT+=x3Y0c(9TjpMtgC&d$2@OV7=- zxWTTPHcd%qIm#Eup)oD$6F?2p?&B8tQ6OWbi+r%YH8k?Iv*VyISM(5+qdKi2CI+bu z-lt9ztEi#acJob8e1XK~E=gDD3AzOw{Q2Cm&p+n`pWwlMzyJVBQUCzX9~|xI8; z{k4xbdUTQ@Bw`N4%<-wW!xW+?OSlu2c-G$cH*-JAF$wxBq0MhM^wt~QHbN3{dB;x% zgIDTgR>Dv*%2Oyo`Rmr*tY05q_OrZ~Ad&b zEnJG-eVcdfSLMtXl7M@7|_vUk{jnZeS z{-9qm*GCN?8;;l22vSN3@1u&14?xK0l5jWk`4Lf6t1ul9(J+MC9r`lYfw{q##T^=a zwr0Z?yS}hyunEl)xz3^|B2>#{akJ0>eqs{kPxF4cz5M2t zQcU-aMJ?vZQY%OZhUs88I%G47I_RyZ`D+l9+DSVgVB-%ayhmbRjY&b!D>bb(hipb& z3tbibLKbJhBD=Sf#v~v4?7vELa(Im^GluS(T(gZ3)KNY;(E5`#HmYFoR6YVSAe6l@ z!Mz`lzEr|z*<(-=8YkmF*^{nw--V)5LcCu%8)@)FVS0fw?R;xzju?DDqH9^*v{$o1 zZ4lm3*RQ7(pE@2;HyEg^?Z28jo?F)sMO_|jz9#^?7vwq6hgyol3?)wxVs!io38B4^7_b_@vc*w?4oB(oKDlL z{Sl{y1au;ENkan#6$5kCRiLE|JsF)^#}khIEbO&qv&UpiqwPk(Hg=RHG)gi+w1hG8 zdTVY_BRDvYLddDx^i$Umyx<~I6et2sLMxBWtS}5Z=IaD86ipD65_`rlj%Ch^gx}Or zJ=>I`wkj)N7w3@Ml5wlOBP9Hm_Nt|xah7pG3}v{+^4*_s)OL^x!8n6 z9vZFL=Dax8NFExl8Q=~Ia0h#;IS=Jx06+1L{jB)Y)d4~t-?Qb} z->zko&zThrJdBXsqSe@&4EJiQKVoSy%$NzQpdVg4)#{SP#+;f5NMv)5=6Nzx`ds(H zhwB}Tr2A^Oz6dq)&)dbqo?3y;21<8^$t|Yf(HR-=?OjA(sPonm+?9nD_q;InY8Nx) zDYYaSb+~4+heGJ((6vMwZsQa!cnS}9xtd(}Ok46-G8IU1QU`6PwU=YQq*krYPU?vq zh!2EK!uRU>3!+E29q0xXd$i(I#DHX{WRC>4z))pnchNBHU7AHuKa?pu<$C$Ql-g%f z5ngS(c}1q~LB2qm#6~TAxjUH%q|9|b+I^QDOF%I|sVOog`Nxo~s63H~r10(o-C8aaaJ4dN8dYt9ry&a|LS}*0B38I11H(4Nx zZEq|9vz2H#fVmxskCS;;B>4Fs9ay`W3(fTU-<}SQ@iLj4!<(vua+jumdMVqxp5GU4 zutiaf08_0<2S?jJNU%(;Ob0KYIHCY4E3}*)EFLPM5XW8^Cy6-&hsJOg`39bCJCqKX zg?C5wU5t^1A94`^OqyTKvQW)H@DaN+L2o9`fFETu)E9w7G9Qn@Jgdf8J z($6WVc1e+qB~cXB4x@P&CPk4@%{qr%-AZf+s>rb;2RI4>3a$aqEXD;YYoI(gk2xDk z_ca@XPg4m89%n9uf>$N814ZgI?uCaM##MNBrL+SLbMP(QkrQN!k`GmMj+gHKIh``` z93Zd;Oj1E`u<(IVt%`D-e!v;D$;4u3BwU?=k3P8)D=f6j$y@lS;VAT&nrOGyoXsvwdbn+KlW zt052QRWU^={Lknu6~2uVt;KSHjHckS7GVHKU@D7-n83DE~eNw)o=YSP2%mqP`X`kJ@^#9!pudur++20D$KHPVD`AD@Ta-gc?4 z)EQO1o9JWojpiN+_Ds19`%XRYXefhVQnPV#CG$jCX-!vN1s=*88*lW3@iSx`VKLL& zL$Q?VK0>H>M~em$=0`ihgmqlNJa0!$Ye!~V4R=dBZkZ0v`edS5RQpA$6&H@ds{SVS zU?{Jtc8Yl)ZB(1teU-1_{Y?dP9I!T1@ zTUNL!3xO9U?-cP?QzwV!@oGqI@zwpySJTE}UkO(|D%;l+b=0aMF zYm7P(9FAme)qLz7ZyXr;`i{}#Quj!$sdju4V&$%%S?XfDOhJ;>beP$b`0t)?KiGdH z#Y8~wpc7%aZ+pl>f13V==k_dQZ#aOc9hTs}6r(|WGov&m+gLO11+}O2?;F@d!6~DB+YZyw7 z;DVhJm&mK$s2=X}x$m*UoXO6|6zt9*^6uLYzYkM&h!sLB-TPF|HIokw&r_IPW=}&? zj7-tV0?j`rd5Z6zyZ&))nxq;@paaCkb1?t_@$b0!b7i`tvtqjqWJJa(AEfKgH}s+L zh8<#+Yk;LP)a%rwL(NFC*0_vO?~lPEp-JQ_INI8DQ~cz){aknx7h{~8?yrMZSe%o* z@?OYtt37R<#}`AWjshMT&4@oZpeQTj^Xby+1Vz2JI=_E;-tIf^>hR%`nQ8K+M8FD( ztD8!19%a?byzvNa+98(t7K$Fd(H9sZlGJPRv6N!sl=MuK|cyq^~kP9mN3LNi>^p;+D#;?@ZSmU!?C1TZs3Q}6t7I0V`t z;q`Da5{yG0`@$mi+4w@khwSLCK)>Tp-w&=XMXUC>bu_Er#dn|1+T`dz5*|+eMp@ z$MsXGFFR0+UgkYt@DZ+JWm^0zYJA0_?=?~IWbMLfQ=56Y-BLz!uop9%>G)GV%b4&v zvAk;8yEg3d@@^`tj|CX|VmC^1kwNT)u;Sb?Lj{`*VcuMPr2mmvp#p?45CCmj;NVP@ zNTuMOtQu%vk(UEyJ0*Ws;YH6EF*+=-=4YHok|46o=At4LRLCOUYk`L=uH=1kT+fiC zmyFkjooSKY{q*m494Sw!VhZJXs`Lij*ko778qrmz%l?NU!_YoSs6-A#co2BHQ_Jh+ z;_wNI4i{N?AF_>`QO$-^c{dR%yD*?T^qU}Yq@%+Svh~UuqL$M+t?jmoJ78qLxp*?! zcD>oSX+&0PQ5ur=P*mA0*`Yn_JE*5H+l`RMV4El=liQAvj$)lC&KCvlKmvEb+a1Ko zJ0n?WHp??NnaCM^ z@Rh9Cl>HZrG0EoJS$C@j!T0k>t+6Kk`xr(HLK`T@O$UmwvY$s`ggX zJvkl4Qkk!kp8k9bbF2|)rSOPL?6O zkYmpSlGP(w9Pr%+{e#m4A7W>V(&a2S1};H^U=2dBa1XE&v7eiYd>L2M%@jWyWqt~@ z41YlzpcQ}S`f@Vb6}p50X8L~3ik)CT)(9#aJl5mD&MKDu$CL;dkj89Dfi%{OkFz{v ze_3py#b4s_4td)pa1yjw527Amsqu#17w+EZ%-u;YKcJp53PW?gzPt>p5I;3_aDJ@Z z??hTq!a07*2V1_13$xTY-q#pE+j5O8TT`M)b<}B%%+Oh#14c8b)F?_RR>dZxwlZCe zXblF5_kW_L@qg1&uZDH!k<~AxDQ^*~(YxiyYd_0LeE2tvasPrbO^HEKAOv~!Q=kIL z<_KEzKlt@OuwLyStf%!g0Fow-0|eTjW-};rC$i|J=qK0wp|(i0xK)bWPz$Q~Q^9b$ zZ(!9TnMhFJu+6qA5SK3g#HC*}`MEt^sFlMJFLY^L|bSRC0^%q9YuU5yme}DVp z1O!J-sAB1F;AqDO3D9a+cp#(Pg5-2^z`>6t{|lFHA!@(>RP6SPPJdCQ=cO&=;ZNF} zU(M!f_z6l@9#eupQB}*aPyTX%16=x-e_cnmJE zMAh5xT_k0?S4Ch&MLZPs+L5+~bM#IKuu(q2?M{LkY$Tp>v=^u#kwgrzN&7!CCQnF^ z`<9ILB`kNkgB|7M>O${IDRY7!%dV>vEotp?j25sVK}+drP=E-BuF^yMGiya>&^hy8 zkc5@i8a;K{1ik43BayfEof%+x2U$!{o3=jWg=91!m~ky;8A-E&yqf)u4Z**x$cs0) zMYmSd=3Klzwkw{RlfBdTgx1fq0Nb={osbZbfpPX)_T=Wv{SnK?HqLGzesMdBmvlXX z^?;BBboxg(|JSV%Q=^Y&lI1ETaBZFltT9i5!`(X!{=Eo3C$qCPT~@5lmwm^w?L(+y<0lgJoeY+1t08v6EgQz$Y1P6Y3yR zze({c#~f~AxkWLgvkV6iF(cMHvq_~(QC{1yqsb?zEM`{;7M0z{9@4R|HG9|{H&%sZ zY=Y-2t0>l)&*IH~W`{CR;?d9}8hWyqlB509Cjk2s!=zWMM5BaDn8^e25)|QTWO9+k%05{9Pa=h2x1aI5aT8I zA(3opMgc-cp-$n$H;cG(xsc3aj}j+h9*YJ9F`21j;k#KDI=n`fg&~|M&GAMAS|Rn7 zw8Owx#1)TXm##7!wGQP})wzSt5^cI=i;_y?03e8skw4Z8G;?=+lb)RG#~YTtLS{!( z7RaK0@RrrxVbtn2n@c+JD?s$_;=zggrChER z6WabJ_0?*{uL9EWZ4gFwE#`;a#o%qo#L+I>Q2WVfRo%~S<&Uj7wy=gk4&%9glHi22 zHvCHEb_{+rsrrk<;w^aMmzH*b9Om+G4(t5IVJp8l%8+RxO7s`D+{fyxyQCw3iYMmus{~gupNU-}hLY1h_nUfk&u-^G5)z!2NUn z{#Azia~6M1;Q!U&{>5-UP4BukYW$rv@qI3n>QMqm|6PYtE5pq z++rxu(w#8D+`r_n3G|kqr7WqiPN}j{MMQZJN`MLMpU+{Sg-3Q|Qs??nGM}{V=JIV? z7tnp*K`qM_Wq%u*pE-X*0hdH8jWueTjaQz)9L=re+CX~btY_!+Vk7v&s8qy`i0}b& z_C8hm@|7Jv!1Ye-4CCzxA@cH?CY5fl*H}XH5PLKgWV@kTQ(EaNY^&AHpwAlYKUqNo z&%K8^&;mk%B__azBoJUN>@U}0{FgcWT+skK82+#P8fXIb@j?o{Z?S^TDPDpLf7CEz zG1tNyrBA~$h3U(k@@Jb`B{#qoe(%yrVTd~r+nv9)THk+vHAi@U38$t=!yx9{hVPFI zO`*b&1mc}ypd}KKP)JgciiWg-gGLa%|L(Hz7Tfmm9HrNGq$f;voWhi2xX<0wJ)kQ`J`)1Wd_z4QS75*h}Abz45K!2u#)hR zPh?D{7yzJEP&`KAhAQ0dwaQV_bq#L=y5G*hm4a?H}qRAmj%+XJQCF_59fafNFjiIlwJ zguwVB%#6QUm-r}oVJE|9W=MY=oirn4ayap_TWImf8`3Qiy^`y>TjS%LDW|kdT2B}! zBpHm2Kk$x>Vy7j_mDNDwJ>x9HPS=<4mW#8{VxRh|3x3QQnha;80n?u>D8g-$ED;Lq~u^2O2(ub)WRI#>}SKFZ(r?gPxZL~Ir5dHN$;lzqA0GOLu}fM)`#tUYs8~zn~B`QRxW?(9^SU z&5;YVuyU|fiLMWIcgqS;vrtpA2y{@@5app*VyQ*c)=dX{4n!pb1H?aYLJDUZJr>aY z_Mrd(6yO=ZS|-eaZL6wA#@4@la81HUwAqPq;1IK5w_>aguY;HqOET@raWV9bY>}? zU|R@9nAx@=L2**Xg`0)PjU4(WuTJL%Vt%pj%2KTLLI@n0c>by(CFe8Te@@oF^`>W^iDT_B1I`j=sgD;dOCy5 z{LZPC?+5SE+JM9Nx`^(Vm4sUy-Ykq?=hgoD<8dZjtVvVO(3fOlSs%fLQJelkYN;k}pN_Rc|GV0z zLMi?@*?q!;GQMigH<^|L4W&eyM|z7+N2ktAttyFRs2C@@}^3a{|nf!1g}e&|`1oh{FZHvVwHZzS~8odBUp*cJIB!5~SYD7%QfAaSX$ zqkKe{0AoUA_&{JG>mzWM{+rn`C&U`|fk!rhw1)K8aA;(2|9{aCXjK2+GE{niS0uO& z#6$3YL(3WrakFkkxJ%ss3ep#4|4-yt42_|Gmj@KZOhm(SS<#lC@$NxQM5gFP6%k zIh|)}zyXLStR-%OT@)k~ByNSat^=S}-9{A24x(8kF{w>Gh`uihgJ*U}7-O7K|D0~p zyEufp(X3OYhe`&|0OxoZqzRaODac7`Xj!-d!;6lrNi9NiPwKfhq`4(%b~rn`5cVp* z&zcb!lOHrkB=9IBh<%_u|VxRZwF8 zTg6{XF@G1=`mLPmPw@o&Kg9p3xaxO3zu#y3Q%@h|-}L;v@cl0Q_vFx@q5yyl6X1VL z75%Q|?WXCr0RCaw{kwv{FNOZ9;4Q~r75sZ)^t<@q zS@o~t6Tn{BKa)TIN&Eb+;CBxEQ$-#3zkiRvQQ`0MzsLVS8MFEjA(Sg0ri0c?)>87Gkd_`q6XU7?@v{y(B;wQ>Le literal 0 HcmV?d00001 diff --git a/Test/test-rtf2tei.docx b/Test/test-rtf2tei.docx new file mode 100644 index 0000000000000000000000000000000000000000..9029f56a36b928166096af92b58f2070f91094e8 GIT binary patch literal 35299 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 SUkiW{fJOi(8d%7$Xa5U#rMtBN literal 0 HcmV?d00001 diff --git a/Test/test11.docx b/Test/test11.docx new file mode 100644 index 0000000000000000000000000000000000000000..527401a5ccfc8de7153280b986d0ce5d5a3edb2c GIT binary patch literal 48216 zcmeEsQxvt`@1&C~AFwr$(CZQHg^+qP}nw$179PE5p|i1`P1>S4d^+{mn4xe_HO z2@HY)00sa7002M;V1Sz@;sFQ%5CaMTfD8Zuq$y}?<78~(q^sm^XY8m=>t=05Pyhl% zkp}?uEC2u3|6mI=DoM)*@*#9(zT%JSz*=4OVJNN#E*G-Y4L`WJQef-5HZ**_zre|f zGs7xXpd+bmk8rvD&9Isv(g+l_mL3lo^Apx9QeLN4eCF_tvQ-b_#~_8WBrxXWW5Lwb zi8|&4$3R@y8^1@`#66*KqyQyb_Rmk8d{+Qzf0Dco@4^?|6Mk>YakxMYERNs78;f*caat75*85z+4}mgINu=xB*GlKK`S(R*wRit$M++zJ z1#7Gn+p&&fH)zloLqu}Rl1OgHe`RHFjmIK`R@`EEQZuxX_mgh;o7y8drpy7(Yj#%s zNhLmIX6=E$X$z&4c)fGG_yGRb+kSq40p$KK$oA`HJUss1k@-a=^e<#}9gM9U>1h9R z{r^z?AB@lcrg~IDp9C-iLdZ?P4Z`tuwlyfCc{4hq2XYxaJ;}n>zYcLR5$m08ekCn6 z%UE%f?zdy|iz$1YN$ivP5j}nNB|Wy*(~nsVw>56s>t2-nUGp%1nyl8|;3;g=MG8ZM{JPH!u_PXoG-M9o7MQBe-jQ#tz!{JWR$alJPm=T< zit}SX4F^6uoIYXK&W8kliS0Dv;vv?~7KB8uqhhr;Y>`j!yRX3hiz$XQ<>Qc0}0TK&Qa}pCAD+bKWEP<+V0o z000~S2tZd`2P3-wjT9qWLucz>iu(_@{U6i-{u11;^#ANtnK&ggK#ve~Bi0#s#A&aP zN1#-K&UcO)z}7L%Q5SYKs^fG2oTl_IT%(^9U9y8}#>+BV^@4684*r&(bHY5OD9JCm zda-%`@t<2~>pzmb+J9zQpfa2gPT9G+RXKTx7<9oJE&f8N*lbmZ8=S)dm3?7xt!P$R z6erQWYVQ$E0^Q+It3=YNlkm)DJo6-(35q?Gbd;3sEF3>IS4s0o*V$gIdUrvf(0&-K z(DI6}P;m?1wvCUpY{B79Ay@ma$OD=7^J~+0%7$NgC}LcU_)*U| zR*!r4w*OBLBT{xhhztM#;CKcBK>U^XFAw|gzIExn5p&3raQXo_%?t6Q1nbn|EGfR$ zuuN2wqqCZ`Z8L+1PmKm%E~T8joURa~u$KD3lw0=!d@^t>DI=GzPNP7AN|c^zvC*q{ z`3IF4Bgzvb@aJ(RcZKT0P{XEy=;wRb-FipOyqh9L{rmQ7O4m2NC&H%EI{9$INcr&W zg;jU{YKnK{=fU@Lp@en9piZ;I-MA0w?RlzXYX2j1q

    e?YiS?pFx{^W97n19&Ka4 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 Ee~}c8-T(jq literal 0 HcmV?d00001 diff --git a/Test/test18.docx b/Test/test18.docx new file mode 100644 index 0000000000000000000000000000000000000000..af9a1e184aa046e07ed39cf21ce806035e4d6024 GIT binary patch literal 148392 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ÔIecD-zi!3l1#5T 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

    $Vf848rO+aC0vC{u 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 z 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

    J5d< zuG6yq{TwqzL*^HoRdK^P?+)acf7g8p!b;i$t4QpCsNu*4;yiT~rb|ZWm*8+cWs{5N zI;3Un(W8>HH8mRZTv3Qp0bf~0sg6SR_f%J;T$AbOpbyVTm4s{tjdgR@*S&us7bQCc z`#HNhVcss7gB%5u)E4v6i8cG>`F*M%*UZHB0@7o_2s(FdiRJ`z4L6**KB12ay#`Zj zz%cR)`kEMtJ>*yW2BsJG00fi)l_-Y0-1$kIzX+x!IYi*+Tm{p4BB>zqB-{HtS;uVQ z0E%^^_UVMymtJk~z@AAkpNe&O2=XegD|UG*Iu;W-JI3Rqc`bSaC5loS$L-3v8*M;! zspbvZK|rJ+L#SmF0IJV4ntolvByIgIJP1iERv4ETPHjA@SsxE>Jir-W(^*GnX=w)F+u5a*uu~rXV&dKHsK9Q3beTLYKnJ~(aCJz^EY?mDC-U`^5$(xlf zmZjvZlZ_1D7weGf4fmm~5v&57HsxC0yAf|&R>cU}`Sjb@(C8?aeigd-fl&qU?#PSm zA!5{Y&v&Bble9ApEw7!}wf=o0pGLy(Dm5%J#+W1iJh!c?vlMd((dNWx*Tea62T=CQ zJ*1$1mC1_{crDJ9T==eKFR(k>n>~-hFt>C`ZSL?8ddi%Fk3YO6`g%0G4$ak7K! zOQsBAnqOTV)DUQE7w_yZ;P~HEZ@a9=9bQ&Wz@f`0;7VR=!a9i2{?;DP;zZwiIThQL zG;#{6{FSM1OR+41pOP1v&rEg3pAq^Pz&xKmyZn%n?w6N7jf{$MAQ1A`ot$5^0J#4D zGa39}>K?)PQ~R%fHM(#k7Tq3-h0X_{MW^0ZTTK|}tyB2IBrJpHh~AyiF8 zHP*1Kl>cfdv{MUO8WfH*<*a9lj%V$So0}yM^}dwGfH3ysvsETEmDiP@YA%H@rG3bd zmg~3%biR}>W6E`O2<1G>4>aNd?ZDE6(MAivu_KwmIm%;-;0)=nk^5@l8-sQvUCGp0 zFB5<9*Xz@PoT;1F=sj;@Af`XkcnQwJkrUHh%&ll7 zWiu2#(_aW{jo$@HGltU=!~!#w=gn8yOLGmszEg_#4p=?<##4gM;H|LsM|(Y^i~W%& zht5@V-V9a@@8(z7)9IHHe3V|8h2h}-n^7g;E_zVOF0*C-x?t|>)mQP`NX^@*BK7W(~-eQ)=3;XQrYd8jIBA?No6^AKLFetFsP)yDlePz*8S zW6asC`JiGpC)&~P?+-s?rhalSYc+hEZas0eDa}u2_p^q_E7+|qNY2L*5{#kQ>R4r+ z5*71mBKt;uq|z^|{AJKEyJNJLZ_lbLNTre@E_LWlu>@f?Wj|~9wLn&hY&WCH7JC85 zO4{SzvE-0r%P1meFQ0hbG-TIo8&}kv%{wFbn&{PJ9T+j5{^caAI4$^^$K}8y8pbv* z=2A0+^9v)+(FWwL6@Nse0Y=O4zaF&Yy0CmAN79B6_%ZyP%X1cJ4DrXm4n{u>P+bK)Xu&)ADjs zh{ki(=CNU`r&B)b$v3>7v(0j^VrYGlrFqz3rO?Z|=e%c-;P<7p(ccC{mn4VGp3AR4 zU4NaN`}4h(MzRoe|8WT-v;~;&S~nmgwY;T89(s@}ID50%a!$%~`DOeFr)( zXdU68q?wJi%_RK^@0cr_`T|Dlo|NX4@3lqk5=88%{cYr*x_+NBcRf{q+r(4xadUoh z?&fz|V8y*Uwz#t1f?nKJ5dg9$Zg=^n|1pZHsMVp{9 z{pNk;`tBz+L6~3P9dL1lx}@BP6_G2BJd0J(-TPOHfaM|fdgT*ovqhVkj`!{Psh~l2 z!N_ozl58J;JWW}u8yC{j@H>d82sIO*Z6fg9x9)SEmYTT)Qm3T(tB zSDl^>OggL@KYJh`_n=n%4-a~p4ontJDq`eTSy#OauC5Asu{H=uq?8*wNFmbZwSS1U ze!X1VKfg@A;uePCbZl~%c*11A8l^mP8`yl~UyUHGvzmqA=hfynNC=p8r0+TFa`lb= z+IY9qH{R4`#>gu^4rAVVvp9?XzDFWFAMJ|>eQM{Qee|84KxHMxhGUx2LV3Z+!BTE@ z9UoO9m?t`^F{2J2=ELu1$A8N58))uGt1MWXPsAT`*%*93dK2LX!?SD3^#Gu;GGflI z$HWszX6?9Uq1U$7d~!Yb8P@R9A|E#ILI$H0VtHC`>BeSw(O z{~waCzQwoJMMtVZB+>!}@-_)rleXa9PXEuDYIiP zw7I{M%#wcFpfS5wOVQLJsnwRxje+eRQ@cW~AJF`jUX`#HzSEX)pkL*%XP}fOZRP+; zj%;;W@hOr1y@cguI$)oazgnYfL1 zHvZDmM=svcR;irh#QZ4-v0F_|Hcm(7CMc|H%#(PSvgVXgY<2UtB{u6>v$!;Bn~5R* zz{u2L3k+USqg)Z%&dKH68{D;Ug4mpTrnZhFWG^;9nRjmXZ)?0J$`B0`Hg| z(u?cUXGt|)(ouKb{>6i?C8a-UesN&d0v?n#ZeW4274P;Y=7HK^8IfXY&b?o0Z;ozd z_in>84I@!HlXp9p&ky;{PJ;|lWm*-%SiP?2hsN{r%D&nMa?#CU?in$aQ#LLN_hlg=fv4_ZCW!n-A zpv*_)s0ZSxB{aW4w%H`2bu{`~p1mzRy} zjO}&qLHrmJTi-4bal3$^@_ghZ5OY3-A}Y{@(SQMw3sLy+v5%SzJq_( zJ0-Kjqx4Lq)kF5I8$$8;MQ^n4<+{0;m!1yK!vP^>C;Spr-DdoS9B0>EV+r?V0TjbU zpmJEqRcE}I#2ML}xq9#4(K65@u8)r@4HJDy18n=ceH6M*+Rm>X^$A8#g$k9OeePkc z0hOhqN%>x&-aZ-Rk>VDLv2l|w^rk0ROxz*=GG#2xp2^cyXeXhfK&>bIdeU^ZFto_w zzHD_pyScA3{}mSFzPYEF-I>2%$Um^Qg{B}Wy9H>=(Mi+N|L9t2R?^Rm4v^zH2Sy`p zCnDI+5}Je96(S|up^QXV|K4)^L*ZC1H5dkGY(+8(K2fRqPWWWBXU(S<+o^1uD#oH?m0ork`ZT-tr37deB(do>687Pa9Dd_cF0mtnHyMx&g zZ##Wqh%c3-T^6u^x2+9Sc@h-&Yfwe}A&qMXWgikN8kKuGa zQ8XBVf-ik`xxO9DjV>4Ci^3dMO~oPCgP#6&*wTsSc>9v7m3qhY`ILdxjc;lO=DGUQ zBmm<~66S8vUJbOf9`Y4eWpyDq8aA_qrA6dWkZ4l%5?A@;+GPdUv>Y$SVr@jzOKGeR z4PYL9G+n{jdc}2m%GjiOY7xC-;CeRy*l${c320ToN&&~QWQ5O)LUURExd)? zhBvm@`WkJRZsUYKVg0LZwt8u4;d~rjC!TPgpXFsVxzR5AFRiPK<0yG^rDST!_WrVK z036$UlAU)!aighhvK%Z&&3je5mzwLIkqRacke@D8Bn(Tnp_Zm{bm8s?rv+bz=5_8+ zh&ECCG)$z_cIrqpwm)INw*nzW=e(GXHJSNG>fB4K#*9uX$2+*DU5OYVvi?5EwwQ`9 z3Hn6-dQQNxwTU3*nPHF{CY>t$4<4`THh-bbguBKOs!dTLzu=J?6qKQ4vhF9IMNZks zDbdBz*<$F6`s>+-<_4e>2(%;U#dRcX&HO{$&p)4WlnW9->Iw$XI(EJ#=jc%9|~Dy!U?+a90)Lq5C5lPfoV9^ zvg5TWE{QdZ;eG!}(i4K0S<^@T+;qdE6Tah*2UymVHis<*Ka=gfIk}VWT2m8+(ZDr z_kYr5vW@z@E~FusV9jz=-pXmU(Dpvmk#O)$g8;od%<0SH%%u~Imw}Y?uyx6l>7J%L zgz{;8!LU12gN2)`L}I`Njdonj+wx}F)NEM#`US#JL6ZNt9Ix5~{|JU=Thu+-{&b2L zsc409iLW~FZS)d;sd3Ux$L7k=9I>`(dDu2GXKpjOybII@R|hJx3D(FB!(#03nTN!q zZJG9;8NhO;oTVP*Vvjd@b!zFwWj>d_*7o1KBTP9*HQZlp8 zJRm3~n|sU1QKy2sw`5uCY2Z>Md*AYTL8G#{K_@lD2ANuebhlUAvUWPk}}Pmd3nZO@m41}4~}v8 z6pXCfY$T5UyL|R%trD2M*^VCS6{}?!0A^ZZ$w5-jOmk zl9|2`Hz^Wtd%m~hdot1|n}66LHU$1|&Nq&Qp6f7{Q}=4y6jKg@IrSr;=^G z2tu>UK29iLKSE9uS>p$y_B$?g5%cT34$6=`^3LflGaq(u&Auj#B|WOJ-!sIy;@IZ4 zF^JrKafowL4Qils(I6%ywVE70+a4&!t1a_9+15|u9G;r^T-JZ%t)t%XA`tspa$sl zZGzaj0a7Ix3{{MSG=nJOk#V642f}q*bZKV=wR%T;-TU7;`J@GFu5eqnPvJBckV$GA zdh13qu8nFSkzJk6vwpxM%1Fjj_1;&ccZKt~HOKFieEK+yUy3g&EW+&N8b2Y#K6X4m z8MN}7DO)3if>3yql8{YQmNQ+I=|(U+z&3Tih9A9qKf#O6GgkLV~(K_;}+i z2hmY@u$N9*Up7i`2;NP9S0@@%d{XZcnjL;4(AWu=LuTp?J7hq2zuDt{i!0bhuZ#Lf zi6M@ylPZpXrag*uVDgr_(p>b)HscVNJXZIqd=$!;V>Tx~NuDe$Fu-S$qimt6xvvzt??XZCOL{VhS0X;#1)+Eg2N#! z93o9FE+iYBf)<#7dWq1%1Yf!o=D#$T4uZd~%e=ZrnnonFYzKyZr6@YxwleZ3T^rvv zCUm}gPM?Al-lSm0blg%Jtxk^cjhd|~Cgu1oxc z?Vbgt$u_laTkzs-gD%^$Oh1YKCKr79YgJ}e$$y(YT9Q0O=yDwTKs7<<7G^b7Gg=#O zWUTq?DJ&()xHUO#*)#S24%yQxbo{C1Gfi)*1!`jqoT+DavcJXhQ^1tLJ+CM!75*;w zQIU{oq}HGMdS00`X6{+g#&f}kiKHq_x(<>NfFYwZ??dY&zY>GDd3MS#`?$O_U)qh-fnR;~ z=^Neyu{sN{kSfT(kiEPWpM}L`xTz^tnHV-Z+i$bcefw&)IZgSuAYl!FKqTzXXg#a$ zt1|`dYSi31vKZ{Yks!GvPwm78IvzH=@`?SIs%U_fj6NcW*u@#L%l(nfvg&9wPJJ~p zI%SOB(eRTl$Q6LKlyU{~9bK{>k29)uJv44#nodF8A&i%Mv3Bw5oEGodNm49!a};{_ zowSoYlvXJmPiSOW=jhvJ?>%!q{R`7c!rC76ozhE~sqGeL)N8@>Rv`W)nPQFiYT})e zKCom+U3~TpW_+oh)iLPA%SybwaH=HU=fsd~Fe+Z_WMEak!nW|mC%AHIN`ymuFMj@iq+?5qbaak7^#)>VIs;wPbFv9k|eg;}ibH{vOk)EiLd^CB`c zNWq{N2*0#EodUAJGn}{S$I|t-94{@?c9m5nQK9n;(@CK2I|?&O$wo5oq*)NN*|T=B zT_{Z0G({TysD{Ip9}nIv<@B9B5>JqyE`2JB_5BUZ?=VMQUfx(?>RvFf%RF|12d zN~cQ$lS9TKr)a0r=R7mFl+=N1Ye01fyb>nfSPvHnKZEil7#w0sSObUn^to8Zg+(2Q zD(_z}2$v9;JU@iP8}*JR#ToX?fIU?q(xK*oc^&5vQo*Hgzj_Tbq)~#oT9RO=@a-LA zqyRPFOIoYjs*$My^K%Qh4Z-B8>30&t8H#^V*tuc%g7_R<4V)C6Kc(H-lOG61HC&o4 zE7Do`Cg)_e#$N#7NNx3T(E++NKZo*S)d{F8MHLM_LZ-xaJ&YvLc;_K8kK$^{7xJa2X=-2gEe)wNzx zepJD2!)+w_Y)0= zW<*IXziEEiCq=^FSv;v6;r#bU!!(};g7v@wW?2lLGsSw-x8W~>b@S@nZZ z^r5Mw7y5%_*sEVOx#@dsee(9Y=9;E@!8_Cx+6+9hFD4yCr-R&p$f@PKh86*OOKSyo zN*QcCuombaU%-2Csg8BZM(RD8chCq{VF_-##2Z=keU#vQ%BL3z|hU4$-d z4TLeJ!({5QCYU~EWjHA|tW{_~S}14g5gN-H*pOe^3)K-}D8KjqI6u8UM%HAnFyZBR zZvYF#T0cYb3;62^fj!pi)Zd3)-N(Ly`;`>e`?$q?Q0+3UUc->ml4j;3GrQVM1%zAR z&3u(+rPxt7OT>5)HM#bOO1o}`88?~TjPe=`{^D&65o}7aEldmMR*jVn|35V5m3+aI>~-1>*qx)1-=$hfl7z@6c!?Elpmj4wN@y{P>^ zLrX2)>eTZ_JJ%O^TArkrJsD3e47_&1>dtPW-KiPP4FjE95~qLG?$efWsG309VlWA) zsnHc6jF(DJK*GxymIa``UBQ9*sgiGvQwZdz;~oMUuZ>p35XB?_~4KzOaC zr)jr~4-PGWuT*9R{0i%J7J3h5rV^xnHT>GR9IS))39k`visWO?%WE2vM||~$eB-Q& z;BfIC7^^kW=tOv;=h&t;Z4$V6#phGLS5%gkkV8)P$!`etGJxxIo5i|5^e#|%i+dv$ zgIJQb=~3sCe?LBK-bLRD9&yHWjcW6Q)*-H*i+Ko(vLEW`?Q*@b;Nte`66jRW^|D;s zKZdQ`{(+kFz=PL5Mx9b$=iMEQ{TvauAQz zmWujRihTj)|FHKSKu!H|z9>jlq)U+&k)~9oDjks~y_Zl#KsuolA%Ie)izuM<-g^~7 z4MjxhMLG$+C)5Z5-toV0ckbQYxpUv!H*e<6TV~*#B!^SJIpzENem_MX^X%$p5NJdI zNKLRRSJZ@>17^;H*hM*`pjm!%!tc4BDhkBA32eq}n5 z=4iIhNEtm>U0k3zkjqOB3f&6s(vf~@T~W>^Fe0s4I*gRNqg3QUy7 zq-~x&R^O4K?Up17IkDi_3+c8Zb~FQu+m+|CRV!^GJyy1p-j@KI=1LI8b6MT~7-x>Q zjHz&DV;Tvzx1xlpVOcR8=40M6zEg9?Q^v@?9Q0XV6BFerAnR?70?#D$#4-1!uyIGM zT<{@gH^TYb?}9g{PN%(~r+upgL()%|fjV(kn5e4_LY8exS|~UWl?4znd@5A>JE){h z+8=#Gw?!0GLdRCRMX=85(_+Ik91fbfRye5!^jU=Hh0rYre}Sb4oR$!dy+Em?U%VFY zfLa@PUfDEY@@GNeAf(b&iU`c0W8?(TH=TicLv^(hOQ2@`UG$lJS*ndq0LPf36?v&* zI3X=jv^iC_!oC7#eF0%uR9Y?rgCEL^y{rblnu26E5mWC-GR-kRT zE!iJ)d~gfeuL~a+6txhRQ679=I}Nwu34uRG{XtDOyw4lwZ_uWNvh6&RtU6_Tk3R;} zLkr>VC|ljd8GXa*VDsLMgjHcU}q~kzx7^bg>QL2grBRqeV&2C973ZnNb3LR3S zs-Vt@7Ul4Kt2qk?2xTnbP`q6y(CyeH`I02j%-ITU^b{ztOLekwq;xaMMV@?bh*P%& z=rBS6LQEf>6}h($GjB|CJaUq3EDAcj#NZ?GKUwj!jIDEE5w~!RNxyE6vAJOH`H)LChmU zfCn!4VwlE(UXm!Yw5U^g5FyUg5sMQ5>MjlkYk23(%K=yOW^yssAkc6)Odkol^LyUm zR0k^vY8|5}A;O~Dur_XAL9f6b+E>DO8G<#w2aIByeKKEYP8zb-6Q+m@Ww zBPY&Fq_d20aJGY4TYorb{iGfG?AsOI%7-N9*BVtM)`QzDN`#6aPgt-%}|cv4ylJ!b}} zxZ;FRGul0^5Mn3Esu*b%fF{1R$Ug;`OaM*?TsB^Bif~$^Fdm`zK4imGPLf+A$Jvy% zfQBX|#nq@KB{r}G3OP-l^vo|Tz|BNg$v(uwuuJL_^^RPl(&Wg12PiB@3AWCB z!lk^ym7tI9UW(Bar2U>#Ceu)!k4L@(eWRYUI@eEnd631`h|y9L8=%%Br*oMBQ$i1R z`4dee8(Nr^4u2lM~ zWQ$=IN)pqxT!rNoFQMCPAy73SNEejkWAxRS+GMh3w1{%*Mzs!g7}i|czKG>U$~Io*$YkX z^Yg>Go_4v(gS@feTAvS;_5d;-u% z`onR=l{A{6uPn6!#vlf$!zeixSZo^uqgjSXIFDSUV13%u#FBOcW+|@x)ill!_1hr29&4;LJDBcSm*r87!)Nf!qI<`5gj&$&C^OjNZ26s zoW9zhau-WKc7~uVIID7C1rS*W=;xrwgI!lQ=I-fpP$X9anhk&rG9>l8R#`%)4ZZ?J zvHD=rt;Up>^pxF8*oOhw7>o9LY#Y**Y20iQXvlVRcZ|YS^087{6F7Z=L5EqQ!aO81 zIL_=uRLX#M37R>3ji*`1^obe@)*7K-+|YiH52LdIF3%f)Eod<6b7XG}ki}C%ceF0^ z>c7a{Vxyi8V(vojv{t>B@YgCp(W9?wke3wXfIt|t6_E+H^iY5vM8EA% z0T{1p9rlgQBK+ctu%UU*v!_j!MPXK&WApeaS+_fui)6XRVB%*WRvc@dQ)7sQrRwnl zAJDWP1we$6xr4dAC5S@D^U92>nH|gf9T=_16?L9(Nzc+=G>nMFF>8&AX^zU{Z!B_5 z$t_npV+4aKwvKQzHR!%(AbSRg;?C!`vNxwi$tCA@sd|xFl+YOC3GZL`k%Ij8)sy?M z$3Co|{A>&+;X*d3GHohH#h&xX$WGZoEKkwZj6XwMMIIK3awY4RWtb9hT}y-u6+qP$ zn$Q_nDFx6z=CVLN!q=0W^%#zUW$W=Bk@`j`G`%8fTj>iL%ADNU`Lm*)KXyqI) zYo0zUd}zzi;gF*@&<&&7_V?NAF-{S;LVwv7pIrl5$`PFDza1?_u%RoE$SY6_8WppF zu0jBg7LDKd%oK|qBtHk}B~p!$1EoKwU2Z0xO*-W4LKzZ64gRd+jEN9M2k4B_3KY@+FIIqZX`sGKplTgP4a z)8&r$vk76MtP;I!Bp+ARk!3pxx1l?oB4!!)`}%f&V_yY&DgO1AR4R8qosw+Wn}yl6 zqX8dadRgkRg9TM{&V&^uivGXO23F$d7dcZE5g z2^VG|wQp_7(i}Amk`trOtT2%YFqQ1B9qT--^yrL8u-2D|Fkb%Tl!pF_#XUwo}4*PI9lpG-|zeSgWevesjw3Sx$uwm1ft5{6y z2*sfgY0#28OcuM93mxqDmy2njMf;hJ1>N0YqYFi}(_sXwRt8{pD{1eFP04xthA%{n z+OQrHVWJh1`xYwC>qg+3w4zi_wRdp}q$FH&-4N_UipUb^oIY?<|1hcKGmh+ekf-JOSeDUN5UObFE9 zwVsw20Y1w+y_&{Jlsj8d;m9hrQ3(`R6VojR;eWf(fAs(bRF*5>S^M0=Do<^b#jygO z@z}B#fo5X@kY1{Mqjuhok;=TU4&H0+HFzg-vF*1mYnA}&)d4;3-ZaO@anmsvFgi`! zNdV2vLjAhgSZiWbnlKyTl!yxF7j5W*vv?mND)9CdPdzrKVrBqAzQ0(LVxSk~Oi>0Vi#istvkFj=G&e!ItRw0K+XKf{3dG7#gXaExze6 z35m%3v54|T>Zaz*!%J7<)Q?LDLLIdL2xm0@XXG!Qt6M6|Ag15jU$1I%0ir|Edz?+h zjw~m-@Uu{aJ-|^6KL%*p?fkVPaE4N6@fPJ8fOC@8bHy~$&h}GUvtoNzIjsn%&$ON> zoK{bF2E9_oOAAJe}sYHc&k{p7OBvIjU~u9?apb*pgg3rdR_h;Kr30Y9IC8AQQ zBDILMc6FOphTaUvBPLv`dwwN?4&Gfs?>xIKyR#jHkLAe$Z+k)m`u(FOq#fx)F)Bz% z>~Tl5nMDEMUzJiL)BhHxh=gEOeN^3~=d7p}!AhR1Rz32v30R8@Ih9jB!r}a--n_Yt7ego+ zMZ=I?g0)N9Q=7|bxLUqrvi<2b9vkPRXoWpsgVtd-BC5%>xONX?{BF1Yg7wDixMpL3 zrnm)3pIKAX$)2F|j#n{w^B0oLAtQg>F5m-YUOP9A0#IfnL23B4lU(Nc1d~7s)PZ|V zm^4p0RQ*N9>uEg;0`pJo1s8(<0q5v}p4da+_Pw(q)|{6p2nM}6uO!5|!r zc1A_^RNa9}4kP>bJ`*LxUorf33PT^PXl3O(H>RAOcf6P8Dx2T--+1q1MP@29nHA9x z%wRchZeeLT@8~=Wn=x3=ev6K1i(peUMbyeK_1;?7`iX+J zHVi06PmUfiFE#zv-qKdnJeH)aV)Cp0l{N0{uhkE!+T^Fn{ zGi-RC3Wh-Svb2FYm=2qwIo3c57&ZxL0cUllK!WBJj;{nu+jExilB;^c)dxfZdyEwd zYXmGc#J&>UTp2?KGeVQO! zqZ(()V_&v==*5_Fk^HgVY^WsaN-s&{`AZN7Ac}Gi+mF0ddWp8$Yb&DR4{yz1yv57K$1y3i$7}wD! ztqYs80p$Yuv)!G4Ub0$6{T;Q>F({$!m>2X#)QudoPJ@{#uA|%P470L==`~+fn5Wz85pmAwu zq|m!Fe^8GQiv{*{mRv$7#$Z~O8aoaK+^T?LlrwX|Bu-$Nl8S4pZ7reNaW;M0NLZkJ z+R}lTKJkJVXM^Ef1dZY-FWk23n!-*r`B3%|$8mhd$!9vF-U&=tm7W%r$P=j;)y#k> z{^LI|*HY&zddXPNtwk}(ZZI^NFO6B|jy(Rp8~_Wp%SvFojh#Wt0qTS_?NVTzdWBI7mpkOT$AAAV!4T~6 z#e<-cF=yFFn7*tF_d!4egVvc%7|`wZ$TgoGcHLNlQg&U@kDoaD+IPDviEB*aK%z~xRfbE za-1wB8Zl>)6$b@Vui85%aN5OU3GdQ$!tEwR$@vt}>yb7{iS~D|FcuY42^BlKKxf)< zY3T{x=|KeOW`~2Tgc`Oj52uKYgRGFr(HHexN+H)S`|66#27tl_*$%_hIRufx3y!<7 zICL~T4wG~CDRByV7_o9iL;I$@`-7@|ts@@EFE+}{_zu@9q95(7BiDFNJ5rRl9D!<7 z{JWf=Ezj$6d(J^o$Jz|?vzop2YhrT*=Oct0w^G z1iiH+ecP47{V(u$N2l2nC*%yhfGapm z0b^s*+McA{QH!yUhQJidgS$2J!HbBXqb;W3_b@LMtJMp%Yno#2Z?i2k*+`;vNtpY4 zJee%L%eW3lpfC8|EGugKv}`&Xy-*cJv(mW;`rsr{hD@M9R6-dHq8iAYKh6e6ODmnq z-7wuM40Pg)Va%WO$PZm8jGI6mE$%{j2SCX0$!WmH8YoHC zDE26v!2r#=lCf9pSGw_;M4lmF50%GO@aAD_W8{nGv3u5qKWeH;<|h87VEBK#L|Zx)cO^Tr|m;_rIPsGW) z(k>5_0R8%uvrLey_=3>nUO{uyhZ`HQ!OLH*$bqM!T*M+pD9X5JiEJyFJctHrgCv5t z(>J51q5@F|lu-4asYTw=98B9 z07c=r-QwwB+Mt%*n~2rz@n{|io%Kt zrz`TvXXwS0U{^=B4_}KSV63PNf=;$4qxG(K4W!udlJIWSu;zqJhazRTv}cpt60eJX+ZD z+4L+bZ=%=e@@dJ2#wzi`!!5t_y}p7{to8108saRO&@!-^z#iFwqdh_jA%yM%YND-B_?!F%(@jhENf+j>c6v0RtG=hVy-xnhQ9$;-I%O|-n6{w2 zF+^2X0(v+#>S|Fxn0AlYQ4XzsfVUa!5UPsZz^rJDyLnedw%?WX&8ULD`auR5r9BBn z4CHOLI5wioAqB(InRIBJpX9>3rYU3X@oDWQc*N6vCLM~it`0QN^di7XVZF+*eBF!U z7{k+=vK=eJ6H~Z8>a1zn?Ky}@me&NQKQ5Z%ddm^%eHpADa!zhG^O}mkB`n3ax?9)! z9!n6=QYHL`VJ-IFD5 z{J3M*hLH%vnJ!yc3$9Ky#O!>j@(HGZPMd+#Vg_ScrKHk?$kiN+Zq}#mWZ2#~i2Lge z(s2`RfvWK8^94}_@nPkxFxm-~uwWE;7!VdSP%&uxhE1t}>1v7*?Z-g97i7mRr!?D| zPMyu>#lquqErz|^-2}PuP-0bB&Vw#Z@C5}sh5%*mE6d!3-Wv5DJitC{SdbmmMK7eI zRs2}nTag0t0!8nugc`{0`v8-pF`Qw!xzd{wu#_3N6we79+$9)v7tBlqfXzBEx$Dft z=v^nllLT_}`2{m9%mOZKWvPZt^75+8Z>pVhWaIX`nnMqTe855gg=Dw5yAAFXNru4v z&IQLec|`@|#d7#zC{drT$gujzU?!}DwsV_0;;d!pTQ*Ry9rXz)m}-!!qI_{sW;&1q zcG#&fEhx+>f$HmGC?ih30NPW&*eAqQJ;7L>1cdhcOp#HX+2RxIJ0!COgC-VIP!$fN z^UDRcJ-g6>kl_s^QAp`kE84_t0~NdK(Mqm{k^L$m+yTX7teGoispaEg5gqmb~p~xtKk;eu0y$fI21F?85f+Y`(AWIV8GB z0?75dRfhpzb<*>;@kP9wvH*mmOBzRxPU*8`nSx8KbTC+8?NtGB@K%6fEIGDi9EDn< z#U3Cs?*dg8R01s{zpM8z&z0`4ayS9X8pYBr;|f0yjO3M6$(;6Red~kHr-7iWn^EWk zh4K9HdPppYQPjHF0ve?0d!*b3z^#g%B>f^QMc=re+~>41s!e$kpP7dD`xHXW}(pj@ZfP?xB`~-H&)d5ja7#D1coc0C>efsbQE=0VzZK zVuW98iH1A5WpXGhZ)@tSYjy{qI&nOxo|Ygu{WE!WHmdNWilaqyCrR+X6h8jFAM5{T z&GZ0-_LVo29szm>1?jYk z>R>pbjLo8k3#?d(=%IPuOY`N;Y@P;z0EL-IfzLS0d$yU*UpCT*S&~#INyICh-1y(f^LXe@Ec| z#Rz~t2BXcEuup@Rd2n=mr>s*Qc0!R$b;i91;a8j!S6nz5%!Di-CM8<>ZmC0}8CLl8 ze0{%9U6Xq8vQkJ7&DB~=omb*W@#G$;Uj{GudInENoq+HTV8l&|hlj_G$8MGz#!iBV zH^+*HM+dy)2l2EO@^-LuwfmR9j|HKwF1x1MfIjS<4h{^fa)3|`Estidq~Y#w@_NU- z-vZknaH&%*k=DAecX=@64Jw?R&lOmTd*TRg@HWt-96H`m(#a1ZTKu_N>4)-2`h-U( z8aX9(5dc}dXp=j#uQHc;!6%N=y^Z`UZUtKwWi9iW#5hfM=^Olq-b|+QT|@cGvWnXnS5ZsZS#k1SoPLHggK{4S01Cl^BbU$#V`T> zDJMR%n}v>V_0r$Yf)VWGH@BTXcPZz<5zCJa^(ezMj_aLJs*Eo6R@0^@z?EX=Fs19U*k8^SM$T^p zntFM~?p@S94z;SN5EW-&h2xvz4sW-Q&bl-iv;2MW<92(%8`lCPiu}QA(Sr+42UsU6#Bl+mPZsiN-em`a~Z@%oNP@T6K(Rw|hj zACNkLWS1K-GX2Yz{C&I$O)E1ePdwgArPt9jSkhPSeB%{8>)-k=_l?omBY+WvU3XiV zh=SOsD=g*9e%?!c@_Ju5omcw)LtWL5m5VSawne=Ju|q*llmaUrv4}QH^?$fE{w_&V zKgac}yg9cl0sA6_gp{97j7Zirc(qgMnc>Uz$L-pwiYsE$Mo%y$yDMRaH#^=L?uyh( zP+QYYC*Ha*b3Zmu>v{h1z&y<|glls;#|MjOM{q~Q+=<@5@LudpH%>xL8wtt8_-oww{tU}gP#TxB{Op!;YJF;!oIU3^okv`E3AK%A z)yo=s^}K)Io=Rp&A-IDozk3^*N+y?dJB0g0oT`p`o-X{w?{b+2dd);F8OtMkLsmDz z^*gcpeP2E}kq!Rt8-f2&?A4P=Y6$lDmXoyiiUlp2RA*XKf9v64l_`FXucCT{B2B4N zH6O=Usf$#F>JgSX4Rs=s9AZYM2hs^FVdFzd-z;UU2;AMY$OM*Y{9WGZ4tMbDCjkdK1ckE7JTQ$6){(5ft#03c$Jata@*u)MVu2GvK76)J4aSJtH) zLNzreYoC1OPPfAcpdO7jzo77Db4C)~^bz#0$Ixar?NM#^Qfc@f4{_p$D_4MOWMz;k2P>@%?jGxZ+ zZQu`Q&}ILBbNps4-BBtzRbU|=IgdL z9!xWdl$HL-Vujs-aG7GCJ(zYpqH&fBYAw4QYdyOrm7RSnt}$Txku`sSl+%zdX~*>N zBY~M>!Z;iJd%-2xk1>;F5^X|5ub9-bqv$F z{VwsZZ@CqCj%~eB#PPBZ9G#|8-*X4ikt>#Sd|z+4Cmy2mO;Ft`X&15gsWMYEs86P7 z#6hWxQRBlhySYLtEM%ZCKwjH8@U5}T%|;%ITa$GY!Q`3D?M2tm8Wri~>hx$?$6|?= z;Z&j>mg)s+12x4hE??8Fm1KCilr0wD7N&CY_ls(B$Ll^Gcdu=`cWhl@$XAxjO%A1h zPgDBJng4zG$0=xT4Va?od3SfpVu%MBQ=$anf~;A-X$VR88|3P3CQtiWrn2Xp)*RkX zr${7g6%R+&&4R=>n;A;qHT%vaeiUda$kMMM^HZsO#Z*jg+4B1Q{(;$D)>->S8qKM% zq9+MTZnChlp1m*2$2~nKfmw-{s8owoSLF_IIV*} zCGweLDjgvW7#xG1u_-oDcdT3GAPRX%#*%z_9 zGMTr>6c}v9@J=G_pR`Vp*5xsBw;pl9=&aT6edrlW<$5=(eN|A}d16{Nv-so>@`>lI z_CyaStXuHRhi(>Y&9_2+R%vdscXp|V>`rb5WFQ4Gb|=hi@O3~D?equ3{JXO`VtRS= zA@^aNXLHrvBci(Ha#P`o&+W-{6qQS25nRIgv{|H|J>K|${7ifvlRKWDK1s{UBs^pB zTefB3i8=nIp8h9tWeaST=}^#5{|%g5$%IHz|E(HkYel2$q^zvo^!oAMeW4QsQBtDS z4Ox-pj`Ums4likn+Z^tjLe-f2h?Hvdg&jqiy+J#tzl_PI-AT*@MbRNEczUX}FaPrA z^Dq%t(|S#`JnB9yQS5HWfoIGC&%DL^XA$hgo;XbRXG$uYVRDYTRfzDF_s-kLy59y%(0c^54=oGF<;)q#=Udb1OJ02_qKY53a(!1=Jmx`{> zdl!)qb5DZRp+C`AdPM6!c~-DRd=i_e{UN@+0?zyRGs@gY$3h9kKf@8Oj<#?YcnIO^ zJT{I-6$l^>st*WCqsD1w?9^SJTcz8_zcB}G!<6`G! z?C9;F^!l}(jrTwItX1YlHpN_7iaq=uS*Bn>>*+7o%MKtILV zwbmPbBy#ll$Y$K(1C?s@D@EJJLf@=ciSk+PnGvk@LFa$KjL>0eweZ;Wyn!;z_mxB; zxKMqNDnB8O1 z6A5YCtuh^Kl*XE5z}g_%pmMr{{C z+FQC^n*7WA*w{j4;dScG)?~Hswa1?|*sN6!KlSruTmKZUx%2M3rF;kG8}*SiXiZI& zuUzu6QHhL*&dXC4;IS4`?`9NZ;3%{hYu7_v}oDhb_>6dxWD*k z&%|*#L9=8`AymMo3A5@$Fx(tTbDS3D%6`g)7I%9;w-Wn#@ec7UC2x+eqe04(yR`Rn zpEI&P;5B%xuDQE9$F}j+g4@;RL8mOy$>YQ~F6Gfma*lqZNr?r}PK7$m)8rOcvu)1o zF1i@P_k%>AIJ) zsL_G`Gs7J8=FT%2vuHY1+kpYp3s-3+&B0)SIGelqH+BNH)> zLm7^!-6dsl{%23Ah4Dku5*FJ9*aV>uf~d>rjE}7ZW5r+fUN;~|r$1Hs4hMGtr#$Dm za6;`L2Y-)vLCUeoNQi6#9S^=`&$G8z`Qms|&zh>;b#lyi>qjY_im_-puGM_>uIwjr z`%>#S#n%e=>Lm}zMGfg^h_lUkEQZfxpbJ(#X;=5Nbx%)vm4d0=HMYvahsgQ(wiJHl zS0xP(Mb$Nt=o#%f*y?V?E01~aJFKb#GcSM{TX|rnQ_4>iHTNx#dMH$CO7C^z&*l^i z#8f7wkL1Rdh%Nj)S;U(oikj^?y}ZOu_IEYyc>b2CvoBn`kF7C%`g>KCr|iiVtAnwH zyoYEEf9rRe5{htEwlCY~Prv?@3&TVd+!z|Nke9Kz&Zc;<*#Ep-GG}qK-1T?9Hr<8) z(#G3AFpf|zsMzlzN{hTp>LC0sC? z*OdQ5c!)4p}mLiwX58iCE#IPnvWgqx9BJPx% zg8nH;06OofS~9FH-7I^`Csj7@*eS86)9iZ)jFBVAvD!y zEy@A0E?Pd1e|&??%CB?ES358sa^sOJE)r&2e^0}k$bz>jL~uZEB#THeYBda`;f1N2 z2Te-Ii@%|LoBmCq4(Oid)gI)0LUhbi$S)G!*}xMUNPCN7$q+x}eu<<>(I~dQTgvhB z-&QDk8~DcvcF2v9N2{86+uDl@_YjE^_=8`VZx_u1?|2rH5ZES3;FG2_yCW9I-)a zGK61heHYkw>-J-A$PFsNr}W=@bAeF29R0h)|7_uMpq1J739!sluTZ2x8nDfw;mA`S<$_9B;DMTPKrxfc3Em)e1uh4T1XEAJ_ z9Cs0)N*CepOgRI}RW-$sojjXg+Ik+%(xxyBd=_PVs)sP@Ev6ELhj!(>!l}3#9m!Wy zspLlYW3L;Dc&~2j7ngbdg2GOazt;BR8cB(pbwUr;cD9@^?_UO0C^zf4{P~&LZiY!p zqjV|}1BY*mksnIDOw7WpzE$WI@b?@VSFnpGH<@_JWK zXqs&iBmX!}ANkJHvPd%AF~NNMrp5;%r`(`DQ{5aQIc@fb3{GRULq6nwQyhkZosY>O z8yK_ZQ@z_}3-r?co#f1v?{#(sR){a}Ufro9;XxSLRw;55Cg1$Puahk+Nr} z3uS26V{g6HlULF$nt%k;4S={&L^)x+`G4GR`;Fu7(p!e zCDEKOZ!i=;+(aQ#%o7O)MNA3LuVYAdf~t5NFhNxG_0`_oAljvCP1*80b2*K4r11@g z3F88A>`{WnOheLh@H>q{sE|6t_b-`feNZV;ZN^P$-Abj8ug^?07*;}3ul7<5h>E&? z1=pn)N@lry4Sl1(nzdfVkez?UO%iFN#3dWCxKwxVgYc|+M6Z<0+E#a1vd%49Usfw* zkHH_AU$S=^C&mKzW9UMuO|bXbajb<;CJeLkG>yu>x%9mZ8EyfSpNts!X||ENWSz;> znwrd3`_`6*FCT0i95$!7UjRea|2Uvs`%$MzgpY?;1^nLm*DTS`?v?)kFs6+i(N#x0 zq9Q^2bsgv&wikY8*PEhH;BLQdeU3kNJWHHp{@pI-;&f4*t|z5!t$9A7_1fuj%f;iZ zDsdp+b}bDNG%ggQ&$qZF9z&w5qZgz@FH?^q<(yjB`^779_nbAqN3P^$ul|ZR-}({pJEplVWMBmk2xe3ep?a(&O<`+4`{&#+jy3#ay-gz3pYYvm8p z-7L8ibWf6Lf1c=hvt-rMAMKo)W=7*TrTT8;CDgAF@w>zl?SGeh>}Lf81<$!gn*M`fjiq;pfc|s$-5&jdmERsacO^7A?1#jj zKcm-DeHIDwNKe^99QU@E{LQFQ&uoXh{VQK3c3$D{?o)n<`;{OU7{_ryrY*vr6fPI| z7$cKOD12vNrThBWJ>c-iS#3HOdyH*2!8^TSQqjAd<))c_CoH)pBeKULf}ffsFkxh6Ie{M1EmRd@e~$jRf&56PfG zZR~J`#^KL^7F*MMJ>4CzF}!p?BYD#8{upwb>><~A2eyBOxFF@;GnyY~%Dn;E{iL}z z_!4h&ND4@|IUtW#S2vn`^3a>(dNO8FRQ$Eawr>g~Gf}E#!4=eyUs#{AzT?iv%Y_B; z^r_NTOM}ZIlqpZ)CRi#DEP8w)(%}1@`>&84K^C&+hbFlD-5<)9%bB>DsSkr8(8Gr- z$o)SDO^l8Oz4G*G?Pz<3jpkKd`t}PZbVW4vh`Pz`u>(UAG)+%!K_~%lkDKVZf+8L0 zs_A2TGGD8<9pcLi9?Je;9a4LX+w@;c?#|H4w`$pBP)c}+&-V->x!>|DPNQBm-+a3{ zqPzLKI``xLggLP!b~iP(Lzb$xRE00vKcGIOut|ka8JKyN3(VXAW>^;I^469X*#!L9 zc59M_wQYym(u04c)rdY_{{EI7^VMR#IhOOj^m}Pk>9vBVCW&zEye6EI-!9?doSSsR zrC4O(``W=*pT{GjS!6S72ceeZ)Q4RH+SC{2BZ7)!L)@N4w%ze3VMm#_Ebs8q%Hjo6HrGJK5PR zb49#6TEjf?>~8skpN`2|k}{@zdMFretQS`$o8;J zFx~6SOj+21LH9F38?@Pd=p~0jT8I}7^984>`4fA0@~lNes!j>%7wM80uljXK=R>8ukYU!OXV+f;;p5b>5f6nb`<`@=`1)1s3_AYlB>V$F?-y50jK zmdOCa*Q`JDO6R%I&YxogL>u0ytm{txfOdcOzFBC^oTd1Pd=8&AEW$OM;u$MuG_YJa z;J$?|c6~E@E!M6s#`<^S01T<|nq#$*D7GF#Gi1d&GsjA{7nqcd+RZ*~SJUx0)v^&v zGh$a6VRBvKbnw|_T9B>%vMu~@BXFEv7|s3Dfdxt%*7r_A;h&iZM5~ppG?cbJedcAV z6C&+inC5K9?=3A34qM>G>Q7?L)34E{CU5#W{A%nj^qMT{=$I?yVY5z)rvZ-(0olYlJ1#MmWe1 zN^1aoEfEq5y)#ne*-S&!^?$!5AO;TB@Y}%Kq-iXCtHOC6%bKa9Pte??aRiW%5qIcW zOe_f`Bw2*{w!SM6s&vfDFqgm6nQDf`RE{OqMM64z65v?=hMJ(5c#%-RoIjOuk_Od1eqYvq69!m@aIf2Aued+jGN!hjiA#9o?_{hz6Lv2%mF z%qJML&nz|JL;&$*1##_iIYP~#%QFP@=WCJ9pPqmN*PkS}j6}S3c1bC>?<~FeGXvzU znSO+%rZ39xvtx+QL>9+tZqctZkO-E_;e7WlbII(?E+6G@H~Ht#4+!$<8ETru6R-Tt zYSNjls}TIi=d9zIA6@Z7kKF}I60T_XCt2%NRvwP0W_7{sly2GS2ztR#za5%zQ`@!$d*pT!h5^jUV zTnUK`G)177KdbScM|3N}-Jo(vsDCOeVsKL6kU$XuUMFFgM{uvTeDN&5TzQlN$N02I z*Apy9wm$zudg~gU;3i4mU8Rv0el{%~9b~szY3|mVrVPv2X&S%jmQAkD_hmzPe?JR# z>B%x6ORx+Hcyylkl@K>k)2&8b1vOg?JBW2?z`X1N%jBLInwnRv1ey;%Oj2sHbG>DG z03imqxf7ij-!453(pQ33xWqg^{O0eL))w)5iJ9@_6YSE{|7hD>BJAt)pX?UWc*-+O zo+R7&JSKt!gXWD7yd+#dgOzV=3m85>_#u!s`3XJt$zprmKirSyfwPwrOYyePwqdI8 zKtW|EA^4F7i3Hb%#&^drm%i;= z_Lm~F+D)Fy0m#>y#5;%X^>MHoN?P9t6JNh?zCW2*Zm^bfI@};Lp!5ENw8>fSj5be> zzq&@f^jb*6H){ulha@M*uiD@)hF7fxW++_2iOZ>AO}T~c7`f};1r`#VEi|^JWIR40 zKYhZp&ULgu6sf=C`O%DrHM_9Aj%kv8|aXw^zmRNcB?g z=@S+{r>n=%;K5wgAGSib2mM-pjE9FM>)yI~5ntv0sx(l$jxwC}o3|C=eOsLyWY@oL z21P!k^f}ph!sA@_X7aS_PSy!TY(f$2<@i?RVB&4EiGDvx2_b;)Tktd z{%Dh7e)}^AM6cq}an0x#Nta-_f;TIM#v27sFwLw!r5}XL)wyoZRXb6J^t{l1`r$#tPd!JAdUj4S zapcar5c&M;>dSlPYGwAazh0WjJ!!$pt&z9C^Ue%v^mR@RaWV>xO5mPe^@w|o{kcud zi(J}tr47%$In>|uKp@npN?LU4vYrdYu4zqPudn@{RTL0%$tN-`Yio`4)|i)t%S0C* zb2!^Hy^6_r=QPg8yov`q!rYc_V?6rfY2P0wu4(O!zf~#_7>2lH;5p1|cy z&!6UYva|3$8A}v(%{0!C0RyM~!ly8`ClzM|j$k>=m$b{oTN1Jnq+aZ>tt}1cvN;iT_L%y55 zckj4dxV=T)k6mfO<~Y{f-@TvbH0(%el6v3t>|V9%h8iZ1Ck`SGQ4NcC)++>-e-NKw z7gAIr(;oV>+`%u7Ehy=ZoQHfd+qD7(gYDu8(|<``(@bykz0M;$=fuzS|LZs#Pqt<6 z`s*IEnRQ8Q?B_hU8xqy|COsOzTGFc?NN)HjJ7up~VB_O?=~1oHh+&4D!uM{m}f=Q@}K%q&%gcp{r0PW{?b+Q3ht3E&deD-?&fB&ghvk#SEPmMP?*Icjx zrp6#v1_lA-!ZWd;V6^N+)E7%aV)Jh+h}6#C@;~9{-eVspne=j8osxCx@GjS`+jho1 z$ss%(9@pMnf1jkTmuZ}N>rctMcE01!;|^@sU+eSjj@81eO0ubyvkH!us9q_XXg4K( zU0UWNn^4iIQ6F8a9_Z~=mA8Me^=ezR{toX3r=701D)OIkSYG=uZ5PieF0HNGbiWGR z(!ErwE3yA_&h?_FffJtxABndK7hS*ZjKhp?J)igf55MHKdBJ(xY3$5RoO+enDqrW+ za2KV7W!_IRNhw@uJ9TM>c3 zc}t_ceIK7t$&gXnlNjQZ9mtoWVl%I{(1GeJ=;2k_a_{3o%Lry zANzB$m-C_=r?RsL`VF6tO?YGK@GvH}yyM$uTrTHU(bN3!{JVowe(AkAck$%slr0SY zhs>p&CC{vwaqiehEf>{2jlB;=dA_;)m~~)v-=Dt$%RbisE7Sm<_44v;%CDE3&gZ9b zyxovEo$Zr+?}qmJgBoYgZ?HeE?i_vBR$Mam<~zyWb=@aTUsd$g%J!9O9xL?kX`lD` ztCiKBroY>a&WP)+x%KIlN$>a8f?oOG>XUkoMe@a$XZl<2s62ezwT>B9{xdS^0teM# z>oHl4xzrZ|TO+5~7#M(yOVB{HGq5g5%`1rysVqn>js<1H0B=+SjvrFr!vi$nJ}~0~ z2lJ4?EufY0MX5Q(`g$M|U8CI%Lu+fG#)H6>D>6vh7#PHX>qEgc5kxnz4ON;8bOgwD ztR}gvTqkh_IPO)c4q5+#Fl-7?6l@Z*8R!l%ixhu&3+R0bc}OLQ&^{d)BG4)^za%fe zBo#a}jjlhb^Ih9rphsANW`LI8AizT46gOCZYF-LX?S0h?Utb35aR(X!Toj80)&heC zDIC)BksN^(5L{3#iVVMiH$ndS&d315;z$NDFzg1J3~!5;WR&J6# l)}{#E3=AB=N*10Npml42Hz@gn>RkZ_31E(_vIpj81^`aINpS!G literal 0 HcmV?d00001 diff --git a/Test/test19.docx b/Test/test19.docx new file mode 100644 index 0000000000000000000000000000000000000000..702812d56c9543f9f75099872314ad1fbd7ca761 GIT binary patch literal 54858 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 qUWs44fnPQJio$?mw8xi@K?bsHpn#$+xm9 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

  • N+VTr9=eDZ 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 literal 0 HcmV?d00001 diff --git a/Test/test39.docx b/Test/test39.docx new file mode 100644 index 0000000000000000000000000000000000000000..95022b637223a7f72563f23da2b78b884da1f152 GIT binary patch literal 154785 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 literal 0 HcmV?d00001 diff --git a/Test/test40.docx b/Test/test40.docx new file mode 100644 index 0000000000000000000000000000000000000000..b8b03bab45a2992229445467025f3d5c36f93153 GIT binary patch literal 26374 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

    4NkuI51v9O; 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¬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 literal 0 HcmV?d00001 From d4bc93aeb8dec81717380ffb6f2377d8fefb890e Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 30 Sep 2023 15:38:34 -0400 Subject: [PATCH 34/70] Stop deleting 'test*.docx' files in the clean: target. I am not at all sure a) why they were being deleted, b) why their deletion did not cause problems before the change made in this branch. --- Test/Makefile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Test/Makefile b/Test/Makefile index 6aebdabc1..cc72de836 100644 --- a/Test/Makefile +++ b/Test/Makefile @@ -362,9 +362,6 @@ test-latex: actual test-fo: actual @echo "--------- Test/Makefile target=$@" $(SAXON) -o:$(AR)/test.fo test.xml ../fo/fo.xsl $(SAXONOPT) - @echo "Debug:" - find . -name 'oddbyexample.*' - @echo ":gudeD" $(JING) fo.xsd $(AR)/test.fo if [ $(DIFFNOW) -eq 1 ]; \ then diff $(AR)/test.fo $(ER)/test.fo; \ @@ -466,7 +463,6 @@ test-odt: test.rng test-from-docx: test.rng @echo "--------- Test/Makefile target=$@" - $(BINDIR)/docxtotei $(FLAGS) test-indexes.docx temp.xml xmllint --format temp.xml | perl cleanup.pl > $(AR)/test-indexes.xml && rm temp.xml $(JING) $(AR)/test.rng $(AR)/test-indexes.xml @@ -815,7 +811,7 @@ profile: clean: @echo "--------- Test/Makefile target=$@" (cd ..; for i in css/*; do rm -f `basename $$i`;done) - rm -f teitopdf.result.* test*.docx *~ + rm -f teitopdf.result.* *~ rm -f dcr.tmp xml.tmp rm -fr $(AR)/ charts/ embeddings/ media/ Pictures/ From 82e80e340b42003865fdf74b73b6b20ad760df49 Mon Sep 17 00:00:00 2001 From: "Benjamin W. Bohl" Date: Wed, 4 Oct 2023 18:31:49 +0200 Subject: [PATCH 35/70] Update odd2odd.xsl --- odds/odd2odd.xsl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/odds/odd2odd.xsl b/odds/odd2odd.xsl index 3543ec9ab..d8850b2df 100644 --- a/odds/odd2odd.xsl +++ b/odds/odd2odd.xsl @@ -969,13 +969,15 @@ of this software, even if advised of the possibility of such damage. - - - - - - - + + + + + + + + + From 522e84e35eab9b115ad955574f3912217a153fbb Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 6 Oct 2023 21:44:50 -0400 Subject: [PATCH 36/70] Fix #631 (I hope): Generate a different RELAX NG pattern (and reference to it) for every occurence of an anyElement element, and update tests to match. (Previously we were trying to generate one for every content model in which an anyElement occurred, but were generation one for every content model in which an anyElement element occurred only once.) --- Test/expected-results/test.rng | 6 +- Test/expected-results/test15.odd.rnc | 6 +- Test/expected-results/test21.odd.rnc | 6 +- Test/expected-results/test30.rnc | 6 +- Test/expected-results/test33.rnc | 6 +- Test/expected-results/test34.rnc | 6 +- Test/expected-results/test35.rnc | 6 +- Test2/expected-results/testAttValQuant.rng | 6 +- Test2/expected-results/testPure1.rng | 6 +- odds/odd2relax.xsl | 152 +++++++++++++-------- odds/teiodds.xsl | 15 +- 11 files changed, 135 insertions(+), 86 deletions(-) diff --git a/Test/expected-results/test.rng b/Test/expected-results/test.rng index e2a2bd35c..f116905e0 100644 --- a/Test/expected-results/test.rng +++ b/Test/expected-results/test.rng @@ -68,7 +68,7 @@ - + @@ -84,7 +84,7 @@ - + @@ -7277,7 +7277,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] - + diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index 5d8dbe21e..a2844a2ba 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -24,10 +24,10 @@ macro.specialPara = | model.inter | model.divPart | model.global)* -anyElement-xenoData = +anyElement_xenoData_1 = element * - (tei:* | teix:egXML) { attribute * { text }*, - (text | anyElement-xenoData)* + (text | anyElement_xenoData_1)* } att.anchoring.attributes = att.anchoring.attribute.anchored, att.anchoring.attribute.targetEnd @@ -4589,7 +4589,7 @@ xenoData = ## (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] element xenoData { - (text | anyElement-xenoData), + (text | anyElement_xenoData_1), att.global.attributes, att.declarable.attributes, att.typed.attributes, diff --git a/Test/expected-results/test21.odd.rnc b/Test/expected-results/test21.odd.rnc index 33cd31fbd..22a44fbb8 100644 --- a/Test/expected-results/test21.odd.rnc +++ b/Test/expected-results/test21.odd.rnc @@ -25,10 +25,10 @@ macro.specialPara = | model.divPart | model.global)* macro.xtext = (text | model.gLike)* -anyElement-xenoData = +anyElement_xenoData_1 = element * - (tei:* | teix:egXML) { attribute * { text }*, - (text | anyElement-xenoData)* + (text | anyElement_xenoData_1)* } att.anchoring.attributes = att.anchoring.attribute.anchored, att.anchoring.attribute.targetEnd @@ -6428,7 +6428,7 @@ xenoData = ## (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] element xenoData { - (text | anyElement-xenoData), + (text | anyElement_xenoData_1), att.global.attributes, att.declarable.attributes, att.typed.attributes, diff --git a/Test/expected-results/test30.rnc b/Test/expected-results/test30.rnc index 0af31fc7c..d323bc7bd 100644 --- a/Test/expected-results/test30.rnc +++ b/Test/expected-results/test30.rnc @@ -27,10 +27,10 @@ Tmacro.specialPara = | Tmodel.divPart | Tmodel.global)* Tmacro.xtext = (text | Tmodel.gLike)* -anyElement-xenoData = +anyElement_xenoData_1 = element * - (tei:* | ns2:* | teix:egXML) { attribute * { text }*, - (text | anyElement-xenoData)* + (text | anyElement_xenoData_1)* } Tatt.anchoring.attributes = Tatt.anchoring.attribute.anchored, Tatt.anchoring.attribute.targetEnd @@ -5061,7 +5061,7 @@ TxenoData = ## (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] element xenoData { - (text | anyElement-xenoData), + (text | anyElement_xenoData_1), Tatt.global.attributes, Tatt.declarable.attributes, Tatt.typed.attributes, diff --git a/Test/expected-results/test33.rnc b/Test/expected-results/test33.rnc index e7a452db1..7fabe7167 100644 --- a/Test/expected-results/test33.rnc +++ b/Test/expected-results/test33.rnc @@ -28,10 +28,10 @@ tei_macro.specialPara = | tei_model.inter | tei_model.divPart | tei_model.global)* -anyElement-xenoData = +anyElement_xenoData_1 = element * - (tei:* | teix:egXML) { attribute * { text }*, - (text | anyElement-xenoData)* + (text | anyElement_xenoData_1)* } tei_att.anchoring.attributes = tei_att.anchoring.attribute.anchored, @@ -4817,7 +4817,7 @@ tei_xenoData = ## (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] element tei:xenoData { - (text | anyElement-xenoData), + (text | anyElement_xenoData_1), tei_att.global.attributes, tei_att.declarable.attributes, tei_att.typed.attributes, diff --git a/Test/expected-results/test34.rnc b/Test/expected-results/test34.rnc index 2749ee8b6..56f28e374 100644 --- a/Test/expected-results/test34.rnc +++ b/Test/expected-results/test34.rnc @@ -29,10 +29,10 @@ tei_macro.specialPara = | tei_model.inter | tei_model.divPart | tei_model.global)* -anyElement-xenoData = +anyElement_xenoData_1 = element * - (tei:* | teix:egXML) { attribute * { text }*, - (text | anyElement-xenoData)* + (text | anyElement_xenoData_1)* } tei_att.anchoring.attributes = tei_att.anchoring.attribute.anchored, @@ -4820,7 +4820,7 @@ tei_xenoData = ## (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] element xenoData { - (text | anyElement-xenoData), + (text | anyElement_xenoData_1), tei_att.global.attributes, tei_att.declarable.attributes, tei_att.typed.attributes, diff --git a/Test/expected-results/test35.rnc b/Test/expected-results/test35.rnc index cfba7812e..78716f919 100644 --- a/Test/expected-results/test35.rnc +++ b/Test/expected-results/test35.rnc @@ -29,10 +29,10 @@ tei_macro.specialPara = | tei_model.inter | tei_model.divPart | tei_model.global)* -anyElement-xenoData = +anyElement_xenoData_1 = element * - (tei:* | teix:egXML) { attribute * { text }*, - (text | anyElement-xenoData)* + (text | anyElement_xenoData_1)* } tei_att.anchoring.attributes = tei_att.anchoring.attribute.anchored, @@ -4798,7 +4798,7 @@ tei_xenoData = ## (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] element tei:xenoData { - (text | anyElement-xenoData), + (text | anyElement_xenoData_1), tei_att.global.attributes, tei_att.declarable.attributes, tei_att.typed.attributes, diff --git a/Test2/expected-results/testAttValQuant.rng b/Test2/expected-results/testAttValQuant.rng index eb6be5e95..06c3c24f9 100644 --- a/Test2/expected-results/testAttValQuant.rng +++ b/Test2/expected-results/testAttValQuant.rng @@ -53,7 +53,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -6718,7 +6718,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] - + diff --git a/Test2/expected-results/testPure1.rng b/Test2/expected-results/testPure1.rng index 97bb0a7ec..59e5fb99a 100644 --- a/Test2/expected-results/testPure1.rng +++ b/Test2/expected-results/testPure1.rng @@ -70,7 +70,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -7019,7 +7019,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] - + diff --git a/odds/odd2relax.xsl b/odds/odd2relax.xsl index fc425c21a..bb23356d9 100644 --- a/odds/odd2relax.xsl +++ b/odds/odd2relax.xsl @@ -27,7 +27,7 @@ Unported License http://creativecommons.org/licenses/by-sa/3.0/ 2. http://www.opensource.org/licenses/BSD-2-Clause - + Redistribution and use in source and binary forms, with or without @@ -73,12 +73,12 @@ of this software, even if advised of the possibility of such damage. -1 dtd - + - + @@ -220,9 +220,26 @@ of this software, even if advised of the possibility of such damage. - - - + + + + + + + @@ -242,7 +259,7 @@ of this software, even if advised of the possibility of such damage. Schema generated - + @@ -299,7 +316,7 @@ of this software, even if advised of the possibility of such damage. - + @@ -309,9 +326,9 @@ of this software, even if advised of the possibility of such damage. + select="/tei:TEI/tei:teiHeader/tei:fileDesc/tei:publicationStmt/tei:availability"> - This material is dual-licensed. + This material is dual-licensed. @@ -327,14 +344,20 @@ of this software, even if advised of the possibility of such damage. - + - - - - - + + + + + + + + @@ -357,7 +380,10 @@ of this software, even if advised of the possibility of such damage. ' - + + + + @@ -404,8 +430,9 @@ of this software, even if advised of the possibility of such damage. - , 'http://www.tei-c.org/ns/1.0' + + , 'http://www.tei-c.org/ns/1.0' + @@ -477,38 +504,32 @@ of this software, even if advised of the possibility of such damage. + mode='pass2'> - - - + + + - + - - - - - - - + + + - + - + @@ -520,11 +541,28 @@ of this software, even if advised of the possibility of such damage. + + + + + + + + + + + + debug: pass2 has: + + + + + @@ -550,20 +588,20 @@ of this software, even if advised of the possibility of such damage. - + - - - - - - - + + + + + + + @@ -585,7 +623,7 @@ of this software, even if advised of the possibility of such damage. - + - + @@ -650,13 +688,13 @@ of this software, even if advised of the possibility of such damage. prefix --> - - - - + + + + diff --git a/odds/teiodds.xsl b/odds/teiodds.xsl index 6990b6ae7..38f5ee9d9 100644 --- a/odds/teiodds.xsl +++ b/odds/teiodds.xsl @@ -190,6 +190,13 @@ of this software, even if advised of the possibility of such damage. + + + + 0 + + + @@ -328,15 +335,19 @@ of this software, even if advised of the possibility of such damage. + + + + - + - + From e5caa3f89b3a34e606715ebf30b61ff035e2caa4 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 6 Oct 2023 21:58:45 -0400 Subject: [PATCH 37/70] remove some debugging code --- odds/odd2relax.xsl | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/odds/odd2relax.xsl b/odds/odd2relax.xsl index bb23356d9..7233e1e30 100644 --- a/odds/odd2relax.xsl +++ b/odds/odd2relax.xsl @@ -541,22 +541,6 @@ of this software, even if advised of the possibility of such damage. - - - - - - - - - - - - debug: pass2 has: - - - - From f8f0e4491d646339cc69b885cf890cf1776508d0 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 7 Oct 2023 20:15:04 -0400 Subject: [PATCH 38/70] Add a test with 2 elements. --- Test2/expected-results/testPure1.rng | 63 +++- Test2/inputFiles/testPure1.odd | 419 ++++++++++++++------------- 2 files changed, 271 insertions(+), 211 deletions(-) diff --git a/Test2/expected-results/testPure1.rng b/Test2/expected-results/testPure1.rng index 59e5fb99a..34ad63e53 100644 --- a/Test2/expected-results/testPure1.rng +++ b/Test2/expected-results/testPure1.rng @@ -70,7 +70,7 @@ - + @@ -86,7 +86,56 @@ - + + + + + + + address descendants must be in the + namespaces + 'https://docbook.org/ns/docbook', 'http://www.tei-c.org/ns/1.0' + + + + + + + + + egXML + + + + + + + + + + + + + + + + + + + + + egXML + + + + + + + + + + + @@ -4506,15 +4555,11 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke (address) contains a postal address, for example of a publisher, an organization, or an individual. [3.6.2. Addresses 2.2.4. Publication, Distribution, Licensing, etc. 3.12.2.4. Imprint, Size of a Document, and Reprint Information] - - - + - - - + @@ -7019,7 +7064,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (non-TEI metadata) provides a container element into which metadata in non-TEI formats may be placed. [2.5. Non-TEI Metadata] - + diff --git a/Test2/inputFiles/testPure1.odd b/Test2/inputFiles/testPure1.odd index e80d5ca43..36e135e89 100644 --- a/Test2/inputFiles/testPure1.odd +++ b/Test2/inputFiles/testPure1.odd @@ -1,33 +1,35 @@ - + + - - - Test TEI Customization using Pure ODD - Martin Holmes - Syd Bauman - - -

    Free for anyone for anything

    - - -

    Authored from scratch

    -
    - + + + Test TEI Customization using Pure ODD + Martin Holmes + Syd Bauman + + +

    Free for anyone for anything

    +
    + +

    Authored from scratch

    +
    +
    - -

    Here is the TEI badge: - - The TEI Badge - . It is here to test desc in graphic in an ODD per - . -

    - - This file is intended as input for a conversion to + +

    Here is the TEI badge: + + The TEI Badge + . It is here to test desc in graphic in an ODD per + . +

    + + This file is intended as input for a conversion to RNG and Schematron (and possibly other outputs) as part of the modular Stylesheets test process. No source is specified here, because the source p5subset.xml is controlled @@ -39,212 +41,225 @@ compliant schemas (for the most severe definition of TEI-compliant). - - - - - + + + + + - + - + - - - + + + - - - + + + - + - - + + - - - - - + + + + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - long playing - 12-inch vinyl - - - - - - compact disc - - - - - - - - + + + + + + + + + long playing + 12-inch vinyl + + + + + + compact disc + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - A short bibliographic citation with nothing but author, title, and optional date - - - - - - - - - - - - - - - - - - - + + + A short bibliographic citation with nothing but author, title, and optional date + + + + + + + + + + + + + + + + + + + - - - - - - The email address of Amour de Cosmos. - - - The email address of The Venerable Bede. - - - - -

    Our email element is only allowed to contain - one of two email addresses, so we try to constrain its - content model using a valList.

    -
    -
    + + + + + + The email address of Amour de Cosmos. + + + The email address of The Venerable Bede. + + + + +

    Our email element is only allowed to contain + one of two email addresses, so we try to constrain its + content model using a valList.

    +
    +
    - - - - - Too many links! - - - + + + + + Too many links! + + + + + + * An abbr and expan (in any order, explicitly set by @preserveOrder="false") + * A corr and sic (in that specific order, explicitly set by @preserveOrder="true") + * An orig and reg (in that specific order, implicitly set by omitting @preserveOrder) - - - - - - - - - - - - - - - - - - -

    Our choice element is allowed to contain one of the following combinations: - - abbr and expan - expan and abbr - corr and sic - orig and reg - -

    -
    -
    + Inspired by the example in TD for sequence and alternate: + https://www.tei-c.org/Vault/P5/4.2.2/doc/tei-p5-doc/en/html/TD.html#index-egXML-d53e153603 + --> + + + + + + + + + + + + + + + + + + + +

    Our choice element is allowed to contain one of the following combinations: + + abbr and expan + expan and abbr + corr and sic + orig and reg + +

    +
    +
    -
    - - + + + + + + + + + + + + + +
    + +
    From 43ffd1e3a79631f3b22d77d4c05b910438daf9f9 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Tue, 10 Oct 2023 17:11:18 -0400 Subject: [PATCH 39/70] =?UTF-8?q?Minor=20fixes,=20and=20changes=20to=20tes?= =?UTF-8?q?ts=20to=20match:=202)=20Fix=20typo=20=E2=80=94=20function=20had?= =?UTF-8?q?=20"#teitodocx"=20where=20it=20meant=20"#docxtotei"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test/expected-results/hyperlinktest.xml | 2 +- Test/expected-results/test-indexes.xml | 2 +- Test/expected-results/test-rtf2tei.xml | 2 +- Test/expected-results/test11.xml | 2 +- Test/expected-results/test11a.xml | 2 +- Test/expected-results/test18.xml | 2 +- Test/expected-results/test19.xml | 2 +- Test/expected-results/test29.xml | 4 +- Test/expected-results/test37.xml | 2 +- Test/expected-results/test39.xml | 4 +- Test/expected-results/test40.xml | 2 +- Test2/expected-results/testDocxIndexes1.xml | 2 +- .../expected-results/testDocxListsTables1.xml | 2 +- Test2/expected-results/testNotes2.xml | 2 +- Test2/expected-results/testShelfmarkMs.xml | 2 +- docx/from/docxtotei.xsl | 1055 ++++++++--------- docx/from/functions.xsl | 353 +++--- 17 files changed, 711 insertions(+), 731 deletions(-) diff --git a/Test/expected-results/hyperlinktest.xml b/Test/expected-results/hyperlinktest.xml index ce2ef962d..41c15525a 100644 --- a/Test/expected-results/hyperlinktest.xml +++ b/Test/expected-results/hyperlinktest.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test-indexes.xml b/Test/expected-results/test-indexes.xml index 6c26e0861..b40780ce8 100644 --- a/Test/expected-results/test-indexes.xml +++ b/Test/expected-results/test-indexes.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test-rtf2tei.xml b/Test/expected-results/test-rtf2tei.xml index beaba9fa1..633694d3d 100644 --- a/Test/expected-results/test-rtf2tei.xml +++ b/Test/expected-results/test-rtf2tei.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test11.xml b/Test/expected-results/test11.xml index 8d5919a53..10b51baa2 100644 --- a/Test/expected-results/test11.xml +++ b/Test/expected-results/test11.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test11a.xml b/Test/expected-results/test11a.xml index 8218d055f..bb2053bcd 100644 --- a/Test/expected-results/test11a.xml +++ b/Test/expected-results/test11a.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test18.xml b/Test/expected-results/test18.xml index 149409ea5..da5808b81 100644 --- a/Test/expected-results/test18.xml +++ b/Test/expected-results/test18.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test19.xml b/Test/expected-results/test19.xml index 275af0f5d..bf506cea7 100644 --- a/Test/expected-results/test19.xml +++ b/Test/expected-results/test19.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test29.xml b/Test/expected-results/test29.xml index b10ebaa8f..a56aa8560 100644 --- a/Test/expected-results/test29.xml +++ b/Test/expected-results/test29.xml @@ -20,7 +20,7 @@ - + @@ -175,7 +175,7 @@

    - + unable to handle picture here, no embed or link

    diff --git a/Test/expected-results/test37.xml b/Test/expected-results/test37.xml index d4ba53ae2..bc070773e 100644 --- a/Test/expected-results/test37.xml +++ b/Test/expected-results/test37.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test39.xml b/Test/expected-results/test39.xml index 89de5b965..2def36d88 100644 --- a/Test/expected-results/test39.xml +++ b/Test/expected-results/test39.xml @@ -20,7 +20,7 @@ - + @@ -202,7 +202,7 @@

    - + unable to handle picture here, no embed or link

    diff --git a/Test/expected-results/test40.xml b/Test/expected-results/test40.xml index 67b13fb3a..56b6162ab 100644 --- a/Test/expected-results/test40.xml +++ b/Test/expected-results/test40.xml @@ -20,7 +20,7 @@ - + diff --git a/Test2/expected-results/testDocxIndexes1.xml b/Test2/expected-results/testDocxIndexes1.xml index ba48c9ed4..4feeeaed3 100644 --- a/Test2/expected-results/testDocxIndexes1.xml +++ b/Test2/expected-results/testDocxIndexes1.xml @@ -19,7 +19,7 @@ - + diff --git a/Test2/expected-results/testDocxListsTables1.xml b/Test2/expected-results/testDocxListsTables1.xml index 4787a37dd..bc9617799 100644 --- a/Test2/expected-results/testDocxListsTables1.xml +++ b/Test2/expected-results/testDocxListsTables1.xml @@ -19,7 +19,7 @@ - + diff --git a/Test2/expected-results/testNotes2.xml b/Test2/expected-results/testNotes2.xml index c34c68fc5..0a2ed267d 100644 --- a/Test2/expected-results/testNotes2.xml +++ b/Test2/expected-results/testNotes2.xml @@ -19,7 +19,7 @@ - + diff --git a/Test2/expected-results/testShelfmarkMs.xml b/Test2/expected-results/testShelfmarkMs.xml index b5f1b6315..1aac080b5 100644 --- a/Test2/expected-results/testShelfmarkMs.xml +++ b/Test2/expected-results/testShelfmarkMs.xml @@ -19,7 +19,7 @@ - + diff --git a/docx/from/docxtotei.xsl b/docx/from/docxtotei.xsl index b1e1b924c..959145f26 100644 --- a/docx/from/docxtotei.xsl +++ b/docx/from/docxtotei.xsl @@ -17,7 +17,7 @@ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:rel="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:tbx="http://www.lisa.org/TBX-Specification.33.0.html" - xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:html="http://www.w3.org/1999/xhtml" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:teidocx="http://www.tei-c.org/ns/teidocx/1.0" xmlns:v="urn:schemas-microsoft-com:vml" @@ -31,52 +31,52 @@ version="2.0" exclude-result-prefixes="#all"> - - - - - - - - - true - mml - tei - tei - false - false - false - true - true - false - false - false - false - 890 - 576 - - - - - - - - - - - - - - - -

    TEI stylesheet for converting Word docx files to TEI

    -

    This software is dual-licensed: - + + + + + + + + + true + mml + tei + tei + false + false + false + true + true + false + false + false + false + 890 + 576 + + + + + + + + + + + + + + + +

    TEI stylesheet for converting Word docx files to TEI

    +

    This software is dual-licensed: + 1. Distributed under a Creative Commons Attribution-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-sa/3.0/ 2. http://www.opensource.org/licenses/BSD-2-Clause - + Redistribution and use in source and binary forms, with or without @@ -101,87 +101,73 @@ data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. -

    -

    Author: See AUTHORS

    - -

    Copyright: 2013, TEI Consortium

    -
    -
    - - - - - 1234567890 - ~!@#$%^&*()<>{}[]|:;,.?`'"=+-_ - - - - - - - - - - - - - - - - - -

    The main template that starts the conversion from docx to TEI

    -

    IMPORTING STYLESHEETS AND OVERRIDING MATCHED TEMPLATES:

    - -

    When importing a stylesheet (xsl:import) all the templates - in the imported stylesheet get a lower import-precedence than - the ones in the importing stylesheet. If the importing - stylesheet wants to override, let's say a general template to - match all <w:p> elements where no more specialized rule - applies it can't, since it will automatically override all - w:p[somepredicate] template in the imported stylesheet as - well. In this case we have outsourced the processing of the - general template into a named template and all the imported - stylesheet does is to call the named template. Now, the - importing stylesheet can simply override the named template, - and everything works out fine.

    - -

    See templates: - w:p (mode: paragraph)

    - -

    Modes:

    -
      -
    • pass0: a normalization process for styles. Can also - detect illegal styles.
    • - -
    • pass2: templates that apply in the second stage - of the conversion, cleaning TEI elements created in the - first ise."
    • - -
    • inSectionGroup: defines a template that works on a - group of consecutive elements (w:p or w:tbl elements) that - form a section (a normal section, not to be confused with - w:sectPr).
    • - -
    • paragraph: defines that the template - works on an individual element (usually - starting with a w:p element).
    • - -
    • iden: simply copies the content
    • -
    - +

    +

    Author: See AUTHORS

    +

    Copyright: 2013, TEI Consortium

    +
    +
    + + + + + 1234567890 + ~!@#$%^&*()<>{}[]|:;,.?`'"=+-_ + + + + + + + + + + + + + + +

    The main template that starts the conversion from docx to TEI

    +

    IMPORTING STYLESHEETS AND OVERRIDING MATCHED TEMPLATES:

    + +

    When importing a stylesheet (xsl:import) all the templates + in the imported stylesheet get a lower import-precedence than + the ones in the importing stylesheet. If the importing + stylesheet wants to override, let's say a general template to + match all <w:p> elements where no more specialized rule + applies it can't, since it will automatically override all + w:p[somepredicate] template in the imported stylesheet as + well. In this case we have outsourced the processing of the + general template into a named template and all the imported + stylesheet does is to call the named template. Now, the + importing stylesheet can simply override the named template, + and everything works out fine.

    +

    See templates: - w:p (mode: paragraph)

    +

    Modes:

    +
      +
    • pass0: a normalization process for styles. Can also + detect illegal styles.
    • +
    • pass2: templates that apply in the second stage + of the conversion, cleaning TEI elements created in the + first ise."
    • +
    • inSectionGroup: defines a template that works on a + group of consecutive elements (w:p or w:tbl elements) that + form a section (a normal section, not to be confused with + w:sectPr).
    • +
    • paragraph: defines that the template + works on an individual element (usually + starting with a w:p element).
    • +
    • iden: simply copies the content
    • +
    - - The file cannot be read - - - The file cannot be read - + + The file cannot be read + + + The file cannot be read + @@ -189,14 +175,13 @@ of this software, even if advised of the possibility of such damage. - + - +
    - @@ -204,9 +189,7 @@ of this software, even if advised of the possibility of such damage. - - @@ -215,7 +198,7 @@ of this software, even if advised of the possibility of such damage. - + @@ -223,239 +206,229 @@ of this software, even if advised of the possibility of such damage. Main document template - - - - - - - - - - - - - Create the basic text; worry later about dividing it up - - - - - - - - - - - - - - - - - Process the text by high-level divisions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Bookmarks in section mode

    -

    - There are certain elements that we don't really care about, but that - force us to regroup everything from the next sibling on. - - @see grouping in construction of headline outline. -

    -
    -
    - - - - - - - - - -

    Bookmarks in normal mode

    -

    Copy bookmarks for processing in pass 2

    -
    -
    - - - - - - - - - - - - - - - - - -

    Grouping consecutive elements that belong together

    -

    - We are now working on a group of all elements inside some group bounded by - headings. These need to be further split up into smaller groups for figures, - list etc. and into individual groups for simple paragraphs... -

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Creating a group of a figure + + + + + + + + + + + + Create the basic text; worry later about dividing it up - -
    - - - -
    -
    + + + + + + + + + + + + + + Process the text by high-level divisions + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Bookmarks in section mode

    +

    + There are certain elements that we don't really care about, but that + force us to regroup everything from the next sibling on. + + @see grouping in construction of headline outline. +

    +
    +
    + + + + + - - Creating a group of a caption (figure or table) + + +

    Bookmarks in normal mode

    +

    Copy bookmarks for processing in pass 2

    +
    - -
  • - - - - + + + +
    @@ -316,7 +316,7 @@

    Schematron

    - att.typed + att.typed  proporciona atributos genéricos utilizables para cualquier clasificación o subclasificación de elementos.[ 1.3.1. Attribute Classes 17.1.1. Words and Above @@ -245,26 +245,26 @@

    - <div + <div  typ=" - verse"> + verse">  <head>Night in Tarras - </head> - <lg + </head>  + <lg  type=" - stanza"> + stanza">   <l>At evening tramping on the hot white road - </l> + </l>   <l>… - </l> - </lg> - <lg + </l>  + </lg>  + <lg  type=" - stanza"> + stanza">   <l>A wind sprang up from nowhere as the sky - </l> + </l>   <l>… - </l> + </l>  </lg> </div>
    -
    <sch:rule context="tei:*[@subtype]"> <sch:assert test="@type">The <sch:name/> element should not be categorized in detail with @subtype unless also categorized in general with @type</sch:assert> </sch:rule>
    +
    <sch:rule context="tei:*[@subtype]"> <sch:assert test="@type">The <sch:name/> element should not be categorized in detail with @subtype unless also categorized in general with @type</sch:assert> </sch:rule>
    @@ -347,77 +347,177 @@

    Atributos - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.divLike( - @org, - @sample) ( - att.fragmentable( - @part)) - att.declaring( - @decls) - att.written( - @hand) - att.typed( - type, @subtype) -
    - - - - - -
    typ - caracteriza el elemento utilizando una clasificación o tipología funcional. -
    - - - - - - - - - - - - - -
    - Derivado de - - att.typed -
    - Estado - - Opcional -
    - Tipo de datos - teidata.enumerated
    -
    -
    -
    + +
    + + + + + +
    typ + caracteriza el elemento utilizando una clasificación o tipología funcional. +
    + + + + + + + + + + + + + +
    + Derivado de + + att.typed +
    + Estado + + Opcional +
    + Tipo de datos + teidata.enumerated
    +
    +
    +
    + @@ -544,44 +644,44 @@

    - <body> - <div + <body>  + <div  typ=" - part"> + part">   <head>Fallacies of Authority - </head> - <para>The subject of which is Authority in various shapes, and the object, to repress all exercise of the reasoning faculty. - </para> - <div + </head>   + <para>The subject of which is Authority in various shapes, and the object, to repress all      exercise of the reasoning faculty. + </para>   + <div  n=" - 1" + 1typ=" - chapter"> + chapter">    <head>The Nature of Authority - </head> - <para>With reference to any proposed measures having for their object the greatest happiness of the greatest number [...] - </para> - <div + </head>    + <para>With reference to any proposed measures having for their object the greatest        happiness of the greatest number [...] + </para>    + <div  n=" - 1.1" + 1.1typ=" - section"> + section">     <head>Analysis of Authority - </head> - <para>What on any given occasion is the legitimate weight or influence to be attached to authority [...] - </para> - </div> - <div + </head>     + <para>What on any given occasion is the legitimate weight or influence to be attached to          authority [...] + </para>    + </div>    + <div  n=" - 1.2" + 1.2typ=" - section"> + section">     <head>Appeal to Authority, in What Cases Fallacious. - </head> + </head>     <para>Reference to authority is open to the charge of fallacy when [...] - </para> - </div> - </div> + </para>    + </div>   + </div>  </div> </body>
    @@ -591,7 +691,7 @@

    Schematron -
    <sch:report test="(ancestor::tei:l or ancestor::tei:lg) and not(ancestor::tei:floatingText)"> Abstract model violation: Lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. </sch:report>
    +
    <sch:report test="(ancestor::tei:l or ancestor::tei:lg) and not(ancestor::tei:floatingText)"> Abstract model violation: Lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. </sch:report>
    @@ -599,7 +699,7 @@

    Schematron -
    <sch:report test="(ancestor::tei:p or ancestor::tei:ab) and not(ancestor::tei:floatingText)"> Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. </sch:report>
    +
    <sch:report test="(ancestor::tei:p or ancestor::tei:ab) and not(ancestor::tei:floatingText)"> Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. </sch:report>
    @@ -741,36 +841,117 @@

    Atributos - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.declaring( - @decls) - att.fragmentable( - @part) - att.written( - @hand) + + @@ -983,22 +1164,22 @@

    Ejemplo -
    +
    <para>Hallgerd was outside. <q>There is blood on your axe, </q>she said. - <q>What have you done? + <q>What have you    done? </q> </para> - <para> + <para>  <q>I have now arranged that you can be married a second time, </q>replied Thjostolf. </para> - <para> + <para>  <q>Then you must mean that Thorvald is dead, </q>she said. </para> - <para> + <para>  <q>Yes, </q>said Thjostolf. <q>And now you must think up some plan for me. @@ -1011,7 +1192,7 @@

    Schematron -
    <sch:report test="(ancestor::tei:ab or ancestor::tei:p) and not( ancestor::tei:floatingText |parent::tei:exemplum |parent::tei:item |parent::tei:note |parent::tei:q |parent::tei:quote |parent::tei:remarks |parent::tei:said |parent::tei:sp |parent::tei:stage |parent::tei:cell |parent::tei:figure )"> Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements. </sch:report>
    +
    <sch:report test="(ancestor::tei:ab or ancestor::tei:p) and not( ancestor::tei:floatingText |parent::tei:exemplum |parent::tei:item |parent::tei:note |parent::tei:q |parent::tei:quote |parent::tei:remarks |parent::tei:said |parent::tei:sp |parent::tei:stage |parent::tei:cell |parent::tei:figure )"> Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements. </sch:report>
    @@ -1019,7 +1200,7 @@

    Schematron -
    <sch:report test="(ancestor::tei:l or ancestor::tei:lg) and not( ancestor::tei:floatingText |parent::tei:figure |parent::tei:note )"> Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText. </sch:report>
    +
    <sch:report test="(ancestor::tei:l or ancestor::tei:lg) and not( ancestor::tei:floatingText |parent::tei:figure |parent::tei:note )"> Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText. </sch:report>
    @@ -1027,12 +1208,12 @@

    Content model -
    +                  
     <content>
      <macroRef key="macro.paraContent"/>
     </content>
         
    -
    +
     
    @@ -1041,7 +1222,7 @@

    Declaración -
    +                  
     element para
     {
        
    @@ -1055,7 +1236,7 @@ 

    macro.paraContent } - +

    @@ -1087,125 +1268,202 @@

    Atributos - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.ascribed.directed( - @toWhom) ( - att.ascribed( - @who)) -
    - - - - - -
    typ( - type) - Puede usarse para indicar si el material citado es hablado o pensado, o para caracterizarlo con más precisión. -
    - - - - - - - - - - - - - -
    - Estado - - Opcional -
    - Tipo de datos - teidata.enumerated
    - Los valores sugeridos incluyen: - -
    -
    - spoken -
    -
    ( - spoken) - representación del estilo directo, normalmente marcado mediante comillas.
    -
    - thought -
    -
    ( - thought) - representación de un pensamiento o reflexión, p.ej. un monólogo interno.
    -
    - written -
    -
    ( - written) - cita de una fuente escrita.
    -
    - soCalled -
    -
    ( - so called) - distancia autorial
    -
    - foreign -
    -
    ( - foreign) - palabras extranjeras
    -
    - distinct -
    -
    ( - distinct) - lingüisticamente distinto
    -
    - term -
    -
    - término técnico -
    -
    - emph -
    -
    ( - emph) - énfasis retórico
    -
    - mentioned -
    -
    ( - mentioned) - se refiere a sí mismo, no a su referente habitual
    -
    -
    -
    -
    + +
    + + + + + +
    typ( + type) + Puede usarse para indicar si el material citado es hablado o pensado, o para caracterizarlo con más precisión. +
    + + + + + + + + + + + + + +
    + Estado + + Opcional +
    + Tipo de datos + teidata.enumerated
    + Los valores sugeridos incluyen: + +
    +
    + spoken +
    +
    ( + spoken) + representación del estilo directo, normalmente marcado mediante comillas.
    +
    + thought +
    +
    ( + thought) + representación de un pensamiento o reflexión, p.ej. un monólogo interno.
    +
    + written +
    +
    ( + written) + cita de una fuente escrita.
    +
    + soCalled +
    +
    ( + so called) + distancia autorial
    +
    + foreign +
    +
    ( + foreign) + palabras extranjeras
    +
    + distinct +
    +
    ( + distinct) + lingüisticamente distinto
    +
    + term +
    +
    + término técnico +
    +
    + emph +
    +
    ( + emph) + énfasis retórico
    +
    + mentioned +
    +
    ( + mentioned) + se refiere a sí mismo, no a su referente habitual
    +
    +
    +
    +
    + @@ -1488,7 +1746,7 @@

    Ejemplo -
    It is spelled +
    It is spelled <q>Tübingen </q>— to enter the letter <q>u @@ -1504,12 +1762,12 @@

    Content model -
    +                  
     <content>
      <macroRef key="macro.specialPara"/>
     </content>
         
    -
    +
     
    @@ -1518,7 +1776,7 @@

    Declaración -
    +                  
     element q
     {
        
    @@ -1540,7 +1798,7 @@ 

    macro.specialPara } - +

    @@ -1556,7 +1814,7 @@

    @@ -1656,12 +1914,12 @@

    Content model

    @@ -1670,10 +1928,10 @@

    Declaración

    @@ -5051,8 +5309,8 @@

    + TEI  + Home 
    Sebastian Rahtz.
    - \ No newline at end of file + From ba2d56c8429609c98761765b19e6136193cd0175 Mon Sep 17 00:00:00 2001 From: Joey Takeda Date: Wed, 18 Oct 2023 13:40:58 -0700 Subject: [PATCH 43/70] For #592, update CSS But note that this also will require a change in the GL's CSS in the TEI repo, I think --- css/odd.css | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/css/odd.css b/css/odd.css index 6090a1849..a3c2a2b7c 100644 --- a/css/odd.css +++ b/css/odd.css @@ -318,6 +318,30 @@ div.moduleSpec{ span.moduleSpecHead{ font-style:italic; } + +/** Vertical, compressd attlists */ +ul.attList{} + +/* Display attList children as a inline list */ +ul.attList ul.classSpecAttDefs, +ul.attList ul.classSpecAttDefs > li{ + display:inline; + margin:0; + padding:0; +} + +/* class name links should have a colon after */ +ul.attList a.link_odd + ul.classSpecAttDefs::before{ + content: ": "; + text-decoration: none; +} + +/* All classes and defined attributes (i.e. items in the lists) + should be comma separated */ +ul.attList ul.classSpecAttDefs > li:not(:last-child)::after{ + content: ", "; +} + ul.specList li{ list-style:none; } From 4224dd0816348fd92bae70cd8f3a74b4fd49b679 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sun, 22 Oct 2023 22:26:47 -0400 Subject: [PATCH 44/70] Tweak README builder for TEI ticket 2070 --- profiles/readme/html/to.xsl | 39 +++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/profiles/readme/html/to.xsl b/profiles/readme/html/to.xsl index eaf2fd523..0aeb759d7 100644 --- a/profiles/readme/html/to.xsl +++ b/profiles/readme/html/to.xsl @@ -4,6 +4,7 @@ xmlns:html="http://www.w3.org/1999/xhtml" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="#all" version="2.0"> @@ -60,36 +61,62 @@ of this software, even if advised of the possibility of such damage.

    .../release/tei-p5-doc/share/doc/tei-p5-doc/ --> - + + + + + + + + + + + + + + + - + - + WARNING: unable to parse version # from filename, so links will not work - WARNING: file cannot be read, so links will probably be broken + INFO: file could not be read WARNING: supplied version () is not equal to content of . + + INFO: version number is < 1.0.0, so not generating links for element & class names. + - + + + + + + + - From a7207929f6a62b9792a06b8fe14e5b60432b59c4 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Wed, 25 Oct 2023 20:47:46 -0400 Subject: [PATCH 45/70] Finally add comment to help future maintainers with debugging 3-pass RELAX NG pattern reduction code (which I wrote > 2 weeks ago). --- odds/odd2relax.xsl | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/odds/odd2relax.xsl b/odds/odd2relax.xsl index 7233e1e30..aedd995da 100644 --- a/odds/odd2relax.xsl +++ b/odds/odd2relax.xsl @@ -225,21 +225,18 @@ of this software, even if advised of the possibility of such damage. + - From 965e98ed916f8ec3b003d20c4d1076f7cdb0442d Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Wed, 25 Oct 2023 21:20:28 -0400 Subject: [PATCH 46/70] Reproduce same fix @bwbohl made for elements to classes --- odds/odd2odd.xsl | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/odds/odd2odd.xsl b/odds/odd2odd.xsl index d8850b2df..e8299c340 100644 --- a/odds/odd2odd.xsl +++ b/odds/odd2odd.xsl @@ -970,15 +970,14 @@ of this software, even if advised of the possibility of such damage. - - - - - - - + + + + + + + - @@ -1256,12 +1255,14 @@ of this software, even if advised of the possibility of such damage. - - - - - - + + + + + + + + From 739d94b4c87b700d25375ba5ca5bcfd195838d47 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 27 Oct 2023 15:29:35 -0400 Subject: [PATCH 47/70] tweak a comment --- profiles/readme/html/to.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/profiles/readme/html/to.xsl b/profiles/readme/html/to.xsl index 0aeb759d7..d39aff335 100644 --- a/profiles/readme/html/to.xsl +++ b/profiles/readme/html/to.xsl @@ -115,7 +115,7 @@ of this software, even if advised of the possibility of such damage.

    - + From cf09b61bcd3b762c93f2c0338c2accc01bffb9cb Mon Sep 17 00:00:00 2001 From: martindholmes Date: Fri, 27 Oct 2023 14:47:57 -0700 Subject: [PATCH 48/70] Removing anonymously-named test file and integrating that test (for index elements to be ignored in TOC building) into testStructure1. --- Test2/inputFiles/test-382.xml | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 Test2/inputFiles/test-382.xml diff --git a/Test2/inputFiles/test-382.xml b/Test2/inputFiles/test-382.xml deleted file mode 100644 index d7ef575b0..000000000 --- a/Test2/inputFiles/test-382.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - Title - - -

    Publication Information

    -
    - -

    Information about the source

    -
    -
    -
    - - -
    - - - An index term here - - Some heading here - -

    Some text here

    -
    - -
    -
    From d0661941bbb4b0fb21d1f014170ee38201651e06 Mon Sep 17 00:00:00 2001 From: helenasabel Date: Sat, 28 Oct 2023 10:28:27 +0200 Subject: [PATCH 49/70] updates id that causes tests to fail --- Test2/expected-results/testPure1.rng | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Test2/expected-results/testPure1.rng b/Test2/expected-results/testPure1.rng index 64fb32611..1934b7896 100644 --- a/Test2/expected-results/testPure1.rng +++ b/Test2/expected-results/testPure1.rng @@ -90,7 +90,7 @@ - + address descendants must be in the namespaces From 12c7bf2e6157d4402e099a82fd91a51ef3db4302 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 28 Oct 2023 19:35:17 -0400 Subject: [PATCH 50/70] An attempt at #640 fixing: * template showAttClasses is called from 6 different places (all in common_tagdocs); * generated debugging code for each of those places; * found which 2 were causing problem (li element as child of td instead of child of ul); * wrapped them in ul element. * Note: deliberately left debugging PIs in place, but they should maybe be removed before merging into dev. --- common/common_tagdocs.xsl | 36 +++++++++++++++++++++--------------- epub3/tei-to-epub3.xsl | 1 + 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/common/common_tagdocs.xsl b/common/common_tagdocs.xsl index aca410279..596a1cc48 100644 --- a/common/common_tagdocs.xsl +++ b/common/common_tagdocs.xsl @@ -594,7 +594,11 @@ - + + + calling showAttClasses 01 + + @@ -708,6 +712,7 @@ + calling showAttClasses 02 @@ -742,7 +747,11 @@ - + + + calling showAttClasses 03 + + @@ -756,7 +765,7 @@ ---> + --> @@ -1153,6 +1162,7 @@ 2 + calling showAttClasses 04 true @@ -1186,6 +1196,7 @@ /> + calling showAttClasses 05 true @@ -2125,6 +2136,7 @@ + calling showAttClasses 06 @@ -2739,8 +2751,7 @@ false - + @@ -2754,12 +2765,9 @@ - - - In addition to global attributes - and those inherited from - Global attributes and those inherited - from + + In addition to global attributes and those inherited from + Global attributes and those inherited from @@ -2777,10 +2785,8 @@ - - - In addition to global - attributes + + In addition to global attributes Global attributes only diff --git a/epub3/tei-to-epub3.xsl b/epub3/tei-to-epub3.xsl index c4230139f..f94f827ab 100644 --- a/epub3/tei-to-epub3.xsl +++ b/epub3/tei-to-epub3.xsl @@ -12,6 +12,7 @@ xpath-default-namespace="http://www.tei-c.org/ns/1.0" > + Date: Sat, 28 Oct 2023 23:32:40 -0400 Subject: [PATCH 51/70] Update an expected results file in Test/. --- Test/expected-results/test15.odd.html | 38 +++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index ea13960b7..2af220dd4 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -643,7 +643,7 @@

    Ejemplo

    @@ -768,7 +768,7 @@

    Declaración

    @@ -1164,7 +1164,7 @@

    Ejemplo

    @@ -1222,7 +1222,7 @@

    Declaración

    @@ -1746,7 +1746,7 @@

    Ejemplo

    @@ -1776,7 +1776,7 @@

    Declaración

    @@ -1914,12 +1914,12 @@

    Content model

    @@ -1928,10 +1928,10 @@

    Declaración

    From d4b77e36b0a92cfecbe2a51949645cc211a0095d Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 28 Oct 2023 23:41:57 -0400 Subject: [PATCH 52/70] Simplify patching version number. --- profiles/readme/html/to.xsl | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/profiles/readme/html/to.xsl b/profiles/readme/html/to.xsl index d39aff335..9fcd8a6e2 100644 --- a/profiles/readme/html/to.xsl +++ b/profiles/readme/html/to.xsl @@ -70,16 +70,8 @@ of this software, even if advised of the possibility of such damage.

    But the Guidelines we are trying to point to always have it. So here if we find only major- dot-minor (rather than major-dot-minor-dot-patch), we append a ".0". --> - - - - - - - - - - + From 7ed5111fb257c9dee6ff830b7fb42a216b839f17 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 3 Nov 2023 23:35:45 -0400 Subject: [PATCH 53/70] Direct test instead of key fix as discussed on PR --- common/common_tagdocs.xsl | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/common/common_tagdocs.xsl b/common/common_tagdocs.xsl index 596a1cc48..2d62d7bbc 100644 --- a/common/common_tagdocs.xsl +++ b/common/common_tagdocs.xsl @@ -594,11 +594,11 @@ - - - calling showAttClasses 01 + + + calling showAttClasses 01 - + @@ -712,7 +712,7 @@
    - calling showAttClasses 02 + calling showAttClasses 02 @@ -747,11 +747,11 @@ - - - calling showAttClasses 03 + + + calling showAttClasses 03 - + @@ -765,7 +765,7 @@ - --> + --> @@ -1162,7 +1162,7 @@ 2 - calling showAttClasses 04 + calling showAttClasses 04 true @@ -1196,7 +1196,7 @@ /> - calling showAttClasses 05 + calling showAttClasses 05 true @@ -2154,7 +2154,7 @@ + to suppress copying tei:attRef, which were invalid in TEI lite--> @@ -2797,7 +2797,16 @@ - + + + From 05231d48893abf22e89c128c3bcfc3b631fd4f61 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 4 Nov 2023 00:20:51 -0400 Subject: [PATCH 54/70] Remove import of classatts.xsl, as no longer needed after 7ed5111f. --- epub3/tei-to-epub3.xsl | 1 - 1 file changed, 1 deletion(-) diff --git a/epub3/tei-to-epub3.xsl b/epub3/tei-to-epub3.xsl index f94f827ab..c4230139f 100644 --- a/epub3/tei-to-epub3.xsl +++ b/epub3/tei-to-epub3.xsl @@ -12,7 +12,6 @@ xpath-default-namespace="http://www.tei-c.org/ns/1.0" > - Date: Wed, 8 Nov 2023 08:39:06 -0800 Subject: [PATCH 55/70] With @sydb fix for issue #640. --- common/common_tagdocs.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/common_tagdocs.xsl b/common/common_tagdocs.xsl index 2d62d7bbc..fe71fa67d 100644 --- a/common/common_tagdocs.xsl +++ b/common/common_tagdocs.xsl @@ -2806,7 +2806,7 @@ importing other files, which in turn importing other files, etc. —Syd, 2023-11-03 --> - + From b4bb8fbf16b1a867d56f4abf832f44005a58668a Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Wed, 8 Nov 2023 22:16:38 -0500 Subject: [PATCH 56/70] not sure what happened ... --- Test/expected-results/test15.odd.html | 431 ++------------------------ 1 file changed, 21 insertions(+), 410 deletions(-) diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index 7b18dd944..10e23183f 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -397,81 +397,6 @@

    Atributos

    -======= - +
    - enum + enum  define la gama de valores de atributos expresados como una única palabra o señal tomada de una lista de posibilidades documentadas.
    -
    +                  
     <content>
      <dataRef key="teidata.word"/>
     </content>
         
    -
    +
     
    -
    +                  
     teidata.enumerated = 
     teidata.word
    -
    +
     
    -
    +
    <body>  <div  typ=" @@ -707,7 +707,7 @@

    Content model

    -
    +                  
     <content>
      <sequence minOccurs="1" maxOccurs="1">
       <alternate minOccurs="0"
    @@ -759,7 +759,7 @@ 

    </sequence> </content> - +

    -
    +                  
     element div
     {
        
    @@ -808,7 +808,7 @@ 

    )? ) } - +

    -
    +
    <para>Hallgerd was outside. <q>There is blood on your axe, </q>she said. @@ -1208,12 +1208,12 @@

    Content model

    -
    +                  
     <content>
      <macroRef key="macro.paraContent"/>
     </content>
         
    -
    +
     
    -
    +                  
     element para
     {
        
    @@ -1236,7 +1236,7 @@ 

    macro.paraContent } - +

    -
    It is spelled +
    It is spelled <q>Tübingen </q>— to enter the letter <q>u @@ -1762,12 +1762,12 @@

    Content model

    -
    +                  
     <content>
      <macroRef key="macro.specialPara"/>
     </content>
         
    -
    +
     
    -
    +                  
     element q
     {
        
    @@ -1798,7 +1798,7 @@ 

    macro.specialPara } - +

    -
    +                  
     <content>
      <dataRef key="teidata.word"/>
     </content>
         
    -
    +
     
    -
    +                  
     teidata.enumerated = 
     teidata.word
    -
    +
     
    -<<<<<<< HEAD - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.divLike( - @org, - @sample) ( - att.fragmentable( - @part)) - att.declaring( - @decls) - att.written( - @hand) - att.typed( - type, @subtype) -
    - - - - - -
    typ - caracteriza el elemento utilizando una clasificación o tipología funcional. -
    - - - - - - - - - - - - - -
    - Derivado de - - att.typed -
    - Estado - - Opcional -
    - Tipo de datos - - teidata.enumerated -
    -
    -
    -
    Tipo de datos teidata.enumerated + teidata.enumerated +

    @@ -643,7 +570,6 @@

    ->>>>>>> dev @@ -781,11 +707,7 @@

    Ejemplo -<<<<<<< HEAD -
    -======= -
    ->>>>>>> dev +
    <body>  <div  typ=" @@ -849,11 +771,7 @@

    Content model -<<<<<<< HEAD -
    -=======
    -                  
    ->>>>>>> dev
    +                  
     <content>
      <sequence minOccurs="1" maxOccurs="1">
       <alternate minOccurs="0"
    @@ -905,11 +823,7 @@ 

    </sequence> </content> -<<<<<<< HEAD - -======= - ->>>>>>> dev +

    @@ -918,11 +832,7 @@

    Declaración -<<<<<<< HEAD -
    -=======
    -                  
    ->>>>>>> dev
    +                  
     element div
     {
        
    @@ -962,11 +872,7 @@ 

    )? ) } -<<<<<<< HEAD - -======= - ->>>>>>> dev +

    @@ -1382,11 +1288,7 @@

    Ejemplo -<<<<<<< HEAD -
    -======= -
    ->>>>>>> dev +
    <para>Hallgerd was outside. <q>There is blood on your axe, </q>she said. @@ -1430,20 +1332,12 @@

    Content model -<<<<<<< HEAD -
    -=======
    -                  
    ->>>>>>> dev
    +                  
     <content>
      <macroRef key="macro.paraContent"/>
     </content>
         
    -<<<<<<< HEAD
    -
    -=======
    -
    ->>>>>>> dev
    +
     
    @@ -1452,11 +1346,7 @@

    Declaración -<<<<<<< HEAD -
    -=======
    -                  
    ->>>>>>> dev
    +                  
     element para
     {
        
    @@ -1470,11 +1360,7 @@ 

    macro.paraContent } -<<<<<<< HEAD - -======= - ->>>>>>> dev +

    @@ -1506,129 +1392,6 @@

    Atributos -<<<<<<< HEAD - att.global( - @xml:id, - @n, - @xml:lang, - @xml:base, - @xml:space) ( - att.global.rendition( - @rend, - @style, - @rendition)) ( - att.global.linking( - @corresp, - @synch, - @sameAs, - @copyOf, - @next, - @prev, - @exclude, - @select)) ( - att.global.responsibility( - @cert, - @resp)) ( - att.global.source( - @source)) - att.ascribed.directed( - @toWhom) ( - att.ascribed( - @who)) -
    - - - - - -
    typ( - type) - Puede usarse para indicar si el material citado es hablado o pensado, o para caracterizarlo con más precisión. -
    - - - - - - - - - - - - - -
    - Estado - - Opcional -
    - Tipo de datos - - teidata.enumerated -
    - Los valores sugeridos incluyen: - -
    -
    - spoken -
    -
    ( - spoken) - representación del estilo directo, normalmente marcado mediante comillas.
    -
    - thought -
    -
    ( - thought) - representación de un pensamiento o reflexión, p.ej. un monólogo interno.
    -
    - written -
    -
    ( - written) - cita de una fuente escrita.
    -
    - soCalled -
    -
    ( - so called) - distancia autorial
    -
    - foreign -
    -
    ( - foreign) - palabras extranjeras
    -
    - distinct -
    -
    ( - distinct) - lingüisticamente distinto
    -
    - term -
    -
    - término técnico -
    -
    - emph -
    -
    ( - emph) - énfasis retórico
    -
    - mentioned -
    -
    ( - mentioned) - se refiere a sí mismo, no a su referente habitual
    -
    -
    -
    -
    -=======

    ->>>>>>> dev @@ -2185,11 +1949,7 @@

    Ejemplo -<<<<<<< HEAD -
    It is spelled -======= -
    It is spelled ->>>>>>> dev +
    It is spelled <q>Tübingen </q>— to enter the letter <q>u @@ -2205,20 +1965,12 @@

    Content model -<<<<<<< HEAD -
    -=======
    -                  
    ->>>>>>> dev
    +                  
     <content>
      <macroRef key="macro.specialPara"/>
     </content>
         
    -<<<<<<< HEAD
    -
    -=======
    -
    ->>>>>>> dev
    +
     
    @@ -2227,11 +1979,7 @@

    Declaración -<<<<<<< HEAD -
    -=======
    -                  
    ->>>>>>> dev
    +                  
     element q
     {
        
    @@ -2253,144 +2001,7 @@ 

    macro.specialPara } -<<<<<<< HEAD - -======= - -

    - - - -

    -
    -
    -

    - 2.5. - enum -

    -
    - - - - - - - - - - - - - - - - - - - From d0031c7cd2dfd640f0b16f3d09fbbd46aca8ae43 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 9 Nov 2023 15:35:51 -0500 Subject: [PATCH 57/70] RIP, SPQR --- LEGAL/AUTHORS | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/LEGAL/AUTHORS b/LEGAL/AUTHORS index 6a1ecc442..8a8658782 100644 --- a/LEGAL/AUTHORS +++ b/LEGAL/AUTHORS @@ -1,6 +1,8 @@ -The main author of these XSL stylesheets -is Sebastian Rahtz at University of Oxford -IT Services +The main author of these XSL stylesheets was +the late Sebastian Rahtz from the University +of Oxford IT Services. The TEI Consortium is +forever in his debt for this invaluable con- +tribution. Other contributors include (but this is not an exhaustive list) From c0e6d567d2de64859a8a9886d071eb899678f5fb Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 9 Nov 2023 16:00:52 -0500 Subject: [PATCH 58/70] Ooops; missed a folder rename in #628 --- profiles/tei/{relaxng => rng}/to.xsl | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename profiles/tei/{relaxng => rng}/to.xsl (100%) diff --git a/profiles/tei/relaxng/to.xsl b/profiles/tei/rng/to.xsl similarity index 100% rename from profiles/tei/relaxng/to.xsl rename to profiles/tei/rng/to.xsl From 16111842d4e6e62d2659d5a34fd6499e9a5d6718 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 9 Nov 2023 17:25:28 -0500 Subject: [PATCH 59/70] =?UTF-8?q?1)=20re-insert=20missing=20=E2=80=9Cappen?= =?UTF-8?q?d=20.0=E2=80=9D=20business=20(not=20sure=20what=20happened=20th?= =?UTF-8?q?at=20it=20was=20not=20in=20what=20was=20already=20merged);=202)?= =?UTF-8?q?=20use=20unparsed-text-available()=20instead=20of=20doc-availab?= =?UTF-8?q?le()=20(duh\!)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- profiles/readme/html/to.xsl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/profiles/readme/html/to.xsl b/profiles/readme/html/to.xsl index 7661385e8..56b72cfd4 100644 --- a/profiles/readme/html/to.xsl +++ b/profiles/readme/html/to.xsl @@ -82,6 +82,15 @@ of this software, even if advised of the possibility of such damage.

    + + + + @@ -90,10 +99,10 @@ of this software, even if advised of the possibility of such damage.

    - + WARNING: unable to parse version # from filename, so links will not work - + INFO: file could not be read From 3c79c076878d101e0098fc7b942b865ec96c536b Mon Sep 17 00:00:00 2001 From: Peter Stadler Date: Sat, 11 Nov 2023 01:54:50 +0100 Subject: [PATCH 60/70] adjust folder name Signed-off-by: Peter Stadler --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a09551925..a81b097f7 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ DOCTARGETS= \ profiles/default/odt/from.xsl \ profiles/default/odt/to.xsl \ profiles/default/p4/from.xsl \ - profiles/default/relaxng/to.xsl + profiles/default/rng/to.xsl PROFILEDOCTARGETS=\ profiles/enrich/docx/from.xsl \ From d67c9512b3976c5055fd3cff0d63693ebef294fb Mon Sep 17 00:00:00 2001 From: martindholmes Date: Sun, 12 Nov 2023 10:55:32 -0800 Subject: [PATCH 61/70] Fix for issue #534. --- css/tei.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/css/tei.css b/css/tei.css index a4de16b7f..8aacf314c 100644 --- a/css/tei.css +++ b/css/tei.css @@ -272,6 +272,10 @@ div.breadcrumb{ display:inline; } +ul.simple{ + list-style-type: none; +} + .skiplinks{ font-family:arial, sans-serif; color:#FFFFFF; From 4b4ade8836b77e67330cd429d3871486df34d9fd Mon Sep 17 00:00:00 2001 From: martindholmes Date: Sun, 12 Nov 2023 16:24:20 -0800 Subject: [PATCH 62/70] Fixes for fallout from my previous fix for issue #534. --- Test/expected-results/test31.html | 2 +- Test/expected-results/test32.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Test/expected-results/test31.html b/Test/expected-results/test31.html index 09f7ff09b..6fb05a469 100644 --- a/Test/expected-results/test31.html +++ b/Test/expected-results/test31.html @@ -10,7 +10,7 @@ - +
    diff --git a/Test/expected-results/test32.html b/Test/expected-results/test32.html index ff31a3390..efdb66ede 100644 --- a/Test/expected-results/test32.html +++ b/Test/expected-results/test32.html @@ -10,7 +10,7 @@ - +
    From 8a87186e8f4e178408e8f2e6b81110142f3599b2 Mon Sep 17 00:00:00 2001 From: raffazizzi Date: Thu, 16 Nov 2023 09:09:09 -0500 Subject: [PATCH 63/70] updated p5subset --- source/p5subset.xml | 4385 +++++++++++++++++++++++++++++++++---------- 1 file changed, 3399 insertions(+), 986 deletions(-) diff --git a/source/p5subset.xml b/source/p5subset.xml index eda84273a..d60887950 100644 --- a/source/p5subset.xml +++ b/source/p5subset.xml @@ -7,7 +7,7 @@ P5 Version 4.7.0a. Last updated on - 12th October 2023, revision c27b080d0 + 16th November 2023, revision 486847356 TEI Consortium @@ -379,7 +379,7 @@ Instance
    provides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind. - fournit un moyen, défini de façon externe, + fournit un moyen, défini de façon externe, d'identifier l'entité (ou les entités) nommé(es), en utilisant une valeur codée d'un certain type. 何らかのコード化された値を用いて、名付けられたエンティティを識別する外部的に定義された手段を提供する。 @@ -483,17 +483,20 @@ Instance
    provides attributes for describing numerical ranges. + 数値範囲を記述するための属性を提供する。 gives a minimum estimated value for the approximate measurement. donne une estimation de la valeur minimum pour la mesure. + 概算推量のための最小推定値を与える。 gives a maximum estimated value for the approximate measurement. donne une estimation de la valeur maximum pour la mesure. + 概算推量のための最大推定値を与える。 @@ -502,6 +505,7 @@ Instance observed. lorsque la mesure résume plus d'une observation, fournit la valeur minimum observée. + 1回以上の観察あるいは範囲をまとめた推量において、観察された最小値を提供する。 @@ -510,11 +514,13 @@ Instance observed. lorsque la mesure résume plus d'une observation, fournit la valeur maximum observée. + 1回以上の観察あるいは範囲をまとめた推量において、観察された最大値を提供する。 specifies the degree of statistical confidence (between zero and one) that a value falls within the range specified by min and max, or the proportion of observed values that fall within that range. + minmax、で指定された範囲内の値、あるいはその範囲内で観察された値の割合の統計的な信頼度を0から1の値で示す。 @@ -767,7 +773,7 @@ header (see section ). categorizes the cause of the damage, if it can be identified. 식별될 수 있다면 그 손상의 원인을 분류한다. 当該損傷の原因の分類を示す。 - caractérise la raison des dommages, lorsqu'elle peut + caractérise la raison des dommages, lorsqu'elle peut être identifiée classifica la causa del danneggiamento, se rintracciabile @@ -817,7 +823,7 @@ header (see section ). 다양한 척도에 따라 손상 정도를 나타낸다. degree 속성과 함께 damage 태그는 텍스트가 확인 가능한 곳에서만 사용되어야 한다; 다른 원본에서 가져온 텍스트는 supplied를 부착한다. 当該損傷部分の程度を0(損傷なし)から1(極度に損傷している)まで間の数値ないしhigh(強度)、medium(中度)、low(程度)、unknown(未知)のコードによって示す。要素damageの属性 degreeは、当該損傷部分のテキストが確認できる場合にのみ使用されるべきである。他の資料から補われたテキストの場合には、 要素suppliedで示されるべきである。 - indique le degré (la gravité) du dommage subi, selon + indique le degré (la gravité) du dommage subi, selon une grille appropriée. L'attribut degree doit être utilisé dans le seul cas où le texte peut être lu avec certitude ; le texte restitué en utilisant d'autres sources doit être encodé au moyen de l'élément supplied. @@ -1337,85 +1343,6 @@ of any adjacent whitespace - - - - indicates one or more systems or calendars to which the - date represented by the content of this element belongs. - 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. - 指明該日期表示所使用的曆法計算系統。 - この要素を含むコンテントにおける日付の暦やシステムを示す。 - indique le système ou le calendrier auquel - appartient la date exprimée dans le contenu de l'élément. - indica el sistema o calendario en que se muestra - una fecha. - indica il sistema o calendario al quale la data - appartiene. - - - - - - - @calendar indicates one or more - systems or calendars to which the date represented by the content of this element belongs, - but this element has no textual content. - - - - - - - - - - - - - - - - - - He was born on Feb. 22, 1732 (Feb. 11, 1731/32, - O.S.). - - - - - He was born on Feb. 22, 1732 - (Feb. 11, 1731/32, O.S.). - - - - - Dienstag 7/19 - Mai. - - - - L'année - 1960 fut, en vertu du calendrier grégorien, bissextile ; le 22 juin tomba ainsi le jour de - l'été, le 22 juin. - - -

    Note that the calendar attribute (unlike datingMethod defined in - att.datable.custom) defines the calendar system of the date - in the original material defined by the parent element, not the calendar to - which the date is normalized.

    -
    -

    - calendar属性は(att.datable.customクラスで定義されるdatingMethod属性と異なり、 - 親要素によって定義される原資料の日付の暦日システムを定義するものであり、 - どの暦日に日付を正規化するかではない。

    -
    supplies pointers to one or more definitions of named periods of time (typically categorys, dates or events) within which the datable item is understood to have occurred. @@ -1486,8 +1413,8 @@ of any adjacent whitespace
    elements or attributes with the appropriate Data Categories (DCs) defined by an external taxonomy, in this way establishing the identity of information containers and values, and providing means of interpreting them. - datacat属性とValueDatacat属性を提供する.これらがXML要素や属性を連携させる日付分類は、国際標準ISO - 12620:2009で定義されるものであり,にあるISOCatと呼ばれるWebリポジトリに格納されている. + datacat属性とValueDatacat属性を提供する。これらがXML要素や属性を連携させる日付分類は、国際標準ISO + 12620:2009で定義されるものであり、にあるISOCatと呼ばれるWebリポジトリに格納されている。 provides a pointer to a definition of, and/or general @@ -1495,7 +1422,7 @@ of any adjacent whitespace information container (element content or attribute value), by referencing an external taxonomy or ontology. If valueDatcat is present in the immediate context, this attribute takes on role (a), while valueDatcat performs role (b). - 指定された要素をISOcatの適切なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む. + 指定された要素をISOcatの適切なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む。 @@ -1505,7 +1432,7 @@ of any adjacent whitespace information about a value of an information container (element content or attribute value), by reference to an external taxonomy or ontology. Used especially where a contrast with datcat is needed. - 指定された要素の内容または指定された属性の値を,ISOcatの適切かつ単純なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む. + 指定された要素の内容または指定された属性の値を、ISOcatの適切かつ単純なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む。 @@ -1645,9 +1572,59 @@ of any adjacent whitespace dictionary is therefore advised.

    Yet another possibility is to associate the information about the relationship between a TEI markup element and the data category that it is intended to model already at the level of - modeling the dictionary resource, that is, at the level of the ODD, in equiv element + modeling the dictionary resource, that is, at the level of the ODD, in the equiv element that is a child of elementSpec or attDef.

    + +

    The taxonomy element is a handy tool for encoding taxonomies that are later + referenced by att.datcat attributes, but it can also act as an + intermediary device, for example holding a fragment of an external taxonomy (or + flattening an external ontology) that is relevant to the project or document at hand. + (It is also imaginable that, for the purpose of the project at hand, the local + taxonomy element combines vocabularies that originate from more than one external + taxonomy or ontology.) In such cases, the taxonomy creates a local layer of + indirection: the att.datcat attributes internal to the resource + may reference the category elements stored in the header (as well as the + taxonomy element itself), whereas these same category and + taxonomy elements use att.datcat attributes to + reference the original taxonomy or ontology.

    + + + + + + + + UD syntactic relations + + + + acl: Clausal modifier of noun (adjectival clause) + + + + acl:relcl: relative clause modifier + + + + advcl: Adverbial clause modifier + + + + + + +

    The above fragment was excerpted from the GB subset of the ParlaMint project in April 2023, and + enriched with att.datcat attributes for the purpose of + illustrating the mechanism described here.

    +

    Note that, in the ideal case, the values of att.datcat attributes + should be persistent identifiers, and that the addressing scheme of Universal Dependencies is + treated here as persistent for the sake of illustration. Note also that the contrast between + datcat used on taxonomy on the one hand, and the valueDatcat + used on category on the other, is not mandatory: both kinds of relations could be + encoded by means of the generic datcat attribute, but using the former for the + container and the latter for the content is more user-friendly.

    +

    The targetDatcat attribute is designed to be used in, e.g., feature structure declarations, and is analogous to the targetLang attribute of the @@ -1671,6 +1648,49 @@ of any adjacent whitespace its values, which are used as direct references to data categories; hence the use of datcat in the symbol element.

    + +

    The att.datcat attributes can be used for any sort of taxonomies. + The example below illustrates their usefulness for describing usage domain labels in + dictionaries on the example of the Diccionario da Lingua Portugueza by + António de Morais Silva, retro-digitised in the MORDigital project.

    + + + + + + + + + + Medical and Health Sciences + Ciências Médicas e da Saúde + + + Medicine + + + + Medicina + + + + + + + + + + + Med. + + +

    In the Morais dictionary, the relevant domain labels are in the header, getting referenced + inside the dictionary, from usg elements. The vocabulary used for dictionary-internal + labelling is in turn anchored in the MorDigital controlled vocabulary + service of the NOVA University of Lisbon – School of Social Sciences and Humanities + (NOVA FCSH).

    +

    The TEI Abstract Model can be expressed as a hierarchy of attribute-value matrices (AVMs) @@ -1703,7 +1723,7 @@ of any adjacent whitespace assumption that its URIs are going to persist. It is imaginable that a project may choose to address a local taxonomy store instead, but this risks losing the advantage of interchangeability with other projects.

    -

    Historically, datcat and valueDatcat originate from the (the now obsolete) ISO +

    Historically, datcat and valueDatcat originate from the (now obsolete) ISO 12620:2009 standard, describing the data model and procedures for a Data Category Registry (DCR). The current version of that standard, ISO 12620-1, does not standardize the serialization of pointers, merely mentioning the TEI att.datcat as @@ -1716,7 +1736,7 @@ of any adjacent whitespace

    ISO - 12620:2009は、データ分類のレジストリ(DCR)に関するデータモデルと手続きについての国際標準である.データ分類は,一つの言語の構造における基本的な記述子として定義される。DCRのデータモデルでは、個々のデータ分類には、ユニークな永続的識別子(PID)、つまり、URIが割り当てられる.DCRからデータ分類を利用する言語資源,あるいは、できることならそのスキーマは、このPIDを用いて参照すべきである。TEI文書のようなXMLベースの資源(にて参照可能)に関しては、ISO 12620:2009 付録 + 12620:2009は、データ分類のレジストリ(DCR)に関するデータモデルと手続きについての国際標準である。データ分類は、一つの言語の構造における基本的な記述子として定義される。DCRのデータモデルでは、個々のデータ分類には、ユニークな永続的識別子(PID)、つまり、URIが割り当てられる。DCRからデータ分類を利用する言語資源、あるいは、できることならそのスキーマは、このPIDを用いて参照すべきである。TEI文書のようなXMLベースの資源(にて参照可能)に関しては、ISO 12620:2009 付録 Aに、datcat属性とvalueDatcat属性を提供する小さなデータ分類参照のXML語彙がある。

    @@ -1745,7 +1765,7 @@ its parent is selected. 親要素が選択された場合に、当該要素がデフォルトとして選択されるか どうかを示す。 - Indique si oui ou non cet élément est affecté par + indique si oui ou non cet élément est affecté par défaut quand son élément parent a été sélectionné. indica si el elemento es seleccionado automáticamente o no cuando es seleccionado el padre indica se l'elemento è selezionato automaticamente quando è selezionato il genitore @@ -1996,8 +2016,7 @@ logique et doivent être traités dans l'ordre séquentiel la división falta el material presente en el extremo en la fuente. 当該区分は、元資料の終わりの部分が欠けている。 - par rapport à la source, lacune à la -fin de la division + par rapport à la source, lacune à la fin de la division alla partizione testuale manca del materiale nella parte finale presente nell'originale @@ -2097,8 +2116,7 @@ associated with a dated element, at the time indicated. 시간적 지속을 규격화한 녹음에 대한 속성 用於記錄時間長度規格化的屬性 正規化された時間幅を示す属性を提供する。 - attributs pour enregistrer des durées de temps - normalisées + attributs pour enregistrer des durées de temps normalisées attributi per la registrazione di durate temporali normalizzate atributos para registrar un periodo temporal normalizado @@ -3051,7 +3069,7 @@ writing medium, e.g. pencil 이 필적이 원고에서 사용된 범위를 명시한다. 当該筆致が、当該手書き資料中で、どの程度出現しているかを示す。 - Spécifie la fréquence d'apparition de cette + spécifie la fréquence d'apparition de cette main dans le manuscrit. specifica in quale misura è utilizzata la mano in questione nel manoscritto especifica en qué medida es utilizada la mano en el manuscrito. @@ -3194,6 +3212,7 @@ ressource informatique selon une taxinomie normalisée. provides attributes by which a resource (such as an externally held media file) may be located. + (外部のメディアファイルのような)資料を示す属性を提供する。 uniform resource locator @@ -3201,7 +3220,9 @@ ressource informatique selon une taxinomie normalisée. localizador de recurso uniforme adresse URL URL (localizzatore universale di risorse) + 統一資源位置指定子 specifies the URL from which the media concerned may be obtained. + 関連するメディアを入手するURLを示す。 @@ -3382,7 +3403,7 @@ by the current element. mètre metro metro - metro + メートル SI base unit of length 길이의 SI 기본 단위 SI基礎長度單位 @@ -3531,7 +3552,7 @@ by the current element. 公頃 ettaro hectárea - ヘクタール + ヘクタール 1 hm² 1² hm ヘクタール。広さを示す。 @@ -3543,8 +3564,8 @@ by the current element. 옹스트롱 埃格斯特朗 (單位) angstrom - 10⁻¹⁰ m - オングストローム + オングストローム + 10⁻¹⁰ m 10⁻¹⁰ 公尺 オングストローム。長さの単位。 10⁻¹⁰ m @@ -3574,7 +3595,7 @@ by the current element. 아래 언급 참조 分貝 デシベル。エネルギーの強さを示す。 - Voir remarques, ci-dessous. + voir remarques, ci-dessous. ver las notas a continuación vedi note di seguito @@ -3661,7 +3682,7 @@ by the current element. 2²⁰或1 048 576位元組 2²⁰ o 1 048 576 bytes メビバイト。1,048,576バイト(2の20乗bytes)のこと。 - 2²⁰ ou 1 048 576 octets + 2²⁰ ou 1 048 576 octets 2²⁰ o 1 048 576 byte - domainsが付与されている場合には、その値とも一致する必要 - がある。 + 個々の値の数はlinkjoin、 + あるいは altにおけるtarget属性における値の数と一致しなければならない。 + (仲立ちをするptr要素がこのために必要かもしれない)。 + もしdomains属性が付与されるならば、現在の要素のdomains属性における値の数とも一致すべきである。

    @@ -4600,9 +4626,11 @@ sub-classification for the element additional to that provided by its provides attributes for selecting particular elements within a document. + ある文書の中の特定の要素を選択するための属性を提供する。 points at one or more sets of zero or more elements each. + ある文書の中の特定の要素を選択するための属性を提供する。 Elizabeth went to Essex @@ -4615,6 +4643,9 @@ sub-classification for the element additional to that provided by its syntax defined in which identifies a set of nodes, selected within the context identified by the target attribute if this is supplied, or within the context of the parent element if it is not. + に定義された構文を用いて、ノードの集合を指し示す任意の XPath 式を記入する。 + 選択範囲は target 属性が与えられた場合はそのコンテクスト、 + なければ親要素のコンテクストとなる。 @@ -4642,6 +4673,15 @@ sub-classification for the element additional to that provided by its

    Note that the value of the target attribute may include an XPointer expression including an XPath expression (see ).

    +

    確信度の表現は target 属性の値で指定されたノードセットに適用されるが、加えて match 属性の値によって修正されることがある。 + 複数の識別子が与えられた場合、それらすべての要素(またはノードセット)を指すものと解される。 + match 属性は要素のグループを指定するために用いることもできる。

    +

    targetmatch 両方がある場合、match の XPath 式は target で選択した要素のコンテクスト内で評価される。どちらの属性もない場合、表現は親要素に適用される。 + target のみ与えられている場合、その選択する要素もしくはノードセットに表現が適用される。 + match のみ与えられている場合、XPath 式はこの属性を含む要素の親要素のコンテクストで評価される。

    +

    なお、target 属性の値には XPath 式を含む XPointer 表現が入りうる( を参照)。

    + +
    provides attributes for elements used for arbitrary segmentation. @@ -4671,6 +4711,11 @@ sub-classification for the element additional to that provided by its

    Attribute values will often vary depending on the type of element to which they are attached. For example, a cl, may take values such as coordinate, subject, adverbial etc. For a phr, such values as subject, predicate etc. may be more appropriate. Such constraints will typically be implemented by a project-defined customization.

    +

    + 属性値は付与された要素のタイプに応じてしばしば変化する。 + たとえば、clは座標や主語、副詞のような値をとることができる。 + phrの場合、主語や述語のような値はより適切かもしれない。 + そういった制約は、典型的には、プロジェクトで定義されたカスタマイズとして実装されるだろう。

    @@ -4682,9 +4727,11 @@ subject, predicate etc. may be more appropriate. Such constraints will typically
    provides attributes for elements in lists or groups that are sortable, but whose sorting key cannot be derived mechanically from the element content. + ソート可能だが、ソートのキーは要素の内容から機械的に取り出すことはできないリストやグループにおける要素に関する属性。 supplies the sort key for this element in an index, list or group which contains it. + インデックスやリスト、グループに含まれる要素のソートキーを提供する。 David's other principal backer, Josiah @@ -4725,14 +4772,16 @@ subject, predicate etc. may be more appropriate. Such constraints will typically

    La clave de ordenación se utiliza para determinar la secuencia y agrupar las entradas en un índice.

    - -

    当該属性は、索引中の項目の一連やグループを決めるために使用され る。当該属性がない場合、当該要素の内容が、並び替えのために使用 される。

    -

    辞書順序は、機械可読文字集合の照合順序とは、多くの場合異なって いる。例えば、英語の場合、辞書項目4-Hは、 - 文字化されたfourhの所に出てくる。また、項目 McCoyは、maccoyの所に出てくるだ - ろう。しかし、項目A1, A4, - A5らは、文字 順のa-AAとの間で、数字順で出てくる。 - 当該並び替えキーは、当該辞書が採る正書法では、場所の特定が十分 に行えない場合に、必要となる。

    + +

    当該属性は、索引中の項目の並びやグループを決めるために使用される。 + これはほかの値によって並べ替えを行いたいときの一続きの文字を与え、それによって望まれる順序を実現する。 + ソートキー構文の詳細はアプリケーション依存である。

    +

    辞書順はしばしば機械可読文字集合の照合順と異なる。 + 英語圏の辞書では、4-Hという項目はしばしばfourhとしてアルファベット化され、McCoyは、maccoyとしてアルファベット化されうる。 + それに対して、A1A4A5a-AAのあいだに数字順に置かれてしまうこともある。 + ソートキーは、辞書項目の表記が辞書における順序を決定するのに不十分な際に必要となる。

    +
    @@ -4886,7 +4935,7 @@ The element indicated by @spanTo () must follow Objetos extensibles del formato del lenguaje de Stylesheet XSL-FO - Langage XSL (Extensible Stylesheet )Formatting + langage XSL (Extensible Stylesheet )Formatting Objects linguaggio XSL-FO @@ -5420,7 +5469,7 @@ dans lequel les traits encodés portant cet attribut sont supposés être apparu 該元素標記的內容為一頁數或頁數範圍。 el elemento contiene un número de página o un intervalo de páginas. ページ番号またはページ範囲を含む。 - l'élément contient un nombre de pages + l'élément contient un nombre de pages ou l'étendue de sélection des pages. l'elemento contiene l'indicazione di pagina o pagine @@ -6456,7 +6505,7 @@ généralement dans des textes oraux groups elements which provide an explanation, equivalency, or alternative name for a markup construct. 마크업 구성에 대한 대체명, 설명 또는 기술을 제시하는 요소를 모아 놓는다. 匯集的元素提供某一標籤的替代名稱、解釋或描述。 - 代替名またはマークアップ構造を示す要素をまとめる. + 代替名またはマークアップ構造を示す要素をまとめる。 regroupe des éléments qui proposent un nom alternatif, une explication, ou une description pour n'importe quelle structure de codage agrupa los elementos que proporcionan un nombre, @@ -7007,8 +7056,7 @@ other form of--> address. 문단 같은 요소 내에서 또는 그 사이에서 나타날 수 있는 요소를 모아 놓는다. 匯集中間層次的元素:可出現於段落內與段落之間,或方塊性層次內與層次間。 句相当レベルの要素内または間に出現可能な要素をまとめる。 - regroupe des éléments qui peuvent apparaître à l’intérieur ou entre des - composants semblables au paragraphe. + regroupe des éléments qui peuvent apparaître à l’intérieur ou entre des composants semblables au paragraphe. agrupa elementos de la clase intermedia (internivel): tales elementos pueden aparecer bien al interno bien entre párrafos u entre otros elementos de tipo división de texto. @@ -7509,35 +7557,32 @@ used for transcribing extant documents. 확실성 정도를 표현하는 속성 값의 범위를 정의한다. 定義表示正確度的屬性值範圍 確信度を示す属性値の程度を示す。 - Définit la gamme des valeurs d'attribut exprimant un - degré de certitude - define la gama de valores de atributos que exprimen un - grado de certeza. - definisce la gamma di valori di attributi che esprimono - un grado di certezza - - - - - - - - + définit la gamme des valeurs d'attribut exprimant un degré de certitude + define la gama de valores de atributos que exprimen un grado de certeza. + definisce la gamma di valori di attributi che esprimono un grado di certezza + + + + + + + + -

    Certainty may be expressed by one of the predefined symbolic values high, - medium, or low. The value - unknown should be used in cases where the encoder - does not wish to assert an opinion about the matter. -

    -

    確信度は、high, medium, lowのうち の1つが選択される。より詳細に示したい場合には、 teidata.probabilityを単独または追加と して使用することができる。

    +

    確信度は、highmediumlowのうち の1つが選択される。より詳細に示したい場合には、 teidata.probabilityを単独または追加と して使用することができる。

    -

    Le degré de certitude peut être exprimé par l'une des valeurs symboliques prédéfinies - high, medium, ou low.

    -
    +

    Le degré de certitude peut être exprimé par l'une des valeurs symboliques prédéfinies + high, medium, ou low.

    + defines the range of attribute values expressing a probability. @@ -8023,7 +8068,7 @@ value.

    当該属性値は、 BCP 47 で定義されている言語タグになる。 現行のBCPには、RFC4646とRFC4647の内容が含まれている。 今後は、他のIETF文書も採用されるかもしれない。

    -

    BCP 47にある言語タグは、ハイフン (-, U+002D)で区切られた一連の +

    BCP 47にある言語タグは、ハイフン (-、U+002D)で区切られた一連の 下位タグから構成されている。下位タグは、以下の順番 らなる。下位タグは、初めの1つは必須で、あとは選択的である。 variantとextensionは複数回、他は1回のみ出現出現する。この下位タグ のグループは繰り返し可能である。 @@ -8088,7 +8133,7 @@ value.

    W3Cの国際化活動では、BCP 47の解説を以下に用意している。 - HTMLとXMLで使用される言語タグ.

    + HTMLとXMLで使用される言語タグ。

    Les valeurs pour cet attribut sont les étiquettes de langue définies @@ -8355,8 +8400,7 @@ bibliography and link to that (LB 2013-03-13) --> 正規表現は、よくパタン/パターンともいわれるもので、 一連の文字列を示すための表現方法である。一般には、簡潔な表現で、 多くのものを表現するために使用される。例えば、3つの文字列 - Handel, Händel, - Haendelを、1つのパタン + HandelHändelHaendelを、1つのパタン H(ä|ae?)ndelで示すことができる(または、 H(ä|ae?)ndelは、3つの文字列のいずれにも マッチする、といえる)。 wikipedia @@ -8742,7 +8786,7 @@ which contain an XPath expression. 所有TEI模組可用的元素集、資料類型、巨集指令之宣告 Dichiarazione di classi, tipi di dati (datatype)e macro disponibili in tutti i moduli TEI Declaraçoes de classes, tipos de dados, e macros disponíveis em todos os módulos TEI - 全TEIモジュールで使用可能なデータ型,クラス,マクロ. + 全TEIモジュールで使用可能なデータ型,クラス,マクロ。

    The TEI Header
    Organization of the TEI Header @@ -9082,7 +9126,7 @@ document.-->

    declaración del título dichiarazione sul titolo groups information about the title of a work and those responsible for its content. - regroupe les informations sur le titre d’une œuvre et + regroupe les informations sur le titre d’une œuvre et les personnes ou institutions responsables de son contenu intellectuel. 저작의 제목 그리고 지적 내용에 대한 책임에 관한 정보를 모아 놓는다. 匯集關於作品標題與作品智慧內容責任歸屬的資訊。 @@ -9098,12 +9142,8 @@ document.-->

    - - - - - - + + @@ -9161,7 +9201,7 @@ document.-->

    - + sponsor commanditaire Förderer @@ -9185,6 +9225,39 @@ document.-->

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Association for Computers and the Humanities @@ -9233,7 +9306,7 @@ document.-->

    - + funding body financeur 재정 지원 조직체 @@ -9263,6 +9336,39 @@ document.-->

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + The National Endowment for the Humanities, an independent federal agency @@ -9309,7 +9415,7 @@ document.-->

    - + principal researcher chercheur principal 책임 연구자 @@ -9336,6 +9442,39 @@ creation of an electronic text.
    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Gary Taylor @@ -9501,19 +9640,15 @@ creation of an electronic text. extent étendue - describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. - décrit la taille approximative d’un texte stocké sur son - support, numérique ou non numérique, exprimé dans une unité quelconque appropriée. - 전달 매체, 즉, 디지털 또는 비디지털로 저장된 텍스트의, 다양한 단위로 명시되는, 대략적 규모를 - 기술한다. + describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. + décrit la taille approximative d’un texte stocké sur son support, numérique ou non numérique, exprimé dans une unité quelconque appropriée. + 전달 매체, 즉, 디지털 또는 비디지털로 저장된 텍스트의, 다양한 단위로 명시되는, 대략적 규모를 기술한다. 描述電子文件儲存在某一承載媒介時的約略大小,標以任何適用的單位。 電子・非電子テキストのおよその大きさを任意の単位で示す。 beschreibt die ungefähre Größe des elektronischen Textes, die er auf einem Datenträger einnimmt; kann auch für andere digitale oder nicht digitale Objekte verwendet werden; die Angabe erfolgt in entsprechenden Maßeinheiten. - describe el tamaño aproximado de un texto almacenado en - algún medio, digital o no, especificándolo en alguna unidad funcional. - descrive la grandezza approssimativa di un documento - elettronico così come immagazzinata su supporto, secondo una qualsiasi unità funzionale. + describe el tamaño aproximado de un texto almacenado en algún medio, digital o no, especificándolo en alguna unidad funcional. + descrive la grandezza approssimativa di un documento elettronico così come immagazzinata su supporto, secondo una qualsiasi unità funzionale. @@ -9586,7 +9721,7 @@ material declaración de la publicación dichiarazione sulla pubblicazione groups information concerning the publication or distribution of an electronic or other text. - regroupe des informations concernant la publication ou + regroupe des informations concernant la publication ou la diffusion d’un texte électronique ou d’un autre type de texte. 전자 또는 기타 텍스트의 출판 또는 배포에 관한 정보를 모아 놓는다. 匯集電子文件或其他類型文件的出版或發行相關資訊。 @@ -9783,14 +9918,14 @@ distribution of a text. Freigabeinstanz responsable de la presentación autorità di pubblicazione + 刊行許可元 supplies the name of a person or other agency responsible for making a work available, other than a publisher or distributor. - donne le nom de la personne ou de l'organisme responsable de la publication d’un fichier électronique, autre qu’un éditeur ou un distributeur. + donne le nom de la personne ou de l'organisme responsable de la publication d’un fichier électronique, autre qu’un éditeur ou un distributeur. 출판사 또는 배포자 외에 전자 파일 사용 허가에 대한 권한을 갖는 개인 또는 기관의 이름을 제시한다. 說明除了出版者或發行者之外,負責提供電子檔案的個人或其他經銷商的名稱。 - 電子データの作成に責任のある個人または団体の名前を示す。出版者や頒布 - 者ではない。 + 作品の供給に責任のある、出版者や発売者以外の個人または団体の名前を示す。 gibt die Person oder Instanz (außer Verlag oder Distributor) an, die für den Zugang zu einer Ressource verantwortlich ist. proporciona el nombre de la persona o agente responsable que ha hecho disponible un archivo electrónico, que no es ni el editor ni el distribudor. fornisce il nome di una persona o di un'organizzazione responsabile della messa a disposizione di un file elettronico, diversa dalll'editore o dal distributore. @@ -9821,7 +9956,7 @@ distribution of a text. - + identifier identifiant 식별 숫자 @@ -9867,7 +10002,40 @@ distribution of a text. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + categorizes the identifier, for example as an ISBN, Social Security number, etc. classe un numéro dans une catégorie, par exemple @@ -9990,7 +10158,7 @@ distribution of a text. toutes restrictions quant à son usage ou sa diffusion, son copyright, etc. 텍스트 이용에 관한 정보를 제시한다. 예를 들어 사용 또는 배포의 제한, 저작권 상태 등. 提供關於文件可利用性的資訊,例如使用或發行上的任何限制、版權狀態等。 - テキストの利用可能性に関する情報を示す。例えば、その使用や頒布、 著作権に関する制限など。 + テキストの利用許可に関する情報を示す。例えば、その使用や頒布の制限、著作権の状態、適用されるライセンス等。 liefert Informationen zur Verfügbarkeit eines Textes, zum Beispiel Einschränkungen bezüglich des Gebrauchs oder der Weitergabe, Lizensierungen usw. proporciona información sobre la disponibilidad de un texto, por ejemplo cualquier restricción en cuanto a su uso o distribución, su copyright, etc. @@ -10030,7 +10198,7 @@ distribution of a text. free frei the text is freely available. - Le texte est libre de droits. + le texte est libre de droits. 텍스트를 자유롭게 이용할 수 있음. 文件的可利用性不受限。 el texto está libremente disponible. @@ -10042,7 +10210,7 @@ distribution of a text. unknown unbekannt the status of the text is unknown. - Le statut du texte est inconnu. + le statut du texte est inconnu. 텍스트의 상태를 알 수 없다. 文件狀態不明。 el estatus del texto es desconocido. @@ -10135,8 +10303,8 @@ distribution of a text.

    Se debe adoptar un formato constante

    - -

    永続的な形式で示されるべきである。

    + +

    一貫した形式を採用すべきである。

    Es sollte ein einheitliches Format verwendet werden.

    @@ -10145,7 +10313,7 @@ distribution of a text.
    - + contains information about a licence or other legal agreement applicable to the text. contient des informations @@ -10161,6 +10329,39 @@ définissant les droits d'utilisation. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -10470,11 +10671,12 @@ définissant les droits d'utilisation. citación bibliográfica estructurada completa référence bibliographique totalement structurée citazione bibliografica strutturata + 完全に構造化された典拠情報 contains a fully-structured bibliographic citation, in which all components of the TEI file description are present. 완전히 구조화된 서지 정보를 포함하며, 그 안에 TEI 파일 기술의 모든 성분이 제시된다. 包含結構完整的書目資料,其中呈現出TEI檔案描述內的所有元件。 - 厳密な構造を持つ書誌情報を示す。TEIのファイル記述の全要素は、ここ に記述される。 + 完全に構造化された典拠情報を示す。TEIのファイル記述のための全要素が利用できる。 contient une référence bibliographique totalement structurée : tous les composants de la description du fichier TEI y sont présents. contiene una cita bibliográfica completamente @@ -10694,7 +10896,7 @@ formatting or layout information preserved.

    describes in detail the aim or purpose for which an electronic file was encoded, together with any other relevant information concerning the process by which it was assembled or collected. - décrit en détail le but ou l’objectif visé dans + décrit en détail le but ou l’objectif visé dans l’encodage d’un fichier électronique, ainsi que toute autre information pertinente sur la manière dont il a été construit ou recueilli. 전자 파일이 부호화된 목적을 상세히 기술하며, 아울러 그것이 수집된 절차에 관한 기타 관련 정보를 @@ -10771,9 +10973,8 @@ formatting or layout information preserved.

    Angabe der Auswahlverfahren declaración de muestra dichiarazione di campionatura - contains a prose description of the rationale and methods used in sampling texts in the - creation of a corpus or collection. - contient une description en texte libre du raisonnement + contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. + contient une description en texte libre du raisonnement et des méthodes utilisés pour l'échantillonnage des textes dans la création d’un corpus ou d’une collection. 코퍼스 또는 텍스트 집단 구축에서 표본 추출에 사용된 원리와 방법에 대한 산문체 기술을 포함한다. @@ -11101,10 +11302,8 @@ during the encoding of a text. normalization normalisation - indicates the extent of normalization or regularization of the original source carried out - in converting it to electronic form. - indique l'extension de la normalisation ou de la - régularisation effectuée sur le texte source dans sa conversion vers sa forme électronique. + indicates the extent of normalization or regularization of the original source carried out in converting it to electronic form. + indique l'extension de la normalisation ou de la régularisation effectuée sur le texte source dans sa conversion vers sa forme électronique. 전자 형식으로 변환할 때 수행된 원본 텍스트의 표준화 또는 규칙화의 정도를 표시한다. 指出來源文件轉換成電子文本時規格化或標準化的程度。 元資料が電子形式に変換される施される正規化の程度を示す。 @@ -11120,9 +11319,7 @@ during the encoding of a text.
    - - - + Supplies a language code constructed as defined in BCP 47 which is used to identify the - language documented by this element, and which is referenced by the global + language documented by this element, and which may be referenced by the global xml:lang attribute. fournit un code de langue issu de la recommandation BCP 47 (ou son @@ -14206,7 +14570,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. - specifies the approximate percentage (by volume) of the text which uses this language. + specifies the approximate percentage of the text which uses this language. précise approximativement le pourcentage du volume de texte utilisant cette langue. 이 언어를 사용하는 텍스트의 대략적 백분율(분량)을 명시한다. @@ -14224,7 +14588,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. modern American English - Azerbaijani in Arabic script + Azerbaijani in Arabic script Pig Latin
    @@ -14233,7 +14597,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. Anglais américain moderne - Azerbaijanais en caractères arabes + Azerbaijanais en caractères arabes verlan
    @@ -14242,7 +14606,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. 現代美語 - 阿拉伯文手寫的亞塞拜然語 + 阿拉伯文手寫的亞塞拜然語 一種行話,將字頭的子音調至字尾,再多加一個音節 @@ -14542,6 +14906,7 @@ should be supplied for the scheme attribute.

    Verweis auf eine Kategorie referencia de categoría riferimento alla categoria + 分類の参照 specifies one or more defined categories within some taxonomy or text typology. spécifie une ou plusieurs catégories définies dans une taxinomie ou une typologie textuelle. @@ -14568,7 +14933,7 @@ should be supplied for the scheme attribute.

    défini le jeu de catégories concerné. 관련 범주 집합이 정의된 분류 스키마를 표시한다. 標明該分類架構,其中相關的類目群組已被定義 - 当該分類項目が定義されている分類スキームを示す。 + たとえばtaxonomy要素あるいはその他の資料によって、当該分類項目が定義されている分類スキームを同定する。 gibt das Klassifikationsschema an, in dem die entsprechenden Kategorien definiert sind, z. B. über ein taxonomy-Element oder eine andere Ressource. @@ -14658,6 +15023,7 @@ should be supplied for the scheme attribute.

    descripción de las calendarios description des calendriers descrizione delle calendari + 暦の記述 contains a description of the calendar system used in any dating expression found in the text. contient la description des différents calendriers @@ -14666,6 +15032,7 @@ should be supplied for the scheme attribute.

    calendarios usados en un manuscrito.
    contiene una descrizione dei diversi calendari usati in un manoscritto + テキスト中に見いだされた日付表現において用いられる暦日法の記述。 @@ -14810,6 +15177,9 @@ should be supplied for the scheme attribute.

    http://www.w3.org/TR/xpath-functions-11/#lang-cal-country

    +

    ひとつめの例での、暦の名とxml:idの略号は、 + http://www.w3.org/TR/xpath-functions-11/#lang-cal-countryにおけるW3Cガイドラインから来ている。

    + @@ -14820,8 +15190,10 @@ should be supplied for the scheme attribute.

    calendrier calendario calendario + describes a calendar or dating system used in a dating formula in the text. describe un calendario o sistema de datación usado en una fórmula de datación en el texto. + テキスト中での日付の書式で用いられる暦日法を記述する。 @@ -15331,8 +15703,7 @@ should be supplied for the scheme attribute.

    descripción de la revisión descirzione della revisione summarizes the revision history for a file. - fournit un résumé de l’historique des révisions d’un - fichier. + fournit un résumé de l’historique des révisions d’un fichier. 하나의 파일에 대한 수정 이력을 요약한다. 概述檔案的修訂歷史。 ファイルの改訂履歴を示す。 @@ -15402,16 +15773,17 @@ should be supplied for the scheme attribute.

    - + change Änderung + 変更 documents a change or set of changes made during the production of a source document, or during the revision of an electronic file. résume une modification ou une correction apportée à une version particulière d’un texte électronique partagé entre plusieurs chercheurs. 몇몇 연구자들 사이에 공유된 전자 텍스트의 특정 버전에 대한 특정 변경 또는 수정 사항을 요약한다. 概述多位研究者共享的某版本電子文本當中,某特定的內容變更或修正。 - 研究者間で共有されている電子テキストの特定の版に対して施された変更や 修正を示す。 + 元文書の作成や電子ファイルの改訂においてなされた一つあるいは一連の変更を記述する。 verzeichnet Änderungen oder Korrekturen während der Erstellung eines Basisdokuments oder während der Überarbeitung einer elektronischen Datei. resume un cambio o corrección determinada llevada a cabo @@ -15439,11 +15811,46 @@ should be supplied for the scheme attribute.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + target Ziel + 対象 points to one or more elements that belong to this change. verweist auf ein oder mehrere Elemente, die zu dieser Änderung gehören. + この変更の対象となる一つ以上の要素を指す。 @@ -15524,8 +15931,8 @@ supplied to printer. producciónl.

    Se recomienda que los cambios se registren con el primero más reciente.

    - -

    修正は一貫した並びで記録されるべきである。例えば、最新のものが 最初に書かれる、など。

    + +

    who属性は、他の任意の要素を指すことができるが、典型的には、ヘッダ内の他の場所にある、変更に関わった人物とその役割を示すrespStmtまたはperson要素を指定する。最新のものを最初に書くことを推奨する。status属性を、変更が適用された後の文書の状態を示すために使用してもよい。

    Das who-Attribut kann dafür verwendet werden, um zu einem beliebigen anderen @@ -17971,8 +18378,7 @@ Normalization circunstancia.

    -

    コアモジュールの要素gap, unclear, delは、 転記モジュールの要素damage, - suppliedと連携するこ とができる。どのタグを使用すべきかについては、詳細については、 を参照のこと。

    +

    コアモジュールの要素gapuncleardelは、 転記モジュールの要素damagesuppliedと連携するこ とができる。どのタグを使用すべきかについては、詳細については、 を参照のこと。

    Die Elemente gap, unclear und del aus dem Core-Modul sind eng verwandt mit den @@ -18288,8 +18694,7 @@ Normalization delは使うべきではない。この場合には、要素gapを使 い、転記できない単一のテキスト部分を示すべきである。この際、属性 reasonにより転記ができない理由が削除であることを示すこ とができる。全てが読めるわけではないという場合には、要素 unclearを使い、確信が持てないが読めるひとつのテキスト部分 を示すべきである。詳しくは、を参照のこと。 - また、要素delと要素gap, damage, unclear, - suppliedとの関係については、 を参照のこと(damageとsuppliedは元資料を転記 + また、要素delと要素gapdamageunclearsuppliedとの関係については、 を参照のこと(damageとsuppliedは元資料を転記 するための追加モジュールを使用する際に使うことができる)。

    要素delは、編集者や符号化する人による削除部分に使用される べきではない。この場合は、要素corrまたは要素gap が使われるべきである。

    @@ -18520,8 +18925,7 @@ concerned, as further discussed in section .

    当該要素は、文字情報と発話情報の両方で、転記が不確実な時に使用され る。転記が不確実である他の面については、を参照 のこと。

    -

    要素damage, gap, del, unclear, - suppliedは、同時に使用されるかもしれない。どの場合にどの 要素が適切であるかについては、を参照のこと。 +

    要素damagegapdelunclearsuppliedは、同時に使用されるかもしれない。どの場合にどの 要素が適切であるかについては、を参照のこと。

    @@ -18544,7 +18948,7 @@ concerned, as further discussed in section .

    Names, Numbers, Dates, Abbreviations, and Addresses
    Referring Strings - + name, proper noun 이름, 고유명사 名稱,特定名稱 @@ -18572,6 +18976,39 @@ concerned, as further discussed in section .

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Thomas Hoccleve @@ -18591,8 +19028,7 @@ concerned, as further discussed in section .

    lorsque le module TEI concernant les noms et dates est inclus.

    -

    TEI名前モジュールが使われる場合には、人々、場所、組織を示す固有名 詞は、それぞれ要素persName, placeName、 - orgNameを使い示されるかもしれない。

    +

    TEI名前モジュールが使われる場合には、人々、場所、組織を示す固有名 詞は、それぞれ要素persNameplaceNameorgNameを使い示されるかもしれない。

    @@ -19200,8 +19636,7 @@ Measures número absoluto, p.ej. 21, 21,5 基数。例えば、21、21.5など。 nombre entier ou décimal, par exemple 21, 21.5 - numero assoluto, ad esempio 21 o - 21,5 + numero assoluto, ad esempio 21 o 21,5 Kardinalzahl, z. B. 21, 21,5 @@ -19220,10 +19655,8 @@ Measures 分數,例如二分之一或是四分之三 fracción,p.ej. una mitad o tres cuartos 割合。例えば、1/2、3/4など。 - fraction, par exemple une moitié ou - trois-quarts - frazione, ad esempio un terzo o tre - quarti + fraction, par exemple une moitié ou trois-quarts + frazione, ad esempio un terzo o tre quarti Bruchzahl, z. B. 1/2 oder drei Viertel @@ -19579,6 +20012,9 @@ my twenty-first birthday

    contains a symbol, a word or a phrase referring to a unit of measurement in any kind of formal or informal system. enthält ein Symbol, ein Wort oder eine Phrase, die sich auf eine Maßeinheit in einem formellen oder informellen System bezieht. + + 公式・非公式に関わらず、単位を表す記号や単語、語句を含む。 + @@ -19643,7 +20079,7 @@ my twenty-first birthday

    Dates and Times - + date date Datum @@ -19661,23 +20097,20 @@ my twenty-first birthday

    - + - - - - - - - - - + + + + + + + - early February 1980 @@ -19698,11 +20131,9 @@ my twenty-first birthday

    - septembre - mcmxc + septembre mcmxc septembre - 11 - septembre, neuf heures moins douze GMT + 11 septembre, neuf heures moins douze GMT @@ -19741,7 +20172,7 @@ my twenty-first birthday

    - + time temps Zeit @@ -19749,18 +20180,15 @@ my twenty-first birthday

    어떤 형식의, 하루의 시간을 정의하는 구를 포함한다. 包含一組字詞,以任何形式定義時間 時間を表す語句を示す。 - contient une expression qui précise un moment de la - journée sous n'importe quelle forme. - contiene un sintagma que define un momento del día en - cualquier formato. - contiene un sintagma che si riferisce ad un ora del - giorno in qualsiasi formato. + contient une expression qui précise un moment de la journée sous n'importe quelle forme. + contiene un sintagma que define un momento del día en cualquier formato. + contiene un sintagma che si riferisce ad un ora del giorno in qualsiasi formato. beinhaltet eine Phrase, die eine Uhr- oder Tageszeit in einem beliebigen Format bestimmt. - + @@ -19768,15 +20196,12 @@ my twenty-first birthday

    - - - - - - - - - + + + + + + As he sat smiling, the @@ -21908,7 +22333,7 @@ the resource specified by the url attribute.

    audio, video or other object. 인라인 그래픽 또는 다른 개체를 표상하는 부호화된 이진 데이터를 제시한다. 標記用來表示文本中圖檔或其他檔案的二進位資料。 - 行中の画像やその他のオブジェクトを示す、符号化されたバイナリデータを 示す。 + 埋め込みの画像や音声、映像、その他のオブジェクトを示す、符号化されたバイナリデータである。 fournit des données binaires encodées qui représentent une image ou un autre objet insérés dans le texte ou dans un autre objet. proporciona datos binarios codificados que representan un @@ -21933,7 +22358,7 @@ the resource specified by the url attribute.

    Base64.
    부호화는 이진 데이터의 부호 변환 방식이다. 별도로 명시되어 있지 않다면, Base64로 간주된다. 標記該二進位資料時所使用到的編碼。若未特別指明,則假定為使用Base64編碼 - 当該バイナリデータの符号化方式。指定がなければ、 Base64 と想定する。 + 当該バイナリデータの符号化方式。指定がなければ、Base64を想定する。 l'encodage utilisé pour encoder les données binaires. Sans autre spécification il est supposé s'agir de Base64. La codificación usada para codificar los datos @@ -22355,6 +22780,7 @@ soi-xante & dixhuytiesme livre. column beginning 열 바꿈 分段 + 段の開始 début de colonne inicio de columna inizio di colonna @@ -22362,7 +22788,7 @@ soi-xante & dixhuytiesme livre. multi-column page. 표준 참조 시스템에서 텍스트의 한 열과 다음 열 사이의 경계를 표지한다. 用標準參照系統來標明文本段落之間的分界。 - テキストの段と段の境界を、標準的な参照システムにより示す。 + 複数段の頁で、テキストの新しい段の開始を示す。 marque le début d'une nouvelle colonne de texte sur une page multi-colonne. indica el inicio de una nueva columna de texto en una página divida en columnas . @@ -22412,14 +22838,9 @@ soi-xante & dixhuytiesme livre. des colonnes à l'intérieur de la page. L'élément cb apparaît en haut de la colonne à laquelle il se rapporte.

    - +

    - 当該要素にあるグローバル属性nは、当該要素cbが - あるすぐ後にある段と関連する番号等を示す。符号化する人は、テキスト - 全体における物理的な段の並びから示された境界を示す番号であるか、ま - たは当該ページ内で振られた番号であるのかなど、段境界に付与される番 - 号付けには、明確で一貫した方針を採るべきである。 - 一般的には、要素cbは、段落の始めに置かれる。 + この要素では、グローバル属性nはこのcb要素の直後から始まる段と関連する数値等の値を示す。テキスト全体における段の通し番号を付けるか、ページ内における番号を付けるかについて、明確で一貫した方針を採用すべきである。cb要素は指している段の冒頭に置かれる。

    @@ -22742,7 +23163,7 @@ soi-xante & dixhuytiesme livre.
    Titles, Authors, and Editors - + author autor/a auteur @@ -22752,7 +23173,7 @@ soi-xante & dixhuytiesme livre. form as that provided by a recognized bibliographic name authority. 참고문헌에 작가, 단독 저자, 공동 저자의 이름을 포함한다; 서지 항목의 책임에 관한 1차적 진술. 在書目參照中,包含一件作品的作者 (群) 姓名,無論是個人或是團體性質;這也是書目項目責任歸屬的主要陳述。 - 書誌情報における、著作者(個人・団体)の名前を示す。書誌項目における歴 任者を示す第一位の記述を示す。 + 書誌参照において、作品の著者となる人や法人の名前を、たとえば、よく知られた書誌典拠情報機関の形式で提供されるものに合わせるなどして記述する。 dans une référence bibliographique contient le nom de la (des) personne(s) physique(s) ou du collectif, auteur(s) d'une oeuvre ; par exemple dans la même forme que celle utilisée par une référence bibliographique reconnue. en una referencia bibliográfica, contiene el nombre del @@ -22772,6 +23193,39 @@ autor/a/es, ya sea una persona o una institución, de una obra; por ejemplo, en + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + British Broadcasting Corporation @@ -22841,9 +23295,12 @@ places, in particular where multiple names are given.

    Dans le cas d'une émission, cet élément sert à encoder le nom de la société ou du réseau qui diffuse le programme.

    - -

    書誌情報を当該ヘダーに収録する場合、個人名の正確な記述を、一般に理 解可能な著者リストとして使用した方がよい。

    -

    放送の場合、当該要素は会社や放送局の名前として使用される。

    + +

    特にヘッダの内容をもとに目録作成が行われると考えられる場合、この要素の内容を広く知られた名前典拠ファイルに準拠することを推奨する。 + keyref属性によって何らかの適切な典拠(たとえば図書館目録やオンライン情報のような)における著者(達)についての標準的な参照情報を示すこともできる。

    +

    放送番組の場合には、その番組の制作に責任を持つ放送局や放送ネットワークの名前を用いる。

    +

    著者が不明であったり不明確である場合、この要素は不詳匿名のようなテキストであってもよい。 + 特に、複数の名前が用いられている場合には、適切なTEIモジュールを用いて、人や組織、場所に関する名前をより詳細にタグ付けしてもよい。

    Insbesondere wenn eine Katalogisierung auf Basis des TEI-Headers erfolgen soll, ist es ratsam @@ -22863,7 +23320,7 @@ places, in particular where multiple names are given.

    - + contains a secondary statement of responsibility for a bibliographic item, for example the name of an individual, institution or organization, (or of several such) acting as editor, compiler, @@ -22893,6 +23350,39 @@ places, in particular where multiple names are given.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -23053,7 +23543,7 @@ places, in particular where multiple names are given.

    - + responsibility 책임성 @@ -23082,6 +23572,39 @@ places, in particular where multiple names are given.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -23135,7 +23658,7 @@ places, in particular where multiple names are given.

    - + title titre Titel @@ -23161,7 +23684,40 @@ places, in particular where multiple names are given.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. @@ -23353,8 +23909,7 @@ doit pas être utilisé.

    タイトルが要素analytic中にある場合、属性 levelがあれば、値は必ずaとなる。 タイトルが要素monogr中にある場合、属性 -levelの値は、必ずm, -j, uのいず + levelの値は、必ずmjuのいず れかになる。要素titleが要素series中にある場 合、属性levelの値は必ずsとなる。タイトルが要 素msItem中にある場合、当該属性値は付与されない。 @@ -23617,7 +24172,7 @@ epistemology, methodology and history of - + contains the formalized descriptive title for a meeting or conference, for use in a bibliographic description for an item derived from such a meeting, or as a heading or preamble to publications emanating from it. @@ -23643,6 +24198,39 @@ epistemology, methodology and history of + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + +

    @@ -23861,12 +24449,13 @@ epistemology, methodology and history of extensión de una cita estensione del riferimento bibliografico Geltungsbereich einer bibliografischen Referenz + 典拠参照の範囲 defines the scope of a bibliographic reference, for example as a list of page numbers, or a named subdivision of a larger work. 예를 들어 페이지수의 목록 또는 작품의 이름 붙은 하위 성분으로, 문헌 참조의 범위를 정의한다. 標明書目參照資訊的範圍,例如標示頁碼列表、或是某著作的分支作品名稱。 - 書誌情報の参照範囲を示す。例えば、ページ番号、下部単位の名前など。 + 典拠参照の範囲を示す。例えば、ページ番号や、全体の中で名前を与えられた下位要素など。 définit l'extension d'une référence bibliographique, comme par exemple une liste de numéros de page, ou le nom d'une subdivision d'une oeuvre plus grande. @@ -23928,6 +24517,12 @@ epistemology, methodology and history of Kindelements) von imprint anzugeben, da es Informationen enthält, die nicht Teil des Impressums sind.

    + +

    一つのページが引用される場合、from属性とto属性を同じ値で使用すべきである。 + 明確な終点が提供されていない場合、from属性はtoを使わずに使うことができる。 + 例えば、p. 3ffのような引用は、<biblScope from="3">p. 3ff</biblScope>となる。

    +

    出版事項の一部を構成しない情報を提供するため、この要素をimprintの子ではなく、兄弟として提供するほうが望ましい。

    +
    @@ -24026,11 +24621,12 @@ epistemology, methodology and history of cita bibliográfica. citazione bibliografica bibliografische Angabe + 典拠情報の明示 contains a loosely-structured bibliographic citation of which the sub-components may or may not be explicitly tagged. 하위 성분이 명시적으로 구분된 또는 그렇지 않은 덜 구조화된 서지 인용을 포함한다. 包含結構零散的書目資料,其中次要元件不一定會明確標記。 - 厳密でない構造を持つ書誌情報の引用を含む。下位要素で明示されていたり、 いなかったりする。 + 完全な構造を持たない典拠情報の引用を表す。各構成要素はタグ付けされていてもいなくてもよい。 contient une référence bibliographique faiblement structurée dans laquelle les sous-composants peuvent ou non être explicitement balisés. contiene una cita bibliográfica estructurada libremente, @@ -24127,8 +24723,8 @@ epistemology, methodology and history of

    Cet élément contient des éléments de type expression, ainsi qu'un jeu d'éléments de la classe model.biblPart.

    - -

    model.biblPartで規定された要素と共に、句レベルの要素を示す。

    + +

    フレーズレベル要素と、model.biblPartクラスの要素の任意の組み合わせを含む。

    Enthält Phrasen-Level-Elemente, zusammen mit einer beliebigen Kombination von @@ -24147,11 +24743,12 @@ epistemology, methodology and history of référence bibliographique structurée cita bibliográfica estructurada. citazione bibliografica strutturata + 構造的な典拠情報 contains a structured bibliographic citation, in which only bibliographic sub-elements appear and in a specified order. 서지의 하위 요소만이 나타나는, 명시적 순서로 구성되는 구조화된 서지 인용을 포함한다. 包含僅出現子節點的結構書目資料,並以特定順序呈現。 - 構造を持った書誌情報を示す。下位要素として、書誌情報を示す要素が、決 められた順番で出現する。 + 構造を持った典拠情報を示す。下位要素として、典拠情報を示す要素のみが、決められた順番で出現する。 contient une référence bibliographique dans laquelle seuls des sous-éléments bibliographiques apparaissent et cela, selon un ordre déterminé. contiene una cita bibliográfica estructurada, en la cual @@ -25204,6 +25801,12 @@ by the stage direction.

    + + + + + + specifies the version number of the TEI Guidelines against @@ -25734,6 +26337,7 @@ by the stage direction.

    Textkörper cuerpo del texto corpo del testo + テキスト本文 contains the whole body of a single unitary text, excluding any front or back matter. 전면부 또는 후면부 자료를 배제한 단일 텍스트의 전체 본문을 포함한다. 單篇文章的整體部分,不包含正文前及正文後資訊。 @@ -26720,22 +27324,18 @@ by the stage direction.

    level-4 text division 4 층위 텍스트 구역 區段層次四 - division du texte de niveau 4 - Textgliederungsebene -4 + division du texte de niveau 4 + Textgliederungsebene -4 división textual de cuarto nivel partizione testuale di livello 4 contains a fourth-level subdivision of the front, body, or back of a text. 텍스트의 전면부, 본문 또는 후면부의 네 번째 층위 하위 구역을 포함한다. 文本的正文前資訊、正文及正文後資訊的第四層分段。 前付、本文、後付中の第4位のテキスト部分を示す。 - contient une subdivision de quatrième niveau dans - le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. - "> enthält die vierte Gliederungsebene von - Vorspann (front), Kerntext oder Nachspann (back) eines Textes. - contiene una subdivisión del cuarto nivel en el paratexto - inicial, en el cuerpo del texto o en el paratexto final. - contiene una sezione di quarto livello del peritesto - iniziale, del corpo del testo, o del peritesto finale + contient une subdivision de quatrième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. + enthält die vierte Gliederungsebene von Vorspann (front), Kerntext oder Nachspann (back) eines Textes. + contiene una subdivisión del cuarto nivel en el paratexto inicial, en el cuerpo del texto o en el paratexto final. + contiene una sezione di quarto livello del peritesto iniziale, del corpo del testo, o del peritesto finale @@ -26850,22 +27450,18 @@ by the stage direction.

    level-5 text division 5 층위 텍스트 구역 區段層次五 - division du texte de niveau 5 - Textgliederungsebene -5 + division du texte de niveau 5 + Textgliederungsebene -5 división textual de quinto nivel partizione testuale di livello 5 contains a fifth-level subdivision of the front, body, or back of a text. 텍스트의 전면부, 본문 또는 후면부의 다섯 번째 층위 하위 구역을 포함한다. 文本的正文前資訊、正文及正文後資訊的第五層分段。 前付、本文、後付中の第5位のテキスト部分を示す。 - contient une subdivision de cinquième niveau dans le - texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. - "> enthält die fünfte Gliederungsebene von - Vorspann (front), Kerntext oder Nachspann (back) eines Textes. - contiene una subdivisión del quinto nivel en el paratexto - inicial, en el cuerpo del texto o en el paratexto final. - contiene una sezione di quinto livello del peritesto - iniziale, del corpo del testo, o del peritesto finale + contient une subdivision de cinquième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. + enthält die fünfte Gliederungsebene von Vorspann (front), Kerntext oder Nachspann (back) eines Textes. + contiene una subdivisión del quinto nivel en el paratexto inicial, en el cuerpo del texto o en el paratexto final. + contiene una sezione di quinto livello del peritesto iniziale, del corpo del testo, o del peritesto finale @@ -27003,22 +27599,18 @@ by the stage direction.

    level-6 text division 6 층위 텍스트 구역 區段層次六 - division du texte de niveau 6 - Textgliederungsebene -6 + division du texte de niveau 6 + Textgliederungsebene -6 división textual de sexto nivel partizione testuale di livello 6 contains a sixth-level subdivision of the front, body, or back of a text. 텍스트의 전면부, 본문 또는 후면부의 여섯 번째 층위 하위 구역을 포함한다. 文本的正文前資訊、正文及正文後資訊的第六層分段。 前付、本文、後付中の第6位のテキスト部分を示す。 - contient une subdivision de sixième niveau dans le texte - préliminaire, dans le corps d’un texte ou dans le texte postliminaire. - enthält die sechste Gliederungsebene von Vorspann - (front), Kerntext oder Nachspann (back) eines Textes. - contiene una subdivisión del sexto nivel en el paratexto - inicial, en el cuerpo del texto o en el paratexto final. - contiene una sezione di sesto livello del peritesto - iniziale, del corpo del testo, o del peritesto finale + contient une subdivision de sixième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. + enthält die sechste Gliederungsebene von Vorspann (front), Kerntext oder Nachspann (back) eines Textes. + contiene una subdivisión del sexto nivel en el paratexto inicial, en el cuerpo del texto o en el paratexto final. + contiene una sezione di sesto livello del peritesto iniziale, del corpo del testo, o del peritesto finale @@ -27544,8 +28136,7 @@ by the stage direction.

    on its title page or at the head or end of the work.
    제목 페이지 또는 작품의 시작부 또는 종료부에서 작품 책임성에 대한 주요 진술을 포함한다. 包含作品的主要責任陳述,出現在題名頁或作品開頭或結尾處。 - タイトルページや作品の冒頭や最後にある、作品の責任者を表す第一位の記 - 述。 + タイトルページや作品の冒頭や最後にある、作品の主要な責任表示。 indique la responsabilité principale pour une œuvre donnée sur la page de titre ou au début ou à la fin de l’œuvre. @@ -29047,7 +29638,7 @@ reserved for the element likely to be used more often.

    - + document date 문서 날짜 文件日期 @@ -29055,15 +29646,12 @@ reserved for the element likely to be used more often.

    Datierung des Dokuments fecha del documento data del documento - contains the date of a document, as given -on a title page or in a dateline. + contains the date of a document, as given on a title page or in a dateline. 대개 제목 페이지에 제시되는 문서의 날짜를 포함한다. 包含文件日期, 同於 (通常) 在題名頁上顯示的日期。 文書の日付を示す。一般にはタイトルページに書かれている。 - contient la date d’un document telle qu’elle est - (généralement ) donnée sur une page de titre. - enthält die Datierung des Dokuments, wie auf der Titelseite oder in einer Datumszeile - angegeben. + contient la date d’un document telle qu’elle est (généralement ) donnée sur une page de titre. + enthält die Datierung des Dokuments, wie auf der Titelseite oder in einer Datumszeile angegeben. contiene la fecha del documento, tal y como, normalmente, aparece en el frontispicio. contiene la data del documento così come riportata di norma nel frontespizio @@ -29072,12 +29660,11 @@ on a title page or in a dateline.
    - + - Oxford, Clarendon Press, 1987 @@ -29099,16 +29686,17 @@ on a title page or in a dateline.

    Cf. the general date element in the core tag set. -This specialized element is provided for convenience in marking and -processing the date of the documents, since it is likely to require -specialized handling for many applications. It should be used only for -the date of the entire document, not for any subset or part of it.

    + This specialized element is provided for convenience in marking + and processing the date of the documents, since it is likely to + require specialized handling for many applications. It should be + used only for the date of the entire document, not for any subset + or part of it.

    Voir l'élément générique date dans le module core. L'élément - spécifique docDate est fourni à toutes fins utiles pour encoder et traiter - la date des documents, puisque celle-ci requiert une gestion particulière pour de - nombreux besoins.

    + spécifique docDate est fourni à toutes fins utiles pour encoder et traiter + la date des documents, puisque celle-ci requiert une gestion particulière pour de + nombreux besoins.

    @@ -29124,7 +29712,6 @@ the date of the entire document, not for any subset or part of it.

    Datum des gesamten Dokuments verwendet werden, nicht für Datierungen von Abschnitten oder Teilen.

    - @@ -29392,6 +29979,7 @@ the date of the entire document, not for any subset or part of it.

    Nachspann (back) paratexto final peritesto finale + 後付 contains any appendixes, etc. following the main part of a text. 텍스트의 주요부 뒤에 오는 부록 등을 포함한다. @@ -29547,8 +30135,8 @@ the date of the entire document, not for any subset or part of it.

    front, ce qui permet de rendre compte de pratiques éditoriales qui ont évolué avec l'histoire culturelle.

    - -

    後付の内容モデルは、文化的背景によっては、前付に相当するものになる。

    + +

    どのような内容が後付あるいは前付とされるかは文化的慣習で異なるため、backfrontのコンテントモデルは同一である。

    Aufgrund von unterschiedlichen kulturellen Konventionen, die Angaben in Vorspann und Nachspann @@ -29738,6 +30326,7 @@ the date of the entire document, not for any subset or part of it.

    caractère carácter carattere + 文字 provides descriptive information about a character. 문자에 관한 기술 정보를 제공한다. @@ -31312,7 +31901,7 @@ and simplified for simplified characters. The documents the notation employed to represent a metrical pattern when this is specified as the value of a met, real, or rhyme attribute on any structural element of a metrical text (e.g. lg, l, or seg). - documente la notation utilisée pour noter un modèle + documente la notation utilisée pour noter un modèle métrique lorsque celui-ci est spécifié comme la valeur des attributs met , real, ou rhyme, qui s’appliquent à tout élément de la structure d’un texte versifié (par exemple lg, l, ou seg). @@ -31831,19 +32420,15 @@ user-defined alternative notations.

    시행 또는 시구의 뜻의 연속 詩句跨行 encabalgamiento - enjambement - provides attributes that may be used to indicate - enjambement of the parent element. + enjambement + provides attributes that may be used to indicate enjambement of the parent element. 句またがり enjamb 속성을 포함하는 요소를 모아놓는다. - regroupe les éléments portant l'attribut enjamb - + regroupe les éléments portant l'attribut enjamb 匯集帶有屬性enjamb的元素。 親要素における句またがりを示す属性を与える。 - >comprende los elementos definidos por el atributo enjamb - - comprende gli elementi definiti dall'attributo enjamb - + comprende los elementos definidos por el atributo enjamb + comprende gli elementi definiti dall'attributo enjamb enjambement @@ -31966,7 +32551,7 @@ enjambement is not of particular interest.

    운율 행의 운 부분을 표시한다. 標記韻律詩行的押韻部分。 韻文行の押韻部分を示す。 - Marque la partie rimante d'une ligne métrique. + marque la partie rimante d'une ligne métrique. marca una parte del esquema métrico de un verso segnala la stringa in rima all'interno di un verso @@ -31985,7 +32570,7 @@ enjambement is not of particular interest.

    운 문자열이 예시된 운 스키마 부분을 식별하는 표지를 제시한다. 提供一個標籤,識別此韻腳為押韻組合的哪一部份。 当該押韻が起こる韻スキーム部分を特定するラベルを示す。 - Donne une étiquette pour identifier à quelle shéma + donne une étiquette pour identifier à quelle shéma métrique correspond cette alternance de rimes. proporciona una etiqueta (normalmente una sola letra) que identifica qué parte del esquema métrico ejemplifica esta cadena de caracteres en cuestión. @@ -32609,6 +33194,7 @@ enjambement is not of particular interest.

    reparto distribution elenco dei personaggi + 配役リスト contains a single cast list or dramatis personae. 하나의 배역 목록 또는 드라마 등장인물을 포함한다. 包含單一角色名單或出場人物列表。 @@ -32997,15 +33583,17 @@ Dr Bero, lately returned from the wars. grupo de reparto liste de personnages raggruppamento della lista dei personaggi + 配役リスト内グループ groups one or more individual castItem elements within a cast list. 배역 목록 내의 몇 개의 개별 castItem 요소를 모아 놓는다. 匯集角色清單中一個或多個角色項目元素。 agrupa uno o más elementos individuales del reparto (castItem). - 配役リストにある、ひとつ以上の要素castItemをまとめるもの。 + 配役リストにある、ひとつ以上のcastItem要素をまとめる。 dans une distribution, catégorie qui rassemble un ou plusieurs personnages. raggruppa uno o più elementi individuali castItem in una lista dei personaggi. + @@ -33113,13 +33701,13 @@ Mathias is understood to apply to both roles equally.

    elemento del reparto personnage oggetto della lista dei personaggi + 配役リスト項目 contains a single entry within a cast list, describing either a single role or a list of non-speaking roles. 배역 목록에서 하나의 배역, 또는 대사가 없는 배역 목록을 기술하는 하나의 항목을 포함한다. 包含角色清單中的一個項目,描述單一角色或無台詞角色的列表。 contiene una sola entrada dentro de la lista del reparto, describiendo un solo papel o una lista de papeles sin diálogo. - 配役リスト中の各項目を示す。ひとつの役、または台詞のない役のリスト - になる。 + 配役リスト中の一項目で、ひとつの役、または台詞のない役のリストを示す。 dans une liste de personnages, entrée décrivant un rôle en particulier ou une liste de rôles muets. contiene una singola voce all'interno della lista dei personaggi, descrive o un ruolo o una lista di ruoli privi di battute. @@ -33153,8 +33741,7 @@ either a single role or a list of non-speaking roles.
    항목이 하나의 배역을 기술한다. 該項目為單一角色 el elemeto describe un único papel. - ひとつ役を示す。 - + ひとつの役を示す。 l'item décrit un simple rôle. l'oggetto descrive un solo ruolo. @@ -33163,8 +33750,7 @@ either a single role or a list of non-speaking roles.
    항목이 대사 없는 배역 목록을 기술한다. 該項目為無台詞角色的列表 el item describe una lista de papeles sin diálogo. - 科白がない役のリストを示す。 - + 台詞がない役のリストを示す。 l'item décrit une liste de rôles muets l'oggetto descrive una lista di ruoli privi di battute. @@ -33326,8 +33912,7 @@ either a single role or a list of non-speaking roles. 角色名單中的演員姓名。 Nombre de un actor que aparece dentro de la lista del reparto. 登場人物リスト中の役者名を示す。 - Nom d'un acteur apparaissant dans une - distribution. + nom d'un acteur apparaissant dans une distribution. nome di un attore che appare nella lista dei personaggi. @@ -34535,7 +35120,7 @@ a public broadcast. I've put the remark above in to replicate what was here: the original duration of the recording. - 録音・録画の時間. + 録音・録画の時間。 durée originale de l’enregistrement. @@ -34753,13 +35338,11 @@ an audio or video recording used as the source for a spoken text. énonciation enunciado enunciato - contains a stretch of speech usually preceded and followed by -silence or by a change of speaker. + contains a stretch of speech usually preceded and followed by silence or by a change of speaker. 일반적으로 침묵 또는 화자 바뀜에 의해 구분되는, 말의 연속체. 一段言詞,通常在說話前後是一段沉默、或是另一個人的說話。 一般に沈黙または話者交替が前後する、発話の時間。 - partie de discours généralement précédée et - suivie d'un silence ou d'un changement de locuteur. + partie de discours généralement précédée et suivie d'un silence ou d'un changement de locuteur. fragmento de texto hablado precedido y seguido normalmente de un silencio o de un cambio de hablante porzione di parlato solitamente preceduta e seguita da un silenzio o da un cambio di parlante @@ -34780,8 +35363,7 @@ silence or by a change of speaker. 전이 transición transizione - indicates the nature of the transition between this utterance - and the previous one. + indicates the nature of the transition between this utterance and the previous one. 발화 사이의 전이적 특성을 나타낸다. transition 指出此段話語和前段話語之間轉變過程的特性。 @@ -34806,8 +35388,7 @@ silence or by a change of speaker. 此段話語開頭的停頓明顯比平常要短。 esta elocución comienza con una pausa marcada más corta de lo normal. 当該発話は、普通より短い間に続けて、始まる。 - Cette intervention commence par une -pause manifestement plus courte que la normale + cette intervention commence par une pause manifestement plus courte que la normale l'enunciato comincia con una pausa nettamente più breve del normale @@ -34816,8 +35397,7 @@ pause manifestement plus courte que la normale 此段話語在前一段還未結束前就開始。 esta elocución comienza antes de que la anterior haya acabado. 当該発話は、以前の発話が終わる前に、始まる。 - Cette intervention commence avant que -la précédente ne soit finie + cette intervention commence avant que la précédente ne soit finie l'enunciato comincia prima che sia terminato quello precedente @@ -35799,13 +36379,14 @@ l'original apparaît comme une forme fusionnée. provides attributes for describing the extent of lexical references for a dictionary term. - + 辞書用語の語彙参照の範囲を記述する属性を提供する。 + indicates whether the pronunciation or orthography applies to all or part of a word. indique si la prononciation ou orthographie se rapporte au mot entier ou seulement à une partie @@ -35815,30 +36396,35 @@ l'original apparaît comme une forme fusionnée. forme pleine forma completa forma completa + 完全形 prefix préfixe prefisso prefijo + 接頭辞 suffix suffixe suffisso sufijo + 接尾辞 infix infixe infisso infijteio + 接中辞 partial partiel parziale parcial + 一部分 @@ -35847,6 +36433,11 @@ l'original apparaît comme une forme fusionnée.

    + +

    + この属性はオプションであり、デフォルト値は指定されていないため、この情報が不要な場合は省略することができる。 +

    +
    @@ -36960,13 +37551,11 @@ list of values. Typical values might be IPA, information grammaticale información gramatical informazioni grammaticali - within an entry in a dictionary or a terminological data file, contains grammatical - information relating to a term, word, or form. - 사전 또는 전문용어 데이터 파일의 표제 항목 내부에 용어, 단어 또는 형태와 관련된 문법 정보를 - 포함한다. + within an entry in a dictionary or a terminological data file, contains grammatical information relating to a term, word, or form. + 사전 또는 전문용어 데이터 파일의 표제 항목 내부에 용어, 단어 또는 형태와 관련된 문법 정보를 포함한다. 在字典辭條或專有名詞檔案中,包含某一術語、單字或字彙形式的相關文法資訊。 辞書や用語集のデータ中にある、用語、単語、形式に関する文法情報を示す。 - contient de l'information grammaticale relative à un + contient de l'information grammaticale relative à un terme, un mot ou une forme dans une entrée de dictionnaire ou dans un fichier de données terminologiques. dentro de una entrada de un diccionario, o en un archivo @@ -37270,8 +37859,7 @@ list of values. Typical values might be IPA,

    文字データや句レベルの要素をとるかもしれない。よくあるのは、 - 男性, 女性, - 中性など。 + 男性女性中性など。

    当該要素は、gram type="gender"と同義である。 @@ -37289,12 +37877,9 @@ list of values. Typical values might be IPA, 사전에 제시된 형태와 관련된 문법적 수를 표시한다. 指出單複數形式。 辞書において、語形と関連する文法上の数を示す。 - indique le nombre grammatical associé à une forme, telle - qu'elle est donnée par le dictionnaire. - indica el número gramatical asociado a una palabra, como - viene dado en el diccionario. - indica il numero grammaticale associato ad una forma, - secondo la modalità del dizionario. + indique le nombre grammatical associé à une forme, telle qu'elle est donnée par le dictionnaire. + indica el número gramatical asociado a una palabra, como viene dado en el diccionario. + indica il numero grammaticale associato ad una forma, secondo la modalità del dizionario. @@ -37366,8 +37951,7 @@ list of values. Typical values might be IPA, 주어진 형식에 대하여 사전에 제시된 문법적 격 정보를 포함한다. 包含文法上格的資訊。 辞書中における格情報を示す。 - contient des informations sur le cas grammatical - présenté par le dictionnaire pour une forme donnée. + contient des informations sur le cas grammatical présenté par le dictionnaire pour une forme donnée. contiene la información del caso gramatical. contiene informazioni grammaticali sul caso fornite dal dizionario per una determinata froma. @@ -37461,9 +38045,7 @@ list of values. Typical values might be IPA,

    文字データまたは句レベルの要素。典型的な値は、 - nominative(主格), - accusative(対格), - dative(与格), genitive(属格) + nominative(主格)accusative(対格)dative(与格)genitive(属格) など。

    @@ -37862,7 +38444,7 @@ list of values. Typical values might be IPA, type sera invariant, n 3 etc.

    -

    文字データと句レベル要素を示すかもしれない。例えば、 invariant, n +

    文字データと句レベル要素を示すかもしれない。例えば、 invariantn 3など。

    @@ -38440,12 +39022,9 @@ headword such as noun, verb, or adjective.
    어원적 또는 기타 언어적 논의에서 언급된 언어의 이름 在詞源學或其他語言學相關訊息中所提到的語言。 語源学または他の言語学上の論議で現れる言語名を示す。 - nom de la langue mentionnée des informations de nature - linguistique (étymologique ou autre) - el nombre de una lengua mencionada en una información - etimológica o lingüística de cualquier tipo. - il nome di una lingua menzionata nell'etimologia o in - altra discussione linguistica. + nom de la langue mentionnée des informations de nature linguistique (étymologique ou autre) + el nombre de una lengua mencionada en una información etimológica o lingüística de cualquier tipo. + il nome di una lingua menzionata nell'etimologia o in altra discussione linguistica. @@ -38528,10 +39107,8 @@ headword such as noun, verb, or adjective.
    사전 표제 항목에 용법 정보를 포함한다. 包含辭條中的使用資訊。 辞書項目中にある用例情報を示す。 - contiene la información sobre el uso en la entrada de un - diccionario. - in una voce di dizionario, contiene informazioni - sull'uso. + contiene la información sobre el uso en la entrada de un diccionario. + in una voce di dizionario, contiene informazioni sull'uso. @@ -38551,12 +39128,9 @@ headword such as noun, verb, or adjective. 다양한 종류의 유형을 사용하여 용례 정보를 분류한다. 用合適的分類方法將不同的使用資訊分類。 当該用例情報を分類する。 - classe les informations sur l'usage en utilisant - n'importe quelle typologie adaptée - clasifica la información sobre el uso aplicando una - tipología funcional. - classifica le informazioni sull'uso secondo una - tipologia funzionale. + classe les informations sur l'usage en utilisant n'importe quelle typologie adaptée + clasifica la información sobre el uso aplicando una tipología funcional. + classifica le informazioni sull'uso secondo una tipologia funzionale. @@ -38613,7 +39187,7 @@ headword such as noun, verb, or adjective. 語體 (象徵性、字面原義等) estilo (figurado, literal, etc.) スタイル(比喩的、字義的、など)。 - style (figuratif, littéral, etc.) + style (figuratif, littéral, etc.) stile (figurativo, letterale, ecc.) @@ -38626,8 +39200,7 @@ headword such as noun, verb, or adjective. preference level (chiefly, usually, etc.) 선호 층위(주로, 일반적으로, 등)( 優先程度 (主要、慣用等) - nivel de preferencia (principalmente, - generalmente, etc.) + nivel de preferencia (principalmente, generalmente, etc.) 使用度(主たる、通常、など)。 niveau de sens (principal, courant, etc.) livello di preferenza (principalmente, di solito, @@ -39706,10 +40279,10 @@ headword such as noun, verb, or adjective. Dicionários impressos 辞書モジュール
    -
    Manuscript Description +
    Manuscript Description
    Overview
    The Manuscript Description Element - + manuscript description 원고 기술 @@ -39736,21 +40309,48 @@ headword such as noun, verb, or adjective. + - - - - - - - - - - + + + + + + + + + + + + + + + + Only one is allowed as a child of . + + + + @@ -39919,10 +40519,13 @@ headword such as noun, verb, or adjective. -

    Although the msDesc has primarily been designed with a view to encoding manuscript descriptions, it may also be - used for other objects such as early printed books, fascicles, epigraphs, or any text-bearing objects that require substantial description. - If an object is not text-bearing or the reasons for describing the object is not primarily the textual content, the more general object may be - more suitable.

    +

    Although the msDesc has primarily been designed with a + view to encoding manuscript descriptions, it may also be used for + other objects such as early printed books, fascicles, epigraphs, + or any text-bearing objects that require substantial description. + If an object is not text-bearing or the reasons for describing the + object is not primarily the textual content, the more general + object may be more suitable.

    @@ -39948,8 +40551,7 @@ correct ordering of the quires or similar making up a codex, incunable, or other typically by means of annotations at the foot of the page. 일반적으로 페이지의 밑에 표시되며, 제본되지 않은 원고 또는 고판본의 정확한 순서를 보장하는 체계를 기술한다. 描述一疊書頁裝訂成手抄本或書冊時,確保書頁順序無誤的方法,通常是利用頁腳的註記。 - 古典籍において、冊子や初期刊本の折丁の順番を正しくするために使用され - るシステムを示す。一般には、ページの脚に注釈(つなぎことば)を記す。 + 古い冊子本や刊本にみられる、折丁の正しい順序を確認するためのシステムについて記述する。一般には、ページの脚に注記される。 décrit le système utilisé pour s'assurer que les cahiers formant un manuscrit ou un incunable sont dans le bon ordre, typiquement au moyen d'annotations en bas de page. @@ -40002,26 +40604,21 @@ the inner bounding line, reading from top to bottom. - - - - - - - - - + + + + -The element may appear once only + The element may appear once only -The element may appear once only + The element may appear once only -The element may appear once only + The element may appear once only @@ -40044,7 +40641,7 @@ gathering, or a separately bound part) las dimensiones se relacionan con una o más hojas (p.ej. una sola hoja, un conjunto, o un intervalo) 葉の状態を示す。例えば、一葉、葉の丁合(折丁)、独立した一枚を まとめたもの、など。 - Les dimensions concernent une ou + les dimensions concernent une ou plusieurs feuilles (par exemple une feuille unique, un ensemble de feuilles ou une partie reliée séparément). le dimensioni si riferiscono a uno o più fogli (per esempio un foglio, una raccolta, o una parte rilegata separatamente) @@ -40055,9 +40652,9 @@ preparation for writing. 글쓰기를 준비하기 위해 줄 그은 종이 부분과 관련된 차원 頁面上劃好線以備書寫的範圍大小。 las dimensiones se refieren al área de una hoja que se ha preparado para la escritura. - 書記の準備として罫が引かれている領域を示す。 - - Les dimensions concernent la zone de + 書記の準備として罫が引かれている領域を示す。 + + les dimensions concernent la zone de la réglure d'une feuille. le dimensioni si riferiscono alla porzione di un foglio sulla quale sono state disegnate delle righe al fine di scriverci @@ -40070,7 +40667,7 @@ from the ruled area, or where the ruling is not measurable). las dimensiones se refieren al área de una hoja que ha sido agujereada en la preparación para la escritura (utilizado donde esto difiere significativamente del área lineada, o donde la lineación no es mensurable). 罫を引く準備として開けられた穴がある領域を示す。これは、罫付 き領域とも、罫が読み取れない領域とも異なる。 - Les dimensions concernent la zone + les dimensions concernent la zone d'une feuille qui a été piquée pour préparer la réglure (à utiliser lorsqu'elle diffère significativement de la zone réglée ou lorsque la réglure n'est pas mesurable). @@ -40084,8 +40681,8 @@ writing, to the bottom of the minims on the bottom line of writing. 頁面上已書寫文字的範圍大小,高度由最頂行文字的頂端測量至最底行文字的底端。 las dimensiones se refiere al área de una hoja que ha sido escrita, con la altura medida desde la línea superior de escritura a la parte inferior de la última línea de la escritura. 書記領域を示す。先頭文字行から最終文字行までの高さ。 - - Les dimensions concernent la zone + + les dimensions concernent la zone écrite de la feuille, dont la hauteur est mesurée depuis le haut des blancs sur la ligne d'écriture supérieure jusqu'au dernier des blancs sur la dernière ligne écrite. @@ -40097,9 +40694,8 @@ sur la dernière ligne écrite. 手稿中圖畫的尺寸大小 las dimensiones relativas a las miniaturas del manuscrito 当該手書き資料の彩飾図の大きさを示す。 - - Les dimensions concernent les -miniatures contenues dans le manuscrit. + + les dimensions concernent les miniatures contenues dans le manuscrit. le dimensioni si riferiscono alle miniature contenute nel manoscritto @@ -40107,10 +40703,8 @@ miniatures contenues dans le manuscrit. 미제본 원고 또는 원고를 포함하는 제본과 관련된 차원 手抄本或手稿裝訂的尺寸大小 las dimensiones se refieren a la encuadernación que contiene el códice o el manuscrito - 冊子や写本全体の大きさを示す。 - - Les dimensions concernent la reliure -qui contient le codex ou le manuscrit. + 冊子や写本全体の大きさを示す。 + les dimensions concernent la reliure qui contient le codex ou le manuscrit. le dimensioni si riferiscono alla rilegatura nella quale è contenuto il codice o manoscritto @@ -40119,9 +40713,8 @@ manuscript is stored. 원고가 보관된 박스 또는 용기와 관련된 차원 手稿所儲存的箱子或其他容器的尺寸大小 las dimensiones se refieren a la caja o a cualquier otro contenedor en qué se conserva el manuscrito. - 当該写本を入れるケースの大きさを示す。 - - Les dimensions concernent la boîte ou + 当該写本を入れるケースの大きさを示す。 + les dimensions concernent la boîte ou autre conteneur dans lequel le manuscrit est conservé. le dimensioni si riferiscono alla scatola o ad altro contenitore nel quale è custodito il manoscritto @@ -40459,7 +41052,7 @@ crest, and the legend Cole Deum.

    표준화된 형식의 위치에서 시작 지점을 명시한다. 用正規格式指明該位置的起始點。 正規化された形で、当該場所の始点を示す。 - Spécifie, sous une forme normalisée, le point de + spécifie, sous une forme normalisée, le point de départ de la localisation. indica el punto de inicio de una localización en una forma estándard. @@ -40476,7 +41069,7 @@ crest, and the legend Cole Deum.

    표준화된 형식으로 종료 지점을 명시한다. 用正規格式指明該位置的結束點。 正規化された形で、当該場所の終点を示す。 - Spécifie, sous une forme normalisée, la borne de fin + spécifie, sous une forme normalisée, la borne de fin pour la localisation. indica el punto final de una localización en una forma estándard. @@ -40593,16 +41186,13 @@ crest, and the legend Cole Deum.

    groupe d'emplacements groups a number of locations which together form a distinct but discontinuous item within a manuscript, manuscript part, or other object. - - regroupe un certain nombre d'emplacements qui forment ensemble un item identifiable bien que discontinu dans un manuscrit ou une partie de manuscrit selon une foliotation spécifique. + regroupe un certain nombre d'emplacements qui forment ensemble un item identifiable bien que discontinu dans un manuscrit ou une partie de manuscrit selon une foliotation spécifique. - - - + @@ -40610,7 +41200,7 @@ crest, and the legend Cole Deum.

    système identifies the foliation scheme in terms of which all the locations contained by the group are specified by pointing to some foliation element - defining it, or to some other equivalent resource. + defining it, or to some other equivalent resource.
    désigne le système de foliotation selon lequel les emplacements contenus dans le groupe sont définis. @@ -40641,7 +41231,7 @@ crest, and the legend Cole Deum.

    원고(또는 원고의 일부)를 구성하는 자료를 기술하는 단어 또는 구를 포함한다. 用一個字詞描述手稿 (或手稿部分) 的組成材料。 手書き資料を構成する素材を表す語句を示す。 - Contient un mot ou une expression décrivant le ou les matériau(x) + contient un mot ou une expression décrivant le ou les matériau(x) utilisé(s) pour fabriquer un manuscrit (ou une partie d'un manuscrit). contiene una palabra o sintagma que describe el material del que se compone un manuscrito (o parte del manuscrito). contiene una parola o un'espressione che descrive il materiale di cui è composto un manoscritto (o una sua parte) @@ -40660,38 +41250,38 @@ crest, and the legend Cole Deum.

    function or use of the material in relation to the object as a whole.
    - + - - covering - material of a codex - - - sewing at the - head or tail of the codex spine to strengthen the binding, - often decorative - - - removable - protective cover for a set of one or more codices - - - the surface for writing - - - a ribbon or - string used to bind or close a codex or rolled scroll - + + covering + material of a codex + + + sewing at the + head or tail of the codex spine to strengthen the binding, + often decorative + + + removable + protective cover for a set of one or more codices + + + the surface for writing + + + a ribbon or + string used to bind or close a codex or rolled scroll + -

    The sample values here are for descriptive bibliography. - Other sets of sample values might include armrests, - legs, tabletop, pan, and - back for furniture; or wall, - floor, window, column, - ceiling, roof, stairs, - chimney for architecture.

    +

    The sample values here are for descriptive bibliography. + Other sets of sample values might include armrests, + legs, tabletop, pan, and + back for furniture; or wall, + floor, window, column, + ceiling, roof, stairs, + chimney for architecture.

    @@ -40785,40 +41375,36 @@ externally.

    - + origin date 생성 날짜 fecha origen date de la création data di origine - contains any form of date, used to - identify the date of origin for a manuscript, manuscript part, or other object. + contains any form of date, used to identify the date of origin for a manuscript, manuscript part, or other object. 원고 또는 원고의 일부의 생산 날짜를 식별하는 날짜 형식을 포함한다. 包含任何格式的日期,用以確認手稿或手稿部分的來源日期。 手書き資料が生まれた日付を特定するたための日付を示す。 - Contient une date, dans une forme libre, utilisée - pour dater la création d'un manuscrit ou d'une partie d'un manuscrit. + contient une date, dans une forme libre, utilisée pour dater la création d'un manuscrit ou d'une partie d'un manuscrit. contiene cualquier tipo de fecha utilizada para indicar la fecha de origen de un manuscrito o de una de sus partes. contiene una data espressa in una forma qualsiasi utilizzata per indicare la data di origine di un manoscritto o di una sua parte - + - - - - - - - - + + + + + + @@ -40839,7 +41425,7 @@ externally.

    - + origin place 생산 장소 @@ -40851,7 +41437,7 @@ place of origin for a manuscript, manuscript part, or other object. 원고 또는 원고의 일부를 생산한 장소를 식별하는 장소 이름 형식을 포함한다. 包含任何格式的地名,用以確認手稿或手稿部分的來源地點。 手書き資料が生まれた場所を特定するための場所を示す。 - Contient un nom de lieu, dans une forme libre, + contient un nom de lieu, dans une forme libre, utilisé pour désigner l'endroit où a été produit un manuscrit ou une partie d'un manuscrit. contiene cualquier tipo de nombre de lugar utilizado para indicar el lugar de origen de un manuscrito o de una de sus partes. @@ -40867,6 +41453,39 @@ place of origin for a manuscript, manuscript part, or other object. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Birmingham @@ -40905,7 +41524,7 @@ printing.

    고유한 확인소를 제공하기 위해 미제본 원고의 고정 위치(일반적으로 두 번째 장의 시작)에서 얻어진 단어 또는 단어군 從手抄本中固定位置所拿開的一個或多個字 (通常在第二張書頁的開頭) ,目的是提供一個專有的識別符號。 ユニークな識別子を示すために、冊子中の特定点にある単語を示す。 - Le mot ou les mots repris d'un point précisément + le mot ou les mots repris d'un point précisément connu d'un codex (comme le début du second feuillet) pour identifier celui-ci de façon univoque. la palabra o palabras extraídas de un punto preciso de un códex (normalmente el inicio del segundo folio) con el fin de identificar lo mismo en modo unívoco. @@ -40956,8 +41575,7 @@ printing.

    미제본 원고 내의 장 또는 절 표시를 포함한다. 包含手抄本中一張或一疊書頁內簽名的敘述。 冊子における葉または折丁の記号に関する情報を示す。 - Contient une étude des signatures trouvées sur un - feuillet ou sur un cahier dans un manuscrit. + contient une étude des signatures trouvées sur un feuillet ou sur un cahier dans un manuscrit. contiene el registro de las signaturas del folio o del cuaderno pertenecientes al códex. contiene il registro delle segnature del foglio o del quaderno appartenenti al codice @@ -41010,16 +41628,14 @@ a later hand, for quire 16 (f. 113).
    - + stamp cachet - contains a word or phrase describing a -stamp or similar device. + contains a word or phrase describing a stamp or similar device. 스탬프 또는 유사한 도구를 기술하는 단어 또는 구를 포함한다. 包含一個字詞,描述一個印記或是類似圖案。 印などにある語句を示す。 - Contient un mot ou une expression décrivant un cachet ou - une marque du même genre. + contient un mot ou une expression décrivant un cachet ou une marque du même genre. contiene una parola o un sintagma che descrive un timbro o simile contiene una palabra o sintagma que describe un sello o una técnica similar. @@ -41031,6 +41647,39 @@ stamp or similar device. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Apologyticu TTVLLIANI AC IGNORATIA IN XPO IHV @@ -41063,13 +41712,11 @@ manii imperii Bodleian stamp watermark filigrane - contains a word or phrase describing a -watermark or similar device. + contains a word or phrase describing a watermark or similar device. 워터마크 또는 유사 도구를 기술하는 단어 또는 구를 포함한다. 包含一個字詞,描述一個浮水印或是類似圖案。 すかし模様などを表す語句を示す。 - Contient un mot ou une expression décrivant un filigrane - ou une marque du même genre. + contient un mot ou une expression décrivant un filigrane ou une marque du même genre. contiene una palabra o sintagma que describe una filigrana o una técnica similar. contiene una parola o espressione che descrive la filigrana o una tecnica simile @@ -41077,8 +41724,6 @@ watermark or similar device. - @@ -41118,8 +41763,7 @@ the manuscript or similar object being described. 기술되고 있는 원고를 식별하기 위해 필요한 정보를 포함한다. 包含識別敘述中的手稿所需要的資訊。 解説されている手書き資料を特定するために必要な情報を示す。 - Contient les informations requises pour identifier le - manuscrit en cours de description. + contient les informations requises pour identifier le manuscrit en cours de description. contiene la información necesaria para identificar el manuscrito que se examina. contiene l'informazione necessaria a identificare il manoscritto esaminato @@ -41129,27 +41773,17 @@ the manuscript or similar object being described. - - - - - - - - - - - - - + + + + + - - - - - - - + + + + + @@ -41208,12 +41842,11 @@ the manuscript or similar object being described. library, with which a manuscript or other object is identified, generally its holding institution. 식별된 원고를 보유하고 있는 대학교 또는 대학 도서관과 같은 조직의 이름을 포함한다. 包含一個組織名稱,例如大學或圖書館,手稿屬於該組織,通常是手稿所在地。 - 手書き資料を特定する、一般にはそれを所蔵する大学や図書館といった組織 - の名前を示す。 - Contient le nom d'un organisme (comme une université + 手書き資料を特定する、一般にはそれを所蔵する大学や図書館といった組織 の名前を示す。 + contient le nom d'un organisme (comme une université ou une bibliothèque), avec lequel un manuscrit est identifié ; en général c'est le nom de l'institution qui conserve ce manuscrit. - contiene el nombre de una organización (una universidad o una biblioteca por ejemplo) donde se encuentra el manuscrito.*** + contiene el nombre de una organización (una universidad o una biblioteca por ejemplo) donde se encuentra el manuscrito. contiene il nome di un'organizzazione (per esempio un'università o una biblioteca) nella quale si trova il deposito del manoscritto @@ -41244,7 +41877,7 @@ the manuscript or similar object being described. 包含該手稿收藏所在地的名稱,可能是某機構的一部分。 手書き資料が収められている収蔵館の名前を示す。恐らく、団体の名前の一 部である。 - Contient le nom d'un dépôt dans lequel des manuscrits + contient le nom d'un dépôt dans lequel des manuscrits sont entreposés, et qui peut faire partie d'une institution. contiene el nombre de un depósito, parte o no de una institución, en el que se conservan los manuscritos. contiene il nome di un deposito, parte o meno di un'istituzione, nel quale sono conservati i manoscritti @@ -41276,10 +41909,8 @@ the manuscript or similar object being described. manuscripts or other objects, not necessarily located within a single repository. 하나의 장서고 내에 반드시 위치할 필요는 없지만 원고의 모음집 이름을 포함한다. 包含手稿集合的名稱,手稿未必皆位於單一收藏點。 - 手書き資料のコレクション名を示す。必ずしも一ヶ所に保管されている必要 - はない。 - Contient le nom d'une collection de manuscrits, - ceux-ci ne se trouvant pas nécessairement dans le même lieu de conservation. + 手書き資料のコレクション名を示す。必ずしも一ヶ所に保管されている必要 はない。 + contient le nom d'une collection de manuscrits, ceux-ci ne se trouvant pas nécessairement dans le même lieu de conservation. contiene el nombre de una colección de manuscritos, no necesariamente colocados en un único depósito. contiene il nome di una raccolta di manoscritti non necessariamente collocati in un unico deposito @@ -41307,7 +41938,7 @@ manuscripts or other objects, not necessarily located within a single repository - + alternative identifier 대체 확인소 替換識別符碼 @@ -41320,7 +41951,7 @@ manuscripts or other objects, not necessarily located within a single repository 包含手稿中的一個替換或先前使用的識別符碼,例如先前的分類碼。 当該手書き資料を示す、代わりとなるIDまたは昔のIDを示す。例えば、昔の カタログ番号など。 - Contient un autre ou un ancien identifiant pour un + contient un autre ou un ancien identifiant pour un manuscrit, par exemple un numéro anciennement utilisé dans un catalogue. contiene un identificador estructurado, alternativo o precedente, utilizado para un manuscrito, p.ej. un número antiguo de catalogación. contiene un identificatore strutturato alternativo o precedente utilizzato per un manoscritto, per esempio un precedente numero di catalogazione @@ -41340,6 +41971,39 @@ manuscripts or other objects, not necessarily located within a single repository + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -41374,10 +42038,11 @@ manuscripts or other objects, not necessarily located within a single repository

    Un numéro identifiant quelconque doit être fourni s'il est connu ; si on ne le connaît pas, cela devrait être signalé.

    -

    - 識別番号が判る場合は、示す必要がある。判らない場合は、そのことを示 - すべきである。 -

    + +

    + 識別番号が判る場合は、示す必要がある。判らない場合は、そのことを示 + すべきである。 +

    @@ -41689,7 +42354,7 @@ link to some other manuscript description which has the identifier DN17テキスト部分の終わりを示す文字列を示す。その著者やタイトルを含むこと がある。一般には、テキスト中にある朱書きや、大きさや種類の異なる字体 など、異なる視覚効果で示されている。
    - Contient les derniers mots d'une section de texte, + contient les derniers mots d'une section de texte, qui incluent souvent la mention de son auteur et de son titre, et sont généralement différenciés du texte lui-même par l'utilisation d'une encre rouge, par une taille ou un style d'écriture particuliers, ou par tout autre moyen visuel. @@ -42730,8 +43395,7 @@ specification.

    원고의 텍스트 부분에 대한 물리적 서류를 기술하는 요소를 모아 놓는다. 匯集描述手稿書寫部分的物質載體元素。 手書き資料のテキスト部分を作る物理的な素材を示す要素をまとめる。 - Regroupe les éléments décrivant le support physique - du texte du manuscrit. + regroupe les éléments décrivant le support physique du texte du manuscrit. agrupa los elementos que describen el soporte físico de la parte escrita de un manuscrito. raggruppa gli elementi che descrivono il supporto fisico della parte scritta di un manoscritto @@ -42739,25 +43403,13 @@ specification.

    - - - + - - - - - - - - - - - - - - - + + + + + @@ -43815,12 +44467,14 @@ On 21v: some runic letters and the sentence aue maria gracia p descripción de la encuadernación description de la reliure descrizione della rilegatura + 装訂の記述 describes the present and former bindings of a manuscript or other object, either as a series of paragraphs or as a series of distinct binding elements, one for each binding of the manuscript. 원고의 각 제본에 대해 일련의 문단 또는 일련의 binding 요소로 원고의 현재 그리고 이전 제본 상태에 대해 기술한다. 描述手稿現在與之前的裝訂,可以是連續性的文字段落、或是一連串專用的binding元素,每個手稿裝訂使用一個元素。 - 手書き資料の現行または以前の装訂に関する情報を示す。一連の段落または + + 手書き資料の現行または以前の装訂に関する情報を示す。一連の段落または 一連の要素bindingで示される。各単位が当該手書き資料の各装訂 に対応する。 @@ -43908,7 +44562,7 @@ endbands; the edges of the leaves and boards gilt.Boxed.

    - + binding reliure contains a description of one binding, i.e. type of covering, boards, @@ -43936,7 +44590,40 @@ endbands; the edges of the leaves and boards gilt.Boxed.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + contemporary contemporaine specifies whether or not the binding is contemporary with the majority of its @@ -44141,7 +44828,7 @@ eventualmente con ulteriori elementi decoNote
    - + seal sceau contains a description of one seal or similar applied to the object described @@ -44166,7 +44853,40 @@ eventualmente con ulteriori elementi decoNote - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + contemporary contemporain specifies whether or not the seal is contemporary with the @@ -44358,7 +45078,7 @@ Thomas Gale and his son Roger.

    - + origin origine contains any descriptive or other information @@ -44378,6 +45098,39 @@ concerning the origin of a manuscript, manuscript part, or other object. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -44401,7 +45154,7 @@ old Flemish original, between 1802 and 1845, according to - + provenance provenance contains any descriptive or other information @@ -44423,6 +45176,39 @@ concerning a single identifiable episode during the history of a manuscript, man + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Listed as the property of Lawrence Sterne in 1788. @@ -44445,7 +45231,7 @@ concerning a single identifiable episode during the history of a manuscript, man - + acquisition adquisición acquisition @@ -44467,6 +45253,39 @@ institution. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Left to the Bodleian by @@ -44499,31 +45318,22 @@ institution. it, with curatorial or administrative information. 원고 또는 원고의 사본에 관한 서지 정보와 관리 정보를 결합한 부가적 정보를 모아 놓는다. 匯集附加資訊,結合手稿的書目資訊、或是手稿的代替副本,包含管理或行政資訊。 - 当該手書き資料に関する書誌情報などの付随情報まとめる。または当該資料 - の複製に関する管理情報をまとめる。 - - regroupe les informations complémentaires sur le - manuscrit, incluant une bibliographie, des indications sur ses reproductions, ou des - informations sur sa conservation et sur sa gestion + 当該手書き資料に関する書誌情報などの付随情報まとめる。または当該資料 の複製に関する管理情報をまとめる。 + regroupe les informations complémentaires sur le manuscrit, incluant une bibliographie, des indications sur ses reproductions, ou des informations sur sa conservation et sur sa gestion agrupa información adicional, combinando informaciones bibliográficas relativas al manuscrito o a copias adicionales del mismo con informaciones de carácter conservacional o administrativo. raggruppa ulteriori informazioni combinando informazioni bibliografiche relative al manoscritto o a copie surrogate dello stesso con informazioni di carattere curatoriale o amministrativo - - - - - - - - - - - - + + + + + + + + @@ -44894,7 +45704,7 @@ Dispatched to Iceland - + custodial event 보관 사건 @@ -44917,6 +45727,39 @@ Dispatched to Iceland + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Photographed by David Cooper on 12 Dec 1964 @@ -45041,15 +45884,21 @@ may exist in the holding institution or elsewhere. + - - - - - - - + + + + + + + @@ -45105,12 +45954,12 @@ may exist in the holding institution or elsewhere. - - - MS 6 - - - + + + MS 6 + + + @@ -45144,111 +45993,118 @@ deprecated. enthält Informationen zu einem Handschriftenfragment einer fragmentierten Handschrift, das heute als Einzeldokument oder eingebunden in eine Handschrift aufbewahrt wird. - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Codex Suprasliensis + + - Codex Suprasliensis + Ljubljana + Narodna in univerzitetna knjiznica + MS Kopitar 2 - - - Ljubljana - Narodna in univerzitetna knjiznica - MS Kopitar 2 - - - Contains ff. 10 to 42 only - - - - - Warszawa - Biblioteka Narodowa - BO 3.201 - - - - - Sankt-Peterburg - Rossiiskaia natsional'naia biblioteka - Q.p.I.72 - - - - - - - - - - Letter of Carl Maria von Weber to Caroline Brandt. Dresden, 21st to 23rd May 1817 - - -

    The second part of the letter (Weberiana Cl.II A a 2, 9) was given to Friedrich Jähns by Caroline von Weber, - the widow of Carl Maria von Weber. Jähns then handed this fragment over to the Berlin state library in 1881, - whereas the first part (Mus.ep. Weber, C. M. v. 96) remained with the family estate and found its way into the library not until 1956. - Yet, the identification was already obvious to Jähns who noted Zu No. 50. 21. Mai 1817 gehörig - at the top of his fragment.

    -
    - - - D - Berlin - Staatsbibliothek zu Berlin Preußischer Kulturbesitz - Mus.ep. Weber, C. M. v. 96 - - - - -

    One double leaf, four written pages without address.

    -
    -
    -
    -
    - - - D - Berlin - Staatsbibliothek zu Berlin Preußischer Kulturbesitz - Weberiana Cl.II A a 2, 9 - - - - -

    One leaf, two written pages including address.

    -
    -
    -
    -
    -
    -
    -

    source: http://www.weber-gesamtausgabe.de/A041180

    -
    - - - + + Contains ff. 10 to 42 only + + + + + Warszawa + Biblioteka Narodowa + BO 3.201 + + + + + Sankt-Peterburg + Rossiiskaia natsional'naia biblioteka + Q.p.I.72 + + +
    +
    +
    + + + + + Letter of Carl Maria von Weber to Caroline Brandt. Dresden, 21st to 23rd May 1817 + + +

    The second part of the letter (Weberiana Cl.II A a 2, 9) was given to Friedrich Jähns by Caroline von Weber, + the widow of Carl Maria von Weber. Jähns then handed this fragment over to the Berlin state library in 1881, + whereas the first part (Mus.ep. Weber, C. M. v. 96) remained with the family estate and found its way into the library not until 1956. + Yet, the identification was already obvious to Jähns who noted Zu No. 50. 21. Mai 1817 gehörig + at the top of his fragment.

    +
    + + + D + Berlin + Staatsbibliothek zu Berlin Preußischer Kulturbesitz + Mus.ep. Weber, C. M. v. 96 + + + + +

    One double leaf, four written pages without address.

    +
    +
    +
    +
    + + + D + Berlin + Staatsbibliothek zu Berlin Preußischer Kulturbesitz + Weberiana Cl.II A a 2, 9 + + + + +

    One leaf, two written pages including address.

    +
    +
    +
    +
    +
    +
    +

    source: http://www.weber-gesamtausgabe.de/A041180

    +
    + + +
    Module for Manuscript Description @@ -45345,6 +46201,9 @@ ou encodé. contains a transcription or other representation of a single source document potentially forming part of a dossier génétique or collection of sources. + +dossier génétique(生成文書)、あるいは資料のコレクションの一部を潜在的に形成し得る単一の資料文書の翻刻やその他の表現を含む。 + @@ -46075,8 +46934,7 @@ appropriate for which circumstance.

    損傷 がある部分を示すこともできる。

    -要素damage, gap, del, unclear, -suppliedは、このような使用をされる。これらのどの要素が相 + 要素damagegapdelunclearsuppliedは、このような使用をされる。これらのどの要素が相 応しいかについての詳細はを参照のこと。

    @@ -46300,8 +47158,7 @@ the resumption of the text. ...

    ことができる。全てが読めるわけではないという場合には、要素 unclearを使い、確信が持てないが読めるひとつのテキスト部分 を示すべきである。詳しくは、を参照のこと。 - また、要素delSpanと要素gap, damage, - unclear, suppliedとの関係については、 + また、要素delSpanと要素gapdamageunclearsuppliedとの関係については、 を参照のこと。

    @@ -46749,13 +47606,11 @@ For I hate this - - - - - - - + + + + + @@ -46785,7 +47640,7 @@ For I hate this the space is vertical. 공간이 수직이다. - l'espace est vertical. + l'espace est vertical. 空白是垂直的。 el espacio es vertical. 当該空白は、縦長。 @@ -47009,8 +47864,7 @@ element is appropriate for which circumstance.

    - 要素damage, gap, del, unclear, - suppliedと共に使用されるかもしれない。これらのどの要素を + 要素damagegapdelunclearsuppliedと共に使用されるかもしれない。これらのどの要素を 使用するかについての詳細は、を参照のこと。

    @@ -48684,8 +49538,7 @@ parallel-segmentation method of apparatus markup.

    manuscript or other witness. 파편화된 원고 또는 다른 비교 대상 텍스트의 시작부 또는 종료부를 표지하는 요소의 속성 提供元素的屬性,這些元素標記岀零散手稿的起始、結尾或其他版本。 - 手書き資料や文献の断片について、その初めと終わりを示す要素向けの - 属性。 + 手書き資料や証拠資料の断片について、その初めと終わりを示す属性。 attributs d'éléments qui marquent le début ou la fin d'un manuscrit fragmentaire ou d'un autre témoin. atributos para elementos que señalan el inicio o el fin de un manuscrito fragmentario o de otro testimonio attributi per elementi che segnalano l'inizio o la fine di un manoscritto frammentario o di altro testimone @@ -48696,13 +49549,12 @@ manuscript or other witness. testimonio o testimonios témoin ou témoins testimone o testimoni + 1つ以上の証拠資料 contains a space-delimited list of one or more sigla indicating the witnesses to this reading beginning or ending at this point. 이 지점에서 시작 또는 종료하는 비교 대상 텍스트를 표시하는 하나 이상의 기호 일람표 목록을 포함한다. 一個或多個印記列表,指出於此處開始或結束的版本。 - ひとつ以上の文献記号のリストを含む。 - 当該ポインタにより文献記号で示された文献の始めまたは終わりが示さ - れている。 + この時点で開始または終了するこの読みに対する証拠資料を示す1つ以上の記号のスペース区切りリストが含まれる。 contient une liste d'une ou plusieurs abréviations désignant les témoins qui commencent ou finissent à ce point. contiene una lista de una o más siglas que indican los testimonios que inician o acaban en ese punto. contiene una lista di una o più sigle indicanti i testimoni che cominciano o finiscono in questo punto @@ -48947,8 +49799,7 @@ different witnesses.

    - 当該要素クラスは、共通識別子rdg, lem, - rdgGrpが継承する属性を定義している。 + 当該要素クラスは、共通識別子rdglemrdgGrpが継承する属性を定義している。

    @@ -48962,7 +49813,7 @@ different witnesses.
    Names
    Personal Names
    Organizational Names - + organization name 조직명 組織名稱 @@ -48987,6 +49838,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + About a year back, a question of considerable interest was agitated in the Pennsyla. Abolition Society [...] @@ -49003,7 +49887,7 @@ different witnesses. - + personal name 개인 이름 個人名稱 @@ -49038,6 +49922,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -49449,7 +50366,7 @@ different witnesses.
    Geo-political Place Names
    Geographic Names
    Relative Place Names - + place name nom de lieu contains an absolute or relative place name. @@ -49471,6 +50388,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -49550,7 +50500,7 @@ different witnesses. - + bloc bloc contains the name of a geo-political unit consisting of two or more nation states or @@ -49574,6 +50524,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + the European Union @@ -49596,7 +50579,7 @@ different witnesses. - + country pays contains the name of a geo-political unit, such as a nation, country, colony, or @@ -49625,6 +50608,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Denmark @@ -49653,7 +50669,7 @@ different witnesses. - + region région contains the name of an administrative unit such as a state, province, or county, larger @@ -49678,6 +50694,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -49703,7 +50752,7 @@ different witnesses. - + settlement lieu de peuplement contains the name of a settlement such as a city, town, or village identified as a single geo-political or administrative unit. @@ -49726,6 +50775,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -49754,7 +50836,7 @@ different witnesses. - + district district contains the name of any kind of subdivision of a settlement, such as a parish, ward, or other administrative or geographic unit. @@ -49777,6 +50859,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -49829,7 +50944,7 @@ different witnesses. - + offset distance relative marks that part of a relative temporal or spatial expression which indicates the direction of the offset between the two place names, dates, or @@ -49855,6 +50970,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -49870,7 +51018,7 @@ different witnesses. - + geographical name 지리명 地理名稱 @@ -49895,6 +51043,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -49920,7 +51101,7 @@ different witnesses. - + geographical feature name 지리적 특성명 nom de caractéristique géographique @@ -49948,6 +51129,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + The vale of White Horse @@ -49968,6 +51182,133 @@ different witnesses.
    +
    Event Names + + name of an event + Name eines Ereignisses + contains a proper noun or noun phrase used to refer to an event. + enthält einen Eigennamen in Form eines Nomens oder einer Nominalphrase, der verwendet wird, um auf ein Ereignis zu verweisen. + + + + + + + + + + + + + + + + Zweiter Weltkrieg + World War II + https://d-nb.info/gnd/4079167-1 + https://www.wikidata.org/wiki/Q362 + + Überfall auf Polen + Invasion of Poland + https://d-nb.info/gnd/4175002-0 + https://id.loc.gov/authorities/sh85148341 + + + Gdańsk + 54.350556, 18.652778 + + + + + Deutsch-Sowjetischer Krieg + Великая Отечественная война + https://d-nb.info/gnd/4076906-9 + https://www.wikidata.org/wiki/Q189266 + + + + + + + +

    Mit dem Überfall auf Polen + begann der Zweite Weltkrieg, der in manchen Nachfolgestaaten + der Sowjetunion auch als Großer Vaterländischer Krieg + (Великая Отечественная война) bekannt ist.

    +
    +
    + + +

    On Monday, she was writing about the + 1618 Defenestration of Prague which initiated the + long war.

    +
    +
    + + + + TEI 2019: What is text, really? TEI and beyond + TEI 2019 + + The abstract leading to the eventName element is available at https://gams.uni-graz.at/o:tei2019.141. + Other related documents are available through https://gams.uni-graz.at/tei2019, as well as in the + TEI 2019 Zenodo community. + + + + + Raunig + Elisabeth + + + + + Scholger + Martina + + + + + Scholger + Walter + + + + + Steiner + Elisabeth + + + + + Vogeler + Georg + + + + + Universität Graz + +
    + ReSoWi Gebäude + Universitätsstraße 15 + 8010 + Graz + Österreich +
    + 15.451651587656 47.078215112534 +
    +
    + + + +
    +
    +
    + + + +
    Object Names
    Biographical and Prosopographical Data
    Basic Principles
    @@ -49981,7 +51322,7 @@ different witnesses.
    Multiple Places
    States, Traits, and Events
    Relations Between Places - + affiliation affiliation contains an informal description of a person's present or past affiliation with some @@ -50011,7 +51352,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -50079,7 +51453,7 @@ different witnesses. - + age âge specifies the age of a person. @@ -50101,7 +51475,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -50183,7 +51590,7 @@ different witnesses. - + birth naissance contains information about a person's birth, such as its date and place. @@ -50209,19 +51616,55 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + caesarean section + 帝王切開 vaginal delivery + 普通分娩 ex nihilo + 無から @@ -50266,7 +51709,7 @@ different witnesses. - + climate climat contains information about the physical climate of a place. @@ -50316,6 +51759,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -50356,7 +51832,7 @@ different witnesses. - + death décès contains information about a person's death, such as its date and place. @@ -50379,7 +51855,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -50428,7 +51937,7 @@ different witnesses. - + education éducation contains a description of the educational experience of a person. @@ -50450,7 +51959,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -50499,48 +52041,131 @@ different witnesses. - - event + + event + Ereignis évènement - contains data relating to any kind of significant event associated with a person, place, or organization. - 개인, 장소, 또는 조직과 관련된 중요한 사건에 해당하는 데이터를 포함한다. + contains data relating to anything of significance that happens in time. 任何未必是口說的或溝通上的現象或發生情況,例如偶然的噪音或其他影響溝通的事件。 + enthält Daten mit Bezug zu etwas Bemerkenswertem, das in der Zeit geschieht. + contiene datos relacionados con cualquier tipo de evento significativo asociado con una persona, lugar u organización. + contient des données liées à tout type d'évènement significatif dans l'existence d'une personne, d'un lieu, d'un objet ou d'une organisation. + contiene dati a proposito di un qualsiasi tipo di evento significativo associato con una persona, luogo o organizzazione. 人生における特定の重要事象の解説を示す。 - contient des données liées à tout type d'évènement significatif dans l'existence d'une personne, d'un - lieu ou d'une organisation. - cualquier fenómeno o evento no necesariamente vocal o comunicativo, como ruidos accidentales u otros - fenómenos que inciden en la comunicación en acto. - qualsiasi fenomeno o evento non necessariamente vocale o comunicativo, come rumori accidentali o altri - fenomeni che incidano sulla comunicazione in atto + 개인, 장소, 또는 조직과 관련된 중요한 사건에 해당하는 데이터를 포함한다. - + + - - - + + - - + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra una fecha. + indica il sistema o calendario al quale la data appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + + + + 1618 Defenestration of Prague + https://www.wikidata.org/wiki/Q13365740 + + + Jaroslav Bořita z Martinic + https://d-nb.info/gnd/116810998 + + + Vilém Slavata z Chlumu a Košumberka + https://d-nb.info/gnd/1018376615 + + + Filip Fabricius + https://d-nb.info/gnd/133946118 + + + Prague + + + Thirty Years’ War + https://www.wikidata.org/wiki/Q2487 + + Battle of Rocroi + https://www.wikidata.org/wiki/Q728480 + https://d-nb.info/gnd/4202901-6 + + Rocroi + 49.926111 4.522222 + + + + + + @@ -50577,11 +52202,70 @@ different witnesses. + + + + + Nr. 1 Ministerrat, Wien, 1. April 1848 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Kolowrat + Ficquelmont + Taaffe + Pillersdorf + Sommaruga + KolowratBdE. 2. 4. + Franz KarlBdE. 2. 4. + + + + Wien + Vienna + + 48.208199 16.37169 + + https://sws.geonames.org/2761369 + + + + + + + - + faith religion specifies the faith, religion, or belief set of a person. @@ -50603,7 +52287,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -50640,7 +52357,7 @@ different witnesses. - + floruit période d'activité contains information about a person's period of activity. @@ -50660,6 +52377,39 @@ different witnesses. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -50677,7 +52427,7 @@ different witnesses. - + gender specifies the gender identity of a person, persona, or character. especifica la identidad de género de una persona. @@ -50694,7 +52444,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + supplies a coded value for gender identity @@ -50723,8 +52506,8 @@ different witnesses.

    年齢や性別など他の文化的特質と同様に、この概念が異なる文化的文脈で記述される方法は様々である。 - 属性の正規化は,相互運用性あるいはプロジェクト内部の分類法の一貫性のために,その多様性を単純化する付随的な手段としてのみ提供されるものであり、それが不適切であったり有用でない場合には,使用されるべきではない。 - 要素の内容は,意図する概念をより詳細に記述するために利用できる。

    + 属性の正規化は、相互運用性あるいはプロジェクト内部の分類法の一貫性のために、その多様性を単純化する付随的な手段としてのみ提供されるものであり、それが不適切であったり有用でない場合には、使用されるべきではない。 + 要素の内容は、意図する概念をより詳細に記述するために利用できる。

    @@ -50796,7 +52579,7 @@ different witnesses.
    - + language knowledge 언어 지식 conocimiento del lenguaje @@ -50831,7 +52614,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -50916,7 +52732,7 @@ different witnesses. - + language known 언어 능력 語言能力 @@ -50939,7 +52755,40 @@ different witnesses. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + supplies a valid language tag for the language concerned. 관련 언어에 대한 유효한 언어 태그를 제공한다. 用有效的語言標籤來表示所指語言。 @@ -51114,11 +52963,14 @@ different witnesses. - - - - - + + + + + + + + @@ -51456,7 +53308,7 @@ raiders and saved the town from capture. - + location localisation defines the location of a place as a set of geographical coordinates, in terms of other named geo-political entities, or as an @@ -51490,6 +53342,39 @@ raiders and saved the town from capture. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -51530,7 +53415,7 @@ raiders and saved the town from capture. - + nationality nationalité contains an informal description of a person's present or past nationality or citizenship. @@ -51555,7 +53440,40 @@ raiders and saved the town from capture. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -51585,7 +53503,7 @@ raiders and saved the town from capture. - + occupation activité contains an informal description of a person's trade, profession or occupation. @@ -51608,7 +53526,40 @@ raiders and saved the town from capture. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -52214,7 +54165,7 @@ specification.

    - + personal pronouns indicates the personal pronouns used, or assumed to be used, by the individual being described. @@ -52229,7 +54180,40 @@ specification.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + evidence indicates support @@ -52410,7 +54394,7 @@ specification.

    - + population population contains information about the population of a place. @@ -52446,6 +54430,39 @@ specification.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -52474,7 +54491,7 @@ specification.

    - + relationship 관련성 人際關係 @@ -52525,7 +54542,40 @@ specification.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + supplies a name for the kind of relationship of which this is an instance. 이것이 실례인 관련성 종류에 대한 이름을 제공한다. 提供該關係的確切名稱。 @@ -52625,7 +54675,7 @@ specification.

    - + residence 거주 住所 @@ -52651,7 +54701,40 @@ specification.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + @@ -52716,7 +54799,7 @@ specification.

    - + sex sexe specifies the sex of an organism. @@ -52737,7 +54820,40 @@ specification.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + supplies a coded value for sex @@ -52788,7 +54904,7 @@ specification.

    - + socio-economic status statut socio-économique 사회-경제적 지위 @@ -52814,7 +54930,40 @@ specification.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + identifies the classification system or taxonomy in use, for example by pointing to a locally-defined taxonomy element or by supplying a URI for an externally-defined system. identifie le système de classification ou la taxinomie utilisés. 사용 중인 분류 체계 또는 분류법을 식별한다. @@ -52892,7 +55041,7 @@ specification.

    - + state statut contains a description of some status or quality attributed to a person, place, or organization often at some specific time or for a specific date range. @@ -52937,6 +55086,39 @@ specification.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -52999,7 +55181,7 @@ specification.

    - + terrain terrain contains information about the physical terrain of a place. @@ -53047,6 +55229,39 @@ specification.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -53063,7 +55278,7 @@ specification.

    - + trait trait distinctif contains a description of some status or quality attributed to a person, place, or organization typically, but not necessarily, @@ -53107,6 +55322,39 @@ specification.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + - - - - - - - + + + + + + + + @@ -53348,7 +55637,7 @@ specification.

    -

    +

    The object element is a recent addition to the TEI P5 Guidelines as of version 3.5.0 and as such may be more prone to further revision in the next few releases as its use develops. This may be particularly evident where its @@ -53729,10 +56018,11 @@ specification.

    attributs des composantes des noms de personnes atributos para los componentes de nombres propios de persona attributi per componenti di nomi propri di persona + 名前を構成するもののための属性。通常は人物名だが、必ずしもそうとは限らない。 common attributes for those elements which form part of a name usually, but not necessarily, a personal name. 사람 이름의 부분을 형성하는 요소에 대한 공통 속성 構成部分個人名稱的元素所用之通用屬性 - 個人名の構成要素となる要素に付与される属性。 + 名前の構成要素となる要素に付与される一般的な属性。通常は人物名だが、必ずしもそうとは限らない。 attributs communs des éléments qui composent un nom de personne atributos comunes para los elementos que forman parte de un nombre propio de persona. attributi comuni agli @@ -53771,6 +56061,7 @@ abbreviation or simply as an initial. abrégé abbreviato el componente del nombre aparece como forma abreviada. + 省略された the name component is given in an abbreviated form. 이름 성분이 축약형으로 제시된다. 該名稱元件為縮寫形式。 @@ -53785,6 +56076,7 @@ abbreviation or simply as an initial.
    initiale lettera iniziale el componente del nombre aparece mediante la inicial. + イニシャルの the name component is indicated only by one initial. 이름 성분이 하나의 이니셜(첫글자)로 제시되었다. @@ -53799,10 +56091,11 @@ one initial. sort ordre + 並び替え specifies the sort order of the name component in relation to others within the name. 사람 이름 내에 다른 것과 관련된 이름 성분의 정렬 순서를 명시한다. 指明個人名稱中該名稱元件與其他元件之間的排列順序。 - 個人名間で並び替えをする際の順番を示す。 + 名前の並び替えにおいて、その名前要素が他の構成要素との関係で何番目に優先されるかを指定する。 précise dans quel ordre est placé la composante par rapport aux autres dans le nom d'une personne. especifica la posición del componente al interno del nombre propio de persona en relación con los otros componentes. specifica la posizione della componente all'interno del nome proprio di persona in relazione alle altre componenti @@ -53921,7 +56214,7 @@ one initial. 표준형으로 기간의 시작 지점을 나타낸다. 以標準格式表示該段時間的起始點。 当該時間幅の、始点を標準形で示す。 - Indique le point de départ de la période sous une forme normalisée + indique le point de départ de la période sous une forme normalisée indica l'inizio del periodo nel formato standard indica el punto de inicio de un periodo de tiempo en formato estándard. @@ -53932,7 +56225,7 @@ one initial. 以標準格式表示該段時間的結束點。 indica en forma estándard el punto de conclusión de un período. 当該時間幅の、終点を標準形で示す。 - Indique le point final de la période sous une forme normalisée + indique le point final de la période sous une forme normalisée indica la fine del periodo nel formato standard @@ -53973,6 +56266,79 @@ one initial. + + provides attributes for indicating calendar systems to which a date belongs. + assegna attributi per indicare i sistemi o calendari ai quali appartiene una data. + + + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + He was born on Feb. 22, 1732 (Feb. 11, 1731/32, + O.S.). + + + + + He was born on Feb. 22, 1732 + (Feb. 11, 1731/32, O.S.). + + + + + Dienstag 7/19 + Mai. + + + + L'année + 1960 fut, en vertu du calendrier grégorien, bissextile ; le 22 juin tomba ainsi le jour de + l'été, le 22 juin. + + +

    Note that the calendar attribute declares the calendar + system used to interpret the textual content of an element, + as it appears on an original source. It does + not modify the interpretation of the normalization + attributes provided by att.datable.w3c, + att.datable.iso, or att.datable.custom. Attributes from those first two + classes are always interpreted as Gregorian or proleptic Gregorian + dates, as per the respective standards on which they are based. The + calender system used to interpret the last (att.datable.custom) may be specified with + datingMethod.

    +
    +

    + calendar属性は(att.datable.customクラスで定義されるdatingMethod属性と異なり、 + 親要素によって定義される原資料の日付の暦日システムを定義するものであり、 + どの暦日に日付を正規化するかではない。

    +
    +
    + + + + +
    provides attributes for recording normalized temporal durations. 규격화된 시간적 지속을 기록하기 위한 속성 @@ -55050,6 +57416,7 @@ situational parameters. canal principal canal principal canale primaio + 元の媒体 describes the medium or channel by which a text is delivered or experienced. For a written text, this might be print, manuscript, email, etc.; for a spoken one, radio, telephone, face-to-face, etc. @@ -55088,12 +57455,14 @@ for a spoken one, radio, telephone, face-to-face, etc. oral parlato hablado + 発話 written écrit scritto escrito + 書記 spoken to be written @@ -55103,6 +57472,7 @@ for a spoken one, radio, telephone, face-to-face, etc. parlato per essere scritto hablado para ser escrito (p.ej. dictado) e.g. dictation + 書き起こし 예, 받아쓰기 為寫而說 (例如聽寫)   p.ej. dictado @@ -55117,6 +57487,7 @@ for a spoken one, radio, telephone, face-to-face, etc. script) scritto per essere parlato escrito para ser hablado (p.ej. guión) + 台本 e.g. a script 예, 스크립트 為說而寫 (例如稿子)   @@ -55130,12 +57501,14 @@ for a spoken one, radio, telephone, face-to-face, etc. modes mixtes misto mixto + 混合 unknown or inapplicable inconnu ou non applicable sconosciuto o non rilevante desconocido + 不明または適用外 @@ -57425,7 +59798,7 @@ You must supply at least two values for @target on indica que la alternancia no es exclusiva, es decir que ocurren una o más de las alternativas. 複数を選択できる。 - Indique que cette alternative n'est pas + indique que cette alternative n'est pas exclusive, c'est-à-dire qu'une option au moins est vraie. indica che l'alternanza non è esclusiva, cioè che possono comparire più alternative @@ -57442,7 +59815,7 @@ You must supply at least two values for @target on 하나가 발생한 상태에서 대응하는 교체가능성이 발생할 확률이다. 若屬性mode的屬性值是excl,則每個weight皆表明相對應替換的可能性。若屬性mode的屬性值是incl,則每個weight皆表明,在至少一個其他替換存在的前提下,相對應替換的可能性 属性modeの値がexclの場合、各重みは対応する代替が発生する確率を示す。 属性modeの値がinclの場合、他の選択肢の少なくとも1つが発生した場合に対応する代替が発生する確率を示す。 - Si l'attribut mode a la valeur + si l'attribut mode a la valeur excl, chacune des valeurs de l'attribut weights établit la probabilité que l'option correspondante soit vraie. Si l'attribut mode a la valeur incl, chacune des valeurs de l'attribut weights @@ -57650,6 +60023,9 @@ You must supply at least two values for @target on Functions as a container element for linked data, contextual information, and stand-off annotations embedded in a TEI document. + + リンクト・データや文脈情報、TEI文書に埋め込まれたスタンドオフ・アノテーションをコンテナ化する要素として機能する。 + @@ -58677,6 +61053,7 @@ etc. as appropriate.

    caractère carácter carattere + 文字 represents a character. 문자(글자)를 표시한다. 表示一個文字符號。 @@ -58732,8 +61109,8 @@ etc. as appropriate.

    punctuation, ou digit, etc.

    -

    - 文字データ。一文字、または一文字を示すエンティティであるべき。 +

    + 一つの文字、一つのg、あるいは一つの文字として扱われるべき一連の文字素を含む。type属性は、その役割を示す。たとえばletterpunctuation、あるいはdigit

    @@ -60472,15 +62849,16 @@ structure, or if the antecedent does not.
    contrainte bi-conditionnelle de structure de traits restricciones de estructura de rasgo bicondicional vincolo di struttura di tratti bi-condizionato + 必要十分な素性構造の制約 defines a biconditional feature-structure constraint; both consequent and antecedent are specified as feature structures or groups of feature structures; the constraint is satisfied if both subsume a given feature structure, or if both do not. 이중 조건 자질-구조 제약을 정의한다; 전건과 후건 모두 자질 구조 또는 자질 구조 집합으로 명시된다; 전건과 후건 모두 주어진 자질 구조를 포섭하거나 둘 다 포섭하지 않는다면 이 제약은 만족된다. 定義一個雙條件功能結構限制;結果和前提被指明為功能結構或功能結構群組;若兩者皆包含一個已知功能結構、或兩者皆不包含,則結果符合需求。 - 素性構造の制約を必要十分条件として定義する。前提部と帰結部は、素性構 - 造またはそのグループとして定義される。当該制約は、与えられた2つの素 - 性構造が共に真であるか、またはともに偽である場合に、真になる。 + 素性構造の制約を必要十分条件として定義する。 + 前提部と帰結部は、素性構造またはそのグループとして定義される。 + 当該制約は、与えられた前提部と帰結部の素性構造が共に真であるか、またはともに偽である場合に、満たされる。 définit une contrainte bi-conditionnelle de structure de traits ; la conséquence et l'antécédent sont tous deux indiqués comme structures de traits ou comme groupes de structures de traits ; la contrainte est satisfaite si chacun des @@ -60809,6 +63187,7 @@ rasgo. valeur binaire valor binario un valore binario + 二値 represents the value part of a feature-value specification which can contain either of exactly two possible values. 정확히 두 가지 가능한 값 중 하나를 포함할 수 있는 자질-값 명세에서 값의 부분을 표시한다. @@ -60837,9 +63216,11 @@ rasgo.

    This attribute has a datatype of teidata.truthValue, which may be represented by the values 1 or true, or 0 or false.

    +
    +

    この属性はteidata.truthValueのデータ型を持つ。 + その値は、1true、あるいは0falseで表現される。

    - @@ -62491,8 +64872,7 @@ qu'avec des arcs.

    要素arcは、ラベル付き辺の場合には必ず使用される。 - そうでない場合、辺は、要素nodeの属性adj, - adjToadjFromとして示すことも可能である。 + そうでない場合、辺は、要素nodeの属性adjadjToadjFromとして示すことも可能である。 しかし、この方法は記述が冗長になるかもしれない。

    @@ -63594,7 +65974,7 @@ trees (triangles).

    Pervasive Conditions
    Content Uncertainty
    Target or Match? - + indicates the numerical accuracy or precision associated with some aspect of the text markup. @@ -63614,7 +65994,40 @@ trees (triangles).

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + characterizes the precision of the element or attribute pointed to by the precision element. @@ -63659,8 +66072,8 @@ trees (triangles).

    with some aspect of the text markup. 텍스트 마크업의 어떤 특성과 관련된 확실성 또는 불확실성의 정도를 가리킨다. 指出標記文本某些部分的確定或不確定的程度。 - 当該マークアップの確信度を示す。 - Indique le degré de certitude ou d'incertitude + 当該マークアップのなんらかの点に関する確実性の程度を示す + indique le degré de certitude ou d'incertitude associé à certains aspects du balisage du texte. Indica el grado de certeza o incertidumbre asociado a algun aspecto del marcaje de texto. indica il grado di certezza o incertezza associato a un determinato aspetto del la codifica del testo @@ -63694,7 +66107,9 @@ trees (triangles).

    certeza certitude certezza + 確実性 signifies the degree of certainty associated with the object pointed to by the certainty element. + このcertainty要素が指す対象に関する確実性の程度を示す。
    @@ -63706,9 +66121,8 @@ trees (triangles).

    etc. 요소의 적용가능성, 시작 및 종료 태그의 정확한 위치, 명시적 속성 값 등과 같이 마크업에서 불확실성을 유발하는 정확한 위치를 가리킨다. 指出不確定標記的確切位置:元素的應用性、開始標籤或結束標籤的確切位置、特定屬性的屬性值等。 - 当該確信度が該当する場所の詳細を示す。例えば、要素全体、開始タグ - または終了タグの正確な位置、特定属性の値、など。 - Indique le point précis sur lequel porte + どの側面の確実性かをより具体的に示す。例えば、マークアップが正確か、要素や属性の名前が正確か、要素や属性の内容の正確か、など。 + indique le point précis sur lequel porte l'incertitude de balisage : pertinence de l'élément, position exacte de la balise de début ou de fin, valeur d'un attribut spécifique, etc. indica la posición precisa de la incertidumbre en el marcaje: aplicabilidad del elemento, posición precisa del comienzo y del final de la etiqueta, valor de un atributo específico, etc. @@ -63718,22 +66132,27 @@ trees (triangles).

    uncertainty concerns whether the name of the element or attribute used is correctly applied. + 適用された要素または属性の名前が不確実である uncertainty concerns whether the start of the element is correctly identified. + 要素の開始位置が不確実である uncertainty concerns whether the end of the element is correctly identified. + 要素の終了位置が不確実である uncertainty concerns both the start and the end of the element. + 要素の開始位置と終了位置の両方が不確実である uncertainty concerns the content (for an element) or the value (for an attribute) + (要素の)内容または(属性の)値が不確実である
    @@ -63802,12 +66221,9 @@ element.

    qu'il faille un identifiant générique placeName plutôt que persName, qui est l'élément encodé.

    - +

    - 当該属性は、当該要素に対する代替値の確信度を示している。 - 上の例では、符号化する人が当該可能性(.2)を示している。これは当 - 該要素に使用される共通識別子は、persNameではなく - placeNameであるべき可能性の度合いを示している。 + 当該属性は、参照するマークアップのある側面における特定の選択肢の確信度を示すことができる。上記の最初の例では、当該要素の共通識別子が、現在のpersNameではなくplaceNameであるという可能性が 0.2 であることを示そうとしている。

    @@ -63817,8 +66233,8 @@ element.

    are assumed in the assignment of a degree of confidence. 신뢰도 할당에서 추정된 조건을 표시한다. 指出在評估確定程度時所設想的情況。 - 当該確信度が成立する条件を示す。 - Indique les conditions présumées lors de + 確信度の割り当ての前提となる条件を与える一つ以上の要素を示す。 + indique les conditions présumées lors de l'attribution d'un degré de confiance. indica las condiciones asumidas en la asignación de un grado de confianza indica le condizioni presunte nell'assegnare un grado di certezza @@ -63888,36 +66304,10 @@ ambiguity-free system for indicating certainty.

    certainty procure actuellement un système complet et sans ambiguïté pour indiquer le degré de certitude.

    - - +

    - 当該属性値として考えられるものは、他の要素certaintyの - 識別子またはそのリストである。従って、この要素certainty - による連鎖は、確率ネットワークを作ることができる。この確率ネット - ワークは、条件の付かない(属性givenがない)要素 - certaintyをベースに作られる。この要素の鎖は、以下のよう - に解釈することができる。 - ある要素certaintyを前提条件として参照している場合、 - 属性にある確信度は、前提条件の内容ではなく、当該要素に関する記述 - を対象としたものである。例えば、上の例では、初めの要素 - certaintyは、msmとしてある新しい - 筆写者の識別子の確信度を示している。2番目のそれは、新しい筆写者 - がmsmとすれば、 - Essexが個人名であるということの確信度を示 - している。この2番目の要素certaintyにあるのは、msmが新し - 筆写者である確信度が0.6であるということではなく、msmは新しい筆写 - 者であるとしていることに注意して欲しい。このように確率ネットワー - クを作ることが推奨される。 -

    -

    - 果敢な人は、他の要素や散文的記述を参照し、要素alt, - join, notなどの素性構造向け連結子を使い、 - 複雑な確率ネットワークを作ろうとするかもしれない。しかし、当該要 - 素certaintyが、確信度を明瞭に示す包括的な解決策であると - は、現時点では考えていない。 + 当該属性値として考えられるものは、他のcertainty要素の識別子またはそのリストである。従って、このcertainty要素を繋げて確率ネットワークを作ることができる。この確率ネットワークは、最終的には条件の付かない(given属性がない) certainty要素を起点として作られるだろう。この要素のネットワークの意味は、以下のように解釈することができる。あるcertainty要素を前提条件として参照している場合、 この要素が表す不確実さは前提条件側ではなく、当該要素に由来するものである。例えば、上の例では、最初のcertainty要素は、新しい筆写者がmsmである確信度を示している。2番目のものは、新しい筆写者がmsmである場合に、 Essexが人名である確信度を示している。この2番目のcertainty要素にあるのは、msmが新しい筆写者である確信度が0.6であるということではなく、msmは新しい筆写者であるとしていることに注意して欲しい。このように確率ネットワークを作ることが推奨される。

    +

    果敢な人は、他の要素や散文的記述を参照し、要素alt, join, noteなどの素性構造向け連結子を使い、 複雑な確率ネットワークを作ろうとするかもしれない。しかし、当該のcertainty要素が、確信度を明瞭に示す包括的な解決策であるとは、現時点では考えていない。

    @@ -63926,12 +66316,9 @@ ambiguity-free system for indicating certainty.

    of the markup named by the locus attribute.
    locus 속성에 의해 명명된 마크업에 할당된 신뢰도를 표시한다. 指出屬性locus所指定的標記部分之確定程度。 - 属性locusで示された対象のに付与される確信度の程度を示 - す。 - Indique le degré de confiance attribué à l'aspect - du balisage que désigne l'attribut locus. - indica el grado de confianza asignado al aspecto del marcaje llamado por el atributo locus - + 属性locusで示された対象のに付与される確信度の程度を示 す。 + indique le degré de confiance attribué à l'aspect du balisage que désigne l'attribut locus. + indica el grado de confianza asignado al aspecto del marcaje llamado por el atributo locus indica il grado di certezza assegnato ad un aspetto della codifica indicato dall'attributo locus. @@ -64003,12 +66390,10 @@ markup of particular element(s).
    - - - - - - + + + + @@ -64017,31 +66402,30 @@ markup of particular element(s). 책임성이 할당된 명시적인 마크업을 표시한다. 指出標記責任所屬的特定部分。 当該責任を示すマークアップが何についてのものかを示す。 - Indique l'aspect spécifique du balisage sur - lequel porte la responsabilité. + indique l'aspect spécifique du balisage sur lequel porte la responsabilité. indica el aspecto específico del marcaje por el cual la responsabilidad está siendo asignada indica l'aspetto specifico della codifica per il qaule è attribuita la responsabilità responsibility is being assigned concerning the name of the element - or attribute used. + or attribute used. responsibility is being assigned concerning the start of the element - concerned. + concerned. responsibility is being assigned concerning the end of the element - concerned. + concerned. responsibility is being assigned concerning the location of the element - concerned. + concerned. responsibility is being assigned concerning the content (for an element) or - the value (for an attribute) + the value (for an attribute) @@ -64864,7 +67248,7 @@ provided a comment, with delimiters <!-- and --> is intended - Un commentaire délimité par les signes + un commentaire délimité par les signes <!-- et --> est prévu. indica un commento delimitato dai segni <!-- e --> @@ -68308,6 +70692,7 @@ déclaration de même nom dans la définition courante. provides attributes for the elements which define component parts of a content model. + 内容モデルの構成部分を定義するエレメントのための属性を提供する。 @@ -68335,8 +70720,12 @@ déclaration de même nom dans la définition courante. nombre minimum d'occurrences numero minimo di occorrenze número mínimo de apariciones + 最小出現数 indicates the smallest number of times this component may occur. + この部品が出現し得る最小回数を示す。 + + @@ -68349,8 +70738,10 @@ déclaration de même nom dans la définition courante. nombre maximum d'occurrences. numero minimo di occorrenze número máximo de apariciones. + 最大出現数 indicates the largest number of times this component may occur. + 概算推量のための最大推定値を与える。 @@ -68366,6 +70757,10 @@ déclaration de même nom dans la définition courante. always be greater than or equal to 1. An ODD processor should raise an error if either of these conditions is not met.

    +

    + minOccursの値は常にmaxOccursの値以下でなければならない。maxOccursのデフォルト値が1なので、maxOccursが指定されない時には、minOccursは1以下でなければならない。 + minOccursのデフォルト値も1なので、minOccursが指定されない時には、maxOccursは常に1以上でなければならない。これらの条件のいずれかが満たされなければ、ODDプロセッサはエラーとなるだろう。

    +
    groups elements which @@ -68487,8 +70882,7 @@ déclaration de même nom dans la définition courante.
    constraint on schema - contains a formal constraint, typically expressed in a rule-based schema language, to which a construct must conform in order to be considered valid + contains a formal constraint, typically expressed in a rule-based schema language, to which a construct must conform in order to be considered valid @@ -68526,8 +70920,7 @@ déclaration de même nom dans la définition courante. Relationship between scheme attribute and contents: Schematron 1.x - - Rules + Rules in the Schematron 1.* language must be inside a constraintSpec with a value other than 'schematron' or 'isoschematron' on the scheme attribute @@ -68536,15 +70929,15 @@ déclaration de même nom dans la définition courante. Relationship between scheme attribute and contents: ISO Schematron - - Rules - in the ISO Schematron language must be inside a constraintSpec - with the value 'schematron' on the scheme attribute + + Rules + in the ISO Schematron language must be inside a constraintSpec + with the value 'schematron' on the scheme attribute + - An ISO Schematron constraint specification for a macro should not have an 'assert' or 'report' element without a parent 'rule' element @@ -68562,21 +70955,42 @@ déclaration de même nom dans la définition courante. - + + supplies the name of the language in which the constraints are defined + + + + The @scheme attribute of <constraintSpec> is required when the @mode is . + + + ISO Schematron - +

    These Guidelines no longer recommend, and the current TEI stylesheets no longer support, the use of Schematron 1.x within constraintSpec. Thus the value schematron is used to indicate that ISO Schematron is used within the constraintSpec.

    +

    The scheme attribute is required when the value + of mode is add or + replace. The scheme attribute is + permitted when the value of mode is + delete, but these Guidelines make no reccomendation + for what a processor should do if its value does not match + that of the constraintSpec being deleted.

    @@ -68950,7 +71364,7 @@ déclaration de même nom dans la définition courante. the name of the attribute class - + the name of the attribute @@ -69742,7 +72156,7 @@ an attribute may take, additional to the information carried by the provides attributes indicating how multiple references to the same object in a schema should be combined - あるスキーマにおける同一オブジェクトに対する複数の参照をどのように統合すべきか示す属性を提供する。 + あるスキーマにおける同一オブジェクトに対する複数の参照をどのように統合すべきか示す属性を提供する。 @@ -69963,8 +72377,7 @@ should correspond to an existing module, via a moduleSpec or 非推奨の機能を将来のリリースでどのように扱うかを示す属性を提供する。 - provides a date before which the construct being defined - will not be removed. + provides a date before which the construct being defined will not be removed. 定義されている構文が削除される前の日付を提供する。 @@ -30,26 +32,7 @@ The @to and @notAfter attributes cannot be used together. - - - @calendar indicates one or more - systems or calendars to which the date represented by the content of this element belongs, - but this element has no textual content. - - - - - - - - - - - - - - + @@ -59,50 +42,57 @@ - + The @unit attribute may be unnecessary when @unitRef is present. - + The element should not be categorized in detail with @subtype unless also categorized in general with @type - + @targetLang should only be used on if @target is specified. - + The element indicated by @spanTo () must follow the current element - + @schemeVersion can only be used if @scheme is specified. - + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements. - + Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText. - + Information about a deprecation should only be present in a specification element @@ -111,24 +101,31 @@ The element indicated by @spanTo () must follow the type="deprecationInfo">. - + When target= is present, neither from= nor to= should be. - + When from= is present, the to= attribute of is required. - + When to= is present, the from= attribute of is required. + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + Only one of the @@ -147,7 +144,42 @@ attributes @target and @cRef may be supplied on . The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element - + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + If the @target attribute on is used, the @@ -156,43 +188,120 @@ relatedItem element must be empty or a child element to indicate the related bibliographic item - + Abstract model violation: Lines may not contain lines or lg elements. - + An lg element must contain at least one child l, lg, or gap element. - + Abstract model violation: Lines may not contain line groups. - + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + On , either the @marks attribute should be used, or a paragraph of description provided - + An XPath in @match on the outer must start with '/'. - + An XPath in @match must not start with '/' except on the outer . - + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + A facsimile element represents a text with images, thus @@ -200,7 +309,7 @@ On , either the @marks attribute should be used, or a paragraph of descri - + , either the @marks attribute should be used, or a paragraph of descri the zone element rather than the path element. - + The @spanTo attribute of is required. - + The @spanTo attribute of is required. - + The @spanTo attribute of is required. - + must have at least one child add and at least one child del or surplus - + Abstract model violation: Lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. - + Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. - + You must supply at least two values for @target or on - + Abstract model violation: Lines may not contain higher-level divisions such as p or ab, unless ab is a child of figure or note, or is a descendant of floatingText. - + You must supply at least two values for @target on - + This element must have a @type attribute, since it is @@ -277,4 +386,109 @@ You must supply at least two values for @target on + + + + + + WARNING: use of deprecated attribute — @calendar of the name element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the author element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the editor element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the resp element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the title element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the meeting element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the sponsor element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the funder element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the principal element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the idno element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the licence element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the unitDecl element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the unitDef element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the conversion element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the application element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the creation element will be removed from the TEI on 2024-11-11. + + + + + + WARNING: use of deprecated attribute — @calendar of the change element will be removed from the TEI on 2024-11-11. + + + diff --git a/Test/expected-results/test.odd.html b/Test/expected-results/test.odd.html index ecf1fd313..4ff7d078f 100644 --- a/Test/expected-results/test.odd.html +++ b/Test/expected-results/test.odd.html @@ -398,6 +398,15 @@

    provides attributes that may be used to supply a canonical referenceas a means of identifying the target of a pointer. +

    + + + 13.3.7. Names and Nyms] diff --git a/Test/expected-results/test.rng b/Test/expected-results/test.rng index 330b44dc7..4651d584d 100644 --- a/Test/expected-results/test.rng +++ b/Test/expected-results/test.rng @@ -520,41 +520,8 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke - - - - - indicates one or more systems or calendars to which the date represented by the content of this element belongs. - - - - \S+ - - - - - - - - - @calendar indicates one or more - systems or calendars to which the date represented by the content of this element belongs, - but this element has no textual content. - - - - - - - - - - - - - @@ -861,7 +828,7 @@ Suggested values include: 1] internal; 2] external; 3] conjecture - + @@ -1185,7 +1152,7 @@ Suggested values include: 1] m (metre); 2] kg (kilogram); 3] s (second); 4] Hz ( - + The @unit attribute may be unnecessary when @unitRef is present. @@ -1304,7 +1271,7 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf - + The element should not be categorized in detail with @subtype unless also categorized in general with @type @@ -1328,7 +1295,7 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf - + @targetLang should only be used on if @target is specified. @@ -1481,7 +1448,7 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf - + The element indicated by @spanTo () must follow the current element @@ -1519,7 +1486,7 @@ The element indicated by @spanTo () must follow - + @schemeVersion can only be used if @scheme is specified. @@ -4096,6 +4063,30 @@ Suggested values include: 1] full (full form); 2] pref (prefix); 3] suff (suffix + + + + + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -4140,14 +4131,14 @@ Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] cant (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] - + Abstract model violation: Paragraphs may not occur inside other paragraphs or ab elements. - + Abstract model violation: Lines may not contain higher-level structural elements such as div, p, or ab, unless p is a child of figure or note, or is a descendant of floatingText. @@ -4346,7 +4337,7 @@ Suggested values include: 1] spoken (spoken); 2] thought (thought); 3] written ( (description) contains a short description of the purpose, function, or use of its parent element, or when the parent is a documentation element, describes or defines the object being documented. [22.4.1. Description of Components] - + Information about a deprecation should only be present in a specification element @@ -4439,7 +4430,7 @@ Suggested values include: 1] deprecationInfo (deprecation information) - + When target= is present, neither from= nor to= should be. @@ -4453,7 +4444,7 @@ Suggested values include: 1] deprecationInfo (deprecation information) - + When from= is present, the to= attribute of is required. @@ -4467,7 +4458,7 @@ Suggested values include: 1] deprecationInfo (deprecation information) - + When to= is present, the from= attribute of is required. @@ -4675,6 +4666,25 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -4851,6 +4861,7 @@ Measures] + @@ -4870,6 +4881,7 @@ Measures] + @@ -4908,7 +4920,7 @@ Sample values include: 1] suspension (suspension); 2] contraction (contraction); (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 16.1. Links] - + Only one of the attributes @target and @cRef may be supplied on . @@ -4927,7 +4939,7 @@ attributes @target and @cRef may be supplied on . (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 16.1. Links] - + Only one of the attributes @target' and @cRef' may be supplied on @@ -5413,6 +5425,25 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5423,6 +5454,25 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5464,6 +5514,25 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5484,6 +5553,25 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. @@ -5511,6 +5599,25 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5680,7 +5787,7 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho - + If the @target attribute on is used, the @@ -5714,7 +5821,7 @@ relatedItem element must be empty - + Abstract model violation: Lines may not contain lines or lg elements. @@ -5762,13 +5869,13 @@ relatedItem element must be empty - + An lg element must contain at least one child l, lg, or gap element. - + Abstract model violation: Lines may not contain line groups. @@ -6045,6 +6152,25 @@ Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6055,6 +6181,25 @@ Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6065,6 +6210,25 @@ Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6180,6 +6344,25 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6217,6 +6400,25 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6364,7 +6566,7 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] - (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] @@ -6452,7 +6654,7 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] - + On , either the @marks attribute should be used, or a paragraph of description provided @@ -6720,12 +6922,12 @@ Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after(match) supplies an XPath selection pattern using the syntax defined in which identifies a set of nodes which are citable structural components. The expression may be absolute (beginning with `/`) or relative. @match on a <citeStructure> without a <citeStructure> parent must be an absolute XPath. If it is relative, its context is set by the @match of the parent <citeStructure>. - + An XPath in @match on the outer must start with '/'. - + An XPath in @match must not start with '/' except on the outer . @@ -6872,6 +7074,7 @@ Sample values include: 1] book; 2] chapter; 3] entry; 4] poem; 5] letter; 6] lin + @@ -6895,6 +7098,7 @@ Sample values include: 1] book; 2] chapter; 3] entry; 4] poem; 5] letter; 6] lin + @@ -6950,6 +7154,25 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6974,6 +7197,25 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6985,6 +7227,25 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + indicates a source unit of measure that is to be converted into another unit indicated in @toUnit. @@ -7029,6 +7290,25 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + supplies an identifier for the application, independent of its version number or display name. @@ -7087,6 +7367,25 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -7112,7 +7411,7 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr - (identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the language documented by this element, and which is referenced by the global @xml:lang attribute. + (identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the language documented by this element, and which may be referenced by the global @xml:lang attribute. @@ -7123,7 +7422,7 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr - specifies the approximate percentage (by volume) of the text which uses this language. + specifies the approximate percentage of the text which uses this language. @@ -7326,6 +7625,25 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + (target) points to one or more elements that belong to this change. @@ -7516,7 +7834,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 - + A facsimile element represents a text with images, thus @@ -7639,7 +7957,7 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (path) defines any line passing through two or more points within a <surface> element. [11.1. Digital Facsimiles 11.2.2. Embedded Transcription] - + @@ -7685,12 +8003,12 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (added span of text) marks the beginning of a longer sequence of text added by an author, scribe, annotator or corrector (see also <add>). [11.3.1.4. Additions and Deletions] - + The @spanTo attribute of is required. - + L'attribut spanTo est requis. @@ -7718,12 +8036,12 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (damaged span of text) marks the beginning of a longer sequence of text which is damaged in some way but still legible. [11.3.3.1. Damage, Illegibility, and Supplied Text] - + The @spanTo attribute of is required. - + L'attribut spanTo est requis. @@ -7739,12 +8057,12 @@ Sample values include: 1] glued; 2] pinned; 3] sewn (deleted span of text) marks the beginning of a longer sequence of text deleted, marked as deleted, or otherwise signaled as superfluous or spurious by an author, scribe, annotator, or corrector. [11.3.1.4. Additions and Deletions] - + The @spanTo attribute of is required. - + L'attribut spanTo est requis. @@ -7909,7 +8227,7 @@ Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNu - + must have at least one child add and at least one child del or surplus @@ -8694,6 +9012,8 @@ Suggested values include: 1] initial; 2] final + + @@ -8979,14 +9299,14 @@ Suggested values include: 1] initial; 2] final - + Abstract model violation: Lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. - + Abstract model violation: p and ab may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. @@ -9744,6 +10064,7 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat + @@ -9966,7 +10287,7 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (link) defines an association or hypertextual link among elements or passages, of some type not more precisely specifiable by other elements. [16.1. Links] - + You must supply at least two values for @target or on @@ -10001,7 +10322,7 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (anonymous block) contains any component-level unit of text, acting as a container for phrase or inter level elements analogous to, but without the same constraints as, a paragraph. [16.3. Blocks, Segments, and Anchors] - + Abstract model violation: Lines may not contain higher-level divisions such as p or ab, unless ab is a child of figure or note, or is a descendant of floatingText. @@ -10169,7 +10490,7 @@ Suggested values include: 1] d (days); 2] h (hours); 3] min (minutes); 4] s (sec - + You must supply at least two values for @target on @@ -10315,7 +10636,7 @@ You must supply at least two values for @target on - + This element must have a @type attribute, since it is diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index 9cdb14b81..e2cf68fb8 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -166,7 +166,8 @@

    div7 divGen education - event + event + eventName faith figure floatingText @@ -192,7 +193,7 @@

    listBibl listChange listEvent - listNym + listNym listObject listOrg listPerson @@ -210,9 +211,9 @@

    note noteGrp num - nym - object - objectName + nym + object + objectName occupation offset org @@ -292,7 +293,7 @@

    @@ -832,7 +833,7 @@

    Declaración

    @@ -1095,11 +1096,11 @@

    namesdates: climate - event + event langKnowledge listRelation - nym - object + nym + object occupation org person @@ -1243,13 +1244,14 @@

    climate country district + eventName forename genName geo geogFeat geogName listEvent - listNym + listNym listObject listOrg listPerson @@ -1257,7 +1259,7 @@

    listRelation location nameLink - objectName + objectName offset orgName persName @@ -1288,7 +1290,7 @@

    Ejemplo

    @@ -1346,7 +1348,7 @@

    Declaración

    @@ -1722,6 +1724,7 @@

    death district education + eventName faith floruit forename @@ -1732,7 +1735,7 @@

    langKnown nameLink nationality - objectName + objectName occupation offset orgName @@ -1893,13 +1896,14 @@

    climate country district + eventName forename genName geo geogFeat geogName listEvent - listNym + listNym listObject listOrg listPerson @@ -1907,7 +1911,7 @@

    listRelation location nameLink - objectName + objectName offset orgName persName @@ -1949,7 +1953,7 @@

    Ejemplo

    @@ -1979,7 +1983,7 @@

    Declaración

    @@ -2230,6 +2234,15 @@

    provides attributes that may be used to supply a canonical referenceas a means of identifying the target of a pointer. +

    + + + 13.3.7. Names and Nyms] + + + + 13.3.7. Names and Nyms] + 13.3.6. Objects] + 13.3.7. Names and Nyms] + 13.3.6. Objects] + 13.3.6. Objects] + 13.2.5. Object Names] diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index f6b62ba54..7dbff0aef 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -351,86 +351,7 @@ att.datable.attributes = att.datable.w3c.attributes, att.datable.iso.attributes, att.datable.custom.attributes, - att.datable.attribute.calendar, att.datable.attribute.period -att.datable.attribute.calendar = - - ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. - attribute calendar { - list { - xsd:anyURI { pattern = "\S+" }+ - } - }? -sch:pattern [ - id = - "test15-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:*[@calendar]" - "\x{a}" ~ - " " - sch:assert [ - test = "string-length( normalize-space(.) ) gt 0" - " @calendar indicates one or more\x{a}" ~ - " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ - " but this " - sch:name [ ] - " element has no textual content." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] -sch:pattern [ - id = - "test15-att.datable-calendar-calendar-deprecated-constraint-rule-5" - "\x{a}" ~ - " " - sch:rule [ - context = - "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" - "\x{a}" ~ - " " - sch:let [ - name = "me_phrase" - value = "concat( 'Attribute calendar on ', local-name(.))" - ] - "\x{a}" ~ - " " - sch:assert [ - test = "'2024-11-11' cast as xs:date ge current-date()" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - sch:report [ - role = "nonfatal" - test = "@calendar" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] att.datable.attribute.period = [ a:documentation [ @@ -680,7 +601,7 @@ att.global.source.attribute.source = }? sch:pattern [ id = - "test15-att.global.source-source-only_1_ODD_source-constraint-rule-6" + "test15-att.global.source-source-only_1_ODD_source-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -969,7 +890,7 @@ att.measurement.attribute.commodity = }? sch:pattern [ id = - "test15-att.measurement-att-measurement-unitRef-constraint-rule-7" + "test15-att.measurement-att-measurement-unitRef-constraint-rule-5" "\x{a}" ~ " " sch:rule [ @@ -1075,7 +996,7 @@ att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "test15-att.typed-subtypeTyped-constraint-rule-8" + id = "test15-att.typed-subtypeTyped-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -1118,7 +1039,7 @@ att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "test15-att.pointing-targetLang-targetLang-constraint-rule-9" + id = "test15-att.pointing-targetLang-targetLang-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1239,7 +1160,7 @@ att.spanning.attribute.spanTo = }? sch:pattern [ id = - "test15-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" + "test15-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1295,7 +1216,7 @@ att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "test15-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" + "test15-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1917,6 +1838,7 @@ model.nameLike = | rs | idno | model.persNamePart + | eventName | objectName model.nameLike_alternation = model.nameLike.agent_alternation @@ -1925,6 +1847,7 @@ model.nameLike_alternation = | rs | idno | model.persNamePart_alternation + | eventName | objectName model.nameLike_sequence = model.nameLike.agent_sequence, @@ -1933,6 +1856,7 @@ model.nameLike_sequence = rs, idno, model.persNamePart_sequence, + eventName, objectName model.nameLike_sequenceOptional = model.nameLike.agent_sequenceOptional?, @@ -1941,6 +1865,7 @@ model.nameLike_sequenceOptional = rs?, idno?, model.persNamePart_sequenceOptional?, + eventName?, objectName? model.nameLike_sequenceOptionalRepeatable = model.nameLike.agent_sequenceOptionalRepeatable*, @@ -1949,6 +1874,7 @@ model.nameLike_sequenceOptionalRepeatable = rs*, idno*, model.persNamePart_sequenceOptionalRepeatable*, + eventName*, objectName* model.nameLike_sequenceRepeatable = model.nameLike.agent_sequenceRepeatable+, @@ -1957,6 +1883,7 @@ model.nameLike_sequenceRepeatable = rs+, idno+, model.persNamePart_sequenceRepeatable+, + eventName+, objectName+ model.global = model.global.meta @@ -2152,6 +2079,37 @@ att.personal.attribute.sort = ## (sort) specifies the sort order of the name component in relation to others within the name. attribute sort { xsd:nonNegativeInteger }? model.placeLike = place +att.calendarSystem.attributes = att.calendarSystem.attribute.calendar +att.calendarSystem.attribute.calendar = + + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }? +sch:pattern [ + id = "test15-att.calendarSystem-calendar-calendar-constraint-rule-10" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] att.milestoneUnit.attributes = att.milestoneUnit.attribute.unit att.milestoneUnit.attribute.unit = @@ -2216,7 +2174,7 @@ p = macro.paraContent >> sch:pattern [ id = - "test15-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" + "test15-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2238,7 +2196,7 @@ p = ] >> sch:pattern [ id = - "test15-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" + "test15-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2419,7 +2377,7 @@ desc = macro.limitedContent >> sch:pattern [ id = - "test15-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" + "test15-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2507,7 +2465,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test15-rt-target-rt-target-not-span-constraint-report-9" + id = "test15-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2531,7 +2489,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test15-rt-from-rt-from-constraint-assert-8" + id = "test15-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ " " sch:rule [ @@ -2557,7 +2515,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test15-rt-to-rt-to-constraint-assert-9" + id = "test15-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2743,6 +2701,36 @@ name = att.datable.attributes, att.editLike.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-name-calendar-calendar-check-name-constraint-rule-12" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } rs = @@ -2865,6 +2853,7 @@ date = att.global.attributes, att.canonical.attributes, att.datable.attributes, + att.calendarSystem.attributes, att.editLike.attributes, att.dimensions.attributes, att.typed.attributes, @@ -2877,6 +2866,7 @@ time = (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.datable.attributes, + att.calendarSystem.attributes, att.canonical.attributes, att.editLike.attributes, att.dimensions.attributes, @@ -2913,7 +2903,7 @@ ptr = element ptr { empty >> sch:pattern [ - id = "test15-ptr-ptrAtts-constraint-report-10" + id = "test15-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2947,7 +2937,7 @@ ref = element ref { macro.paraContent >> sch:pattern [ - id = "test15-ref-refAtts-constraint-report-11" + id = "test15-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3304,6 +3294,36 @@ author = att.global.attributes, att.naming.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-author-calendar-calendar-check-author-constraint-rule-14" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } editor = @@ -3314,6 +3334,36 @@ editor = att.global.attributes, att.naming.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-editor-calendar-calendar-check-editor-constraint-rule-15" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } respStmt = @@ -3334,6 +3384,36 @@ resp = att.global.attributes, att.canonical.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-resp-calendar-calendar-check-resp-constraint-rule-16" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } title = @@ -3351,6 +3431,36 @@ title = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-title-calendar-calendar-check-title-constraint-rule-17" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. attribute level { @@ -3380,6 +3490,36 @@ meeting = att.global.attributes, att.datable.attributes, att.canonical.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-meeting-calendar-calendar-check-meeting-constraint-rule-18" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } imprint = @@ -3477,7 +3617,7 @@ relatedItem = element relatedItem { ((model.biblLike | model.ptrLike)?) >> sch:pattern [ - id = "test15-relatedItem-targetorcontent1-constraint-report-12" + id = "test15-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3521,7 +3661,7 @@ l = ((text | model.gLike | model.phrase | model.inter | model.global)*) >> sch:pattern [ id = - "test15-l-abstractModel-structure-l-in-l-constraint-report-13" + "test15-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3563,7 +3703,7 @@ lg = | lg)*, (model.divBottom, model.global*)*) >> sch:pattern [ - id = "test15-lg-atleast1oflggapl-constraint-assert-12" + id = "test15-lg-atleast1oflggapl-constraint-assert-17" "\x{a}" ~ " " sch:rule [ @@ -3584,7 +3724,7 @@ lg = ] >> sch:pattern [ id = - "test15-lg-abstractModel-structure-lg-in-l-constraint-report-14" + "test15-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3799,6 +3939,36 @@ sponsor = att.global.attributes, att.canonical.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-sponsor-calendar-calendar-check-sponsor-constraint-rule-19" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } funder = @@ -3809,6 +3979,36 @@ funder = att.global.attributes, att.canonical.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-funder-calendar-calendar-check-funder-constraint-rule-20" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } principal = @@ -3819,7 +4019,37 @@ principal = att.global.attributes, att.canonical.attributes, att.datable.attributes, - empty + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-principal-calendar-calendar-check-principal-constraint-rule-21" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty } editionStmt = @@ -3918,6 +4148,36 @@ idno = "OCLC" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-idno-calendar-calendar-check-idno-constraint-rule-22" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } availability = @@ -3950,6 +4210,36 @@ licence = att.global.attributes, att.pointing.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-licence-calendar-calendar-check-licence-constraint-rule-23" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } seriesStmt = @@ -4028,7 +4318,7 @@ projectDesc = } samplingDecl = - ## (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + ## (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] element samplingDecl { model.pLike+, att.global.attributes, @@ -4106,7 +4396,7 @@ quotation = element quotation { (model.pLike*) >> sch:pattern [ - id = "test15-quotation-quotationContents-constraint-report-15" + id = "test15-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4357,7 +4647,7 @@ citeStructure = attribute match { text } >> sch:pattern [ id = - "test15-citeStructure-match-citestructure-outer-match-constraint-rule-14" + "test15-citeStructure-match-citestructure-outer-match-constraint-rule-24" "\x{a}" ~ " " sch:rule [ @@ -4378,7 +4668,7 @@ citeStructure = ] >> sch:pattern [ id = - "test15-citeStructure-match-citestructure-inner-match-constraint-rule-15" + "test15-citeStructure-match-citestructure-inner-match-constraint-rule-25" "\x{a}" ~ " " sch:rule [ @@ -4483,6 +4773,7 @@ taxonomy = | ((model.descLike | gloss)+, (category | taxonomy)*)) | (model.biblLike, (category | taxonomy)*)), att.global.attributes, + att.datcat.attributes, empty } category = @@ -4492,6 +4783,7 @@ category = ((catDesc+ | (model.descLike | gloss)*), category*), att.global.attributes, + att.datcat.attributes, empty } catDesc = @@ -4549,6 +4841,36 @@ unitDecl = att.canonical.attributes, att.datable.attributes, att.global.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-unitDecl-calendar-calendar-check-unitDecl-constraint-rule-26" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } unitDef = @@ -4560,6 +4882,36 @@ unitDef = att.datable.attributes, att.canonical.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-unitDef-calendar-calendar-check-unitDef-constraint-rule-27" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } conversion = @@ -4571,6 +4923,36 @@ conversion = att.datable.attributes, att.formula.attributes, att.locatable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-conversion-calendar-calendar-check-conversion-constraint-rule-28" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates a source unit of measure that is to be converted into another unit indicated in " @@ -4607,6 +4989,36 @@ application = att.global.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-application-calendar-calendar-check-application-constraint-rule-29" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies an identifier for the application, independent of its version number or display name. attribute ident { xsd:Name }, @@ -4640,6 +5052,36 @@ creation = (text | model.limitedPhrase | listChange)*, att.global.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-creation-calendar-calendar-check-creation-constraint-rule-30" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } langUsage = @@ -4661,7 +5103,7 @@ language = a:documentation [ "(identifier) Supplies a language code constructed as defined in " ns1:a [ href = "https://tools.ietf.org/html/bcp47" "BCP 47" ] - " which is used to identify the language documented by this element, and which is referenced by the global " + " which is used to identify the language documented by this element, and which may be referenced by the global " ns1:code [ "@xml:lang" ] " attribute." ] @@ -4673,7 +5115,7 @@ language = "") }, - ## specifies the approximate percentage (by volume) of the text which uses this language. + ## specifies the approximate percentage of the text which uses this language. attribute usage { xsd:nonNegativeInteger }?, empty } @@ -4832,6 +5274,36 @@ change = att.docStatus.attributes, att.global.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-change-calendar-calendar-check-change-constraint-rule-31" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (target) points to one or more elements that belong to this change. attribute target { @@ -4884,6 +5356,14 @@ TEI = >> sch:ns [ prefix = "rna" uri = "http://relaxng.org/ns/compatibility/annotations/1.0" + ] + >> sch:ns [ + prefix = "sch" + uri = "http://purl.oclc.org/dsdl/schematron" + ] + >> sch:ns [ + prefix = "sch1x" + uri = "http://www.ascc.net/xml/schematron" ], att.global.attributes, att.typed.attributes, @@ -4963,7 +5443,7 @@ floatingText = (model.divBottom, model.global*)*)?) >> sch:pattern [ id = - "test15-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" + "test15-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4985,7 +5465,7 @@ floatingText = ] >> sch:pattern [ id = - "test15-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" + "test15-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5324,6 +5804,7 @@ docDate = macro.phraseSeq, att.global.attributes, att.datable.attributes, + att.calendarSystem.attributes, empty } front = @@ -5432,7 +5913,7 @@ link = element link { empty >> sch:pattern [ - id = "test15-link-linkTargets3-constraint-assert-15" + id = "test15-link-linkTargets3-constraint-assert-31" "\x{a}" ~ " " sch:rule [ @@ -5473,7 +5954,7 @@ ab = macro.abContent >> sch:pattern [ id = - "test15-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" + "test15-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5649,7 +6130,7 @@ join = element join { ((model.descLike | model.certLike)*) >> sch:pattern [ - id = "test15-join-joinTargets3-constraint-assert-16" + id = "test15-join-joinTargets3-constraint-assert-32" "\x{a}" ~ " " sch:rule [ @@ -5797,7 +6278,7 @@ standOff = (model.standOffPart+) >> sch:pattern [ id = - "test15-standOff-nested_standOff_should_be_typed-constraint-assert-17" + "test15-standOff-nested_standOff_should_be_typed-constraint-assert-33" "\x{a}" ~ " " sch:rule [ @@ -6231,6 +6712,36 @@ orgName = att.editLike.attributes, att.personal.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-orgName-calendar-calendar-check-orgName-constraint-rule-32" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } persName = @@ -6243,6 +6754,36 @@ persName = att.editLike.attributes, att.personal.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-persName-calendar-calendar-check-persName-constraint-rule-33" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } surname = @@ -6311,28 +6852,118 @@ placeName = att.global.attributes, att.personal.attributes, att.typed.attributes, - empty - } -bloc = - - ## (bloc) contains the name of a geo-political unit consisting of two or more nation states or countries. [13.2.3. Place Names] - element bloc { - macro.phraseSeq, - att.global.attributes, - att.naming.attributes, - att.typed.attributes, - att.datable.attributes, - empty - } -country = - - ## (country) contains the name of a geo-political unit, such as a nation, country, colony, or commonwealth, larger than or administratively superior to a region and smaller than a bloc. [13.2.3. Place Names] - element country { - macro.phraseSeq, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-placeName-calendar-calendar-check-placeName-constraint-rule-34" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +bloc = + + ## (bloc) contains the name of a geo-political unit consisting of two or more nation states or countries. [13.2.3. Place Names] + element bloc { + macro.phraseSeq, att.global.attributes, att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-bloc-calendar-calendar-check-bloc-constraint-rule-35" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +country = + + ## (country) contains the name of a geo-political unit, such as a nation, country, colony, or commonwealth, larger than or administratively superior to a region and smaller than a bloc. [13.2.3. Place Names] + element country { + macro.phraseSeq, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-country-calendar-calendar-check-country-constraint-rule-36" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } region = @@ -6344,6 +6975,36 @@ region = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-region-calendar-calendar-check-region-constraint-rule-37" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } settlement = @@ -6355,6 +7016,36 @@ settlement = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-settlement-calendar-calendar-check-settlement-constraint-rule-38" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } district = @@ -6366,6 +7057,36 @@ district = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-district-calendar-calendar-check-district-constraint-rule-39" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } offset = @@ -6379,6 +7100,36 @@ offset = att.naming.attributes, att.typed.attributes, att.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-offset-calendar-calendar-check-offset-constraint-rule-40" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } geogName = @@ -6391,6 +7142,36 @@ geogName = att.global.attributes, att.naming.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-geogName-calendar-calendar-check-geogName-constraint-rule-41" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } geogFeat = @@ -6404,6 +7185,48 @@ geogFeat = att.naming.attributes, att.typed.attributes, att.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-geogFeat-calendar-calendar-check-geogFeat-constraint-rule-42" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +eventName = + + ## (name of an event) contains a proper noun or noun phrase used to refer to an event. [13.2.4. Event Names] + element eventName { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.personal.attributes, + att.typed.attributes, empty } affiliation = @@ -6422,6 +7245,36 @@ affiliation = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-affiliation-calendar-calendar-check-affiliation-constraint-rule-43" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } age = @@ -6440,6 +7293,36 @@ age = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-age-calendar-calendar-check-age-constraint-rule-44" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a numeric code representing the age or age group attribute value { xsd:nonNegativeInteger }?, @@ -6462,6 +7345,36 @@ birth = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-birth-calendar-calendar-check-birth-constraint-rule-45" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } climate = @@ -6477,6 +7390,36 @@ climate = att.editLike.attributes, att.naming.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-climate-calendar-calendar-check-climate-constraint-rule-46" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } death = @@ -6496,6 +7439,36 @@ death = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-death-calendar-calendar-check-death-constraint-rule-47" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } education = @@ -6514,24 +7487,88 @@ education = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-education-calendar-calendar-check-education-constraint-rule-48" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } event = - ## (event) contains data relating to any kind of significant event associated with a person, place, or organization. [13.3.1. Basic Principles] + ## (event) contains data relating to anything of significance that happens in time. [13.3.1. Basic Principles] element event { (idno*, model.headLike*, - (model.pLike+ | model.labelLike+), + (model.pLike+ | model.labelLike+ | eventName+), (model.noteLike | model.biblLike | linkGrp | link | idno | ptr)*, - event*), + (event | listEvent)*, + (model.personLike | listPerson)*, + (model.placeLike | listPlace)*, + model.objectLike*, + (relation | listRelation)*), att.global.attributes, att.datable.attributes, att.editLike.attributes, - att.typed.attributes, + att.locatable.attributes, att.naming.attributes, att.sortable.attributes, - att.locatable.attributes, + att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-event-calendar-calendar-check-event-constraint-rule-49" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } faith = @@ -6550,6 +7587,36 @@ faith = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-faith-calendar-calendar-check-faith-constraint-rule-50" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } floruit = @@ -6561,6 +7628,36 @@ floruit = att.datable.attributes, att.dimensions.attributes, att.editLike.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-floruit-calendar-calendar-check-floruit-constraint-rule-51" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } gender = @@ -6572,6 +7669,36 @@ gender = att.editLike.attributes, att.datable.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-gender-calendar-calendar-check-gender-constraint-rule-52" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a coded value for gender identity attribute value { @@ -6607,6 +7734,36 @@ langKnowledge = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-langKnowledge-calendar-calendar-check-langKnowledge-constraint-rule-53" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies one or more valid language tags for the languages specified attribute tags { @@ -6627,6 +7784,36 @@ langKnown = att.global.attributes, att.datable.attributes, att.editLike.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-langKnown-calendar-calendar-check-langKnown-constraint-rule-54" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a valid language tag for the language concerned. attribute tag { @@ -6663,7 +7850,7 @@ listEvent = (model.headLike*, desc*, (relation | listRelation)*, - (model.eventLike+, (relation | listRelation)*)+), + ((event | listEvent)+, (relation | listRelation)*)+), att.global.attributes, att.typed.attributes, att.declarable.attributes, @@ -6725,6 +7912,36 @@ location = att.typed.attributes, att.datable.attributes, att.editLike.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-location-calendar-calendar-check-location-constraint-rule-55" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } nationality = @@ -6743,6 +7960,36 @@ nationality = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-nationality-calendar-calendar-check-nationality-constraint-rule-56" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } occupation = @@ -6761,6 +8008,36 @@ occupation = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-occupation-calendar-calendar-check-occupation-constraint-rule-57" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates the classification system or taxonomy in use, for example by supplying the identifier of a " @@ -6944,6 +8221,36 @@ persPronouns = "trustedThirdParty" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-persPronouns-calendar-calendar-check-persPronouns-constraint-rule-58" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (value) supplies a regularized value for personal pronouns. ## Sample values include: 1] e (e); 2] he (he); 3] she (she); 4] they (they) @@ -6986,6 +8293,36 @@ population = att.naming.attributes, att.typed.attributes, att.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-population-calendar-calendar-check-population-constraint-rule-59" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } relation = @@ -6994,7 +8331,7 @@ relation = element relation { (desc?) >> sch:pattern [ - id = "test15-relation-reforkeyorname-constraint-assert-18" + id = "test15-relation-reforkeyorname-constraint-assert-62" "\x{a}" ~ " " sch:rule [ @@ -7012,7 +8349,7 @@ relation = " " ] >> sch:pattern [ - id = "test15-relation-activemutual-constraint-report-19" + id = "test15-relation-activemutual-constraint-report-18" "\x{a}" ~ " " sch:rule [ @@ -7030,7 +8367,7 @@ relation = " " ] >> sch:pattern [ - id = "test15-relation-activepassive-constraint-report-20" + id = "test15-relation-activepassive-constraint-report-19" "\x{a}" ~ " " sch:rule [ @@ -7053,6 +8390,36 @@ relation = att.canonical.attributes, att.sortable.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-relation-calendar-calendar-check-relation-constraint-rule-60" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a name for the kind of relationship of which this is an instance. attribute name { @@ -7097,6 +8464,36 @@ residence = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-residence-calendar-calendar-check-residence-constraint-rule-61" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } sex = @@ -7108,6 +8505,36 @@ sex = att.editLike.attributes, att.datable.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-sex-calendar-calendar-check-sex-constraint-rule-62" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a coded value for sex attribute value { @@ -7133,6 +8560,36 @@ socecStatus = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-socecStatus-calendar-calendar-check-socecStatus-constraint-rule-63" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "identifies the classification system or taxonomy in use, for example by pointing to a locally-defined " @@ -7170,6 +8627,36 @@ state = att.typed.attributes, att.naming.attributes, att.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-state-calendar-calendar-check-state-constraint-rule-64" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } terrain = @@ -7185,6 +8672,36 @@ terrain = att.editLike.attributes, att.naming.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-terrain-calendar-calendar-check-terrain-constraint-rule-65" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } trait = @@ -7202,11 +8719,41 @@ trait = att.naming.attributes, att.typed.attributes, att.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-trait-calendar-calendar-check-trait-constraint-rule-66" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } objectName = - ## (name of an object) contains a proper noun or noun phrase used to refer to an object. [13.2.4. Object Names] + ## (name of an object) contains a proper noun or noun phrase used to refer to an object. [13.2.5. Object Names] element objectName { macro.phraseSeq, att.datable.attributes, @@ -7214,15 +8761,45 @@ objectName = att.global.attributes, att.personal.attributes, att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test15-objectName-calendar-calendar-check-objectName-constraint-rule-67" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } object = - ## contains a description of a single identifiable physical object. [13.3.5. Objects] + ## contains a description of a single identifiable physical object. [13.3.6. Objects] element object { (objectIdentifier+, model.headLike*, - (model.pLike* | empty), + (model.pLike+ | empty*), (model.noteLike | model.biblLike | linkGrp | link)*, object*), att.global.attributes, @@ -7235,7 +8812,7 @@ object = } listObject = - ## (list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object. [13.3.5. Objects] + ## (list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object. [13.3.6. Objects] element listObject { (model.headLike*, desc*, @@ -7249,7 +8826,7 @@ listObject = } objectIdentifier = - ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.5. Objects] + ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.6. Objects] element objectIdentifier { (model.placeNamePart | idno | objectName | address)+, att.global.attributes, @@ -7257,7 +8834,7 @@ objectIdentifier = } nym = - ## (canonical name) contains the definition for a canonical name or name component of any kind. [13.3.6. Names and Nyms] + ## (canonical name) contains the definition for a canonical name or name component of any kind. [13.3.7. Names and Nyms] element nym { (idno*, model.entryPart*, model.pLike*, nym*), att.global.attributes, @@ -7274,7 +8851,7 @@ nym = } listNym = - ## (list of canonical names) contains a list of nyms, that is, standardized names for any thing. [13.3.6. Names and Nyms] + ## (list of canonical names) contains a list of nyms, that is, standardized names for any thing. [13.3.7. Names and Nyms] element listNym { (model.headLike*, desc*, diff --git a/Test/expected-results/test21.odd.rnc b/Test/expected-results/test21.odd.rnc index fdbc73a62..e8f82cff8 100644 --- a/Test/expected-results/test21.odd.rnc +++ b/Test/expected-results/test21.odd.rnc @@ -389,86 +389,7 @@ att.datable.attributes = att.datable.w3c.attributes, att.datable.iso.attributes, att.datable.custom.attributes, - att.datable.attribute.calendar, att.datable.attribute.period -att.datable.attribute.calendar = - - ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. - attribute calendar { - list { - xsd:anyURI { pattern = "\S+" }+ - } - }? -sch:pattern [ - id = - "test21-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:*[@calendar]" - "\x{a}" ~ - " " - sch:assert [ - test = "string-length( normalize-space(.) ) gt 0" - " @calendar indicates one or more\x{a}" ~ - " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ - " but this " - sch:name [ ] - " element has no textual content." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] -sch:pattern [ - id = - "test21-att.datable-calendar-calendar-deprecated-constraint-rule-5" - "\x{a}" ~ - " " - sch:rule [ - context = - "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" - "\x{a}" ~ - " " - sch:let [ - name = "me_phrase" - value = "concat( 'Attribute calendar on ', local-name(.))" - ] - "\x{a}" ~ - " " - sch:assert [ - test = "'2024-11-11' cast as xs:date ge current-date()" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - sch:report [ - role = "nonfatal" - test = "@calendar" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] att.datable.attribute.period = ## fournit un pointeur vers un emplacement donné définissant une période de temps nommée durant laquelle l'item concerné s'inscrit. @@ -525,7 +446,7 @@ att.datcat.attribute.targetDatcat = att.declarable.attributes = att.declarable.attribute.default att.declarable.attribute.default = - ## Indique si oui ou non cet élément est affecté par défaut quand son élément parent a été sélectionné. + ## indique si oui ou non cet élément est affecté par défaut quand son élément parent a été sélectionné. [ a:defaultValue = "false" ] attribute default { @@ -709,7 +630,7 @@ att.global.source.attribute.source = }? sch:pattern [ id = - "test21-att.global.source-source-only_1_ODD_source-constraint-rule-6" + "test21-att.global.source-source-only_1_ODD_source-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -841,7 +762,7 @@ att.handFeatures.attribute.medium = }? att.handFeatures.attribute.scope = - ## Spécifie la fréquence d'apparition de cette main dans le manuscrit. + ## spécifie la fréquence d'apparition de cette main dans le manuscrit. attribute scope { ## il n'y a que cette main dans le manuscrit. @@ -947,7 +868,7 @@ att.measurement.attribute.unit = ## (centimètre) "cm" | - ## (décibel) Voir remarques, ci-dessous. + ## (décibel) voir remarques, ci-dessous. "dB" | ## (kilobit) 10³ ou 1000 bits @@ -1000,7 +921,7 @@ att.measurement.attribute.commodity = }? sch:pattern [ id = - "test21-att.measurement-att-measurement-unitRef-constraint-rule-7" + "test21-att.measurement-att-measurement-unitRef-constraint-rule-5" "\x{a}" ~ " " sch:rule [ @@ -1116,7 +1037,7 @@ att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "test21-att.typed-subtypeTyped-constraint-rule-8" + id = "test21-att.typed-subtypeTyped-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -1159,7 +1080,7 @@ att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "test21-att.pointing-targetLang-targetLang-constraint-rule-9" + id = "test21-att.pointing-targetLang-targetLang-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1280,7 +1201,7 @@ att.spanning.attribute.spanTo = }? sch:pattern [ id = - "test21-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" + "test21-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1314,7 +1235,7 @@ att.styleDef.attribute.scheme = ## langage CSS (Cascading Stylesheet ) "css" | - ## Langage XSL (Extensible Stylesheet )Formatting Objects + ## langage XSL (Extensible Stylesheet )Formatting Objects "xslfo" | ## description en texte libre non structuré. @@ -1336,7 +1257,7 @@ att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "test21-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" + "test21-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -2253,6 +2174,7 @@ model.nameLike = | model.placeStateLike | rs | model.persNamePart + | eventName | objectName | idno model.nameLike_alternation = @@ -2261,6 +2183,7 @@ model.nameLike_alternation = | model.placeStateLike_alternation | rs | model.persNamePart_alternation + | eventName | objectName | idno model.nameLike_sequence = @@ -2269,6 +2192,7 @@ model.nameLike_sequence = model.placeStateLike_sequence, rs, model.persNamePart_sequence, + eventName, objectName, idno model.nameLike_sequenceOptional = @@ -2277,6 +2201,7 @@ model.nameLike_sequenceOptional = model.placeStateLike_sequenceOptional?, rs?, model.persNamePart_sequenceOptional?, + eventName?, objectName?, idno? model.nameLike_sequenceOptionalRepeatable = @@ -2285,6 +2210,7 @@ model.nameLike_sequenceOptionalRepeatable = model.placeStateLike_sequenceOptionalRepeatable*, rs*, model.persNamePart_sequenceOptionalRepeatable*, + eventName*, objectName*, idno* model.nameLike_sequenceRepeatable = @@ -2293,6 +2219,7 @@ model.nameLike_sequenceRepeatable = model.placeStateLike_sequenceRepeatable+, rs+, model.persNamePart_sequenceRepeatable+, + eventName+, objectName+, idno+ model.global = @@ -2494,6 +2421,37 @@ att.personal.attribute.sort = ## (ordre) précise dans quel ordre est placé la composante par rapport aux autres dans le nom d'une personne. attribute sort { xsd:nonNegativeInteger }? model.placeLike = place +att.calendarSystem.attributes = att.calendarSystem.attribute.calendar +att.calendarSystem.attribute.calendar = + + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }? +sch:pattern [ + id = "test21-att.calendarSystem-calendar-calendar-constraint-rule-10" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] att.milestoneUnit.attributes = att.milestoneUnit.attribute.unit att.milestoneUnit.attribute.unit = @@ -2561,7 +2519,7 @@ p = }*) >> sch:pattern [ id = - "test21-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" + "test21-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2583,7 +2541,7 @@ p = ] >> sch:pattern [ id = - "test21-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" + "test21-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2786,7 +2744,7 @@ desc = macro.limitedContent >> sch:pattern [ id = - "test21-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" + "test21-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2874,7 +2832,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test21-rt-target-rt-target-not-span-constraint-report-9" + id = "test21-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2898,7 +2856,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test21-rt-from-rt-from-constraint-assert-8" + id = "test21-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ " " sch:rule [ @@ -2924,7 +2882,7 @@ rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "test21-rt-to-rt-to-constraint-assert-9" + id = "test21-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -3110,6 +3068,36 @@ name = att.datable.attributes, att.editLike.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-name-calendar-calendar-check-name-constraint-rule-12" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } rs = @@ -3237,6 +3225,7 @@ date = att.global.attributes, att.canonical.attributes, att.datable.attributes, + att.calendarSystem.attributes, att.editLike.attributes, att.dimensions.attributes, att.typed.attributes, @@ -3249,6 +3238,7 @@ time = (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.datable.attributes, + att.calendarSystem.attributes, att.canonical.attributes, att.editLike.attributes, att.dimensions.attributes, @@ -3289,7 +3279,7 @@ ptr = element ptr { empty >> sch:pattern [ - id = "test21-ptr-ptrAtts-constraint-report-10" + id = "test21-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -3333,7 +3323,7 @@ ref = element ref { macro.paraContent >> sch:pattern [ - id = "test21-ref-refAtts-constraint-report-11" + id = "test21-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3686,20 +3676,94 @@ author = ## (auteur) dans une référence bibliographique contient le nom de la (des) personne(s) physique(s) ou du collectif, auteur(s) d'une oeuvre ; par exemple dans la même forme que celle utilisée par une référence bibliographique reconnue. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement] element author { - macro.phraseSeq, + macro.phraseSeq + >> sch:pattern [ + id = "test21-author-calendar-check-author-constraint-rule-14" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], att.global.attributes, att.naming.attribute.altname, att.naming.attribute.nymRef, att.canonical.attribute.key, att.canonical.attribute.ref, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-author-calendar-calendar-check-author-constraint-rule-15" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } editor = ## mention de responsabilité secondaire pour un item bibliographique, par exemple le nom d'une personne, d'une institution ou d'un organisme (ou de plusieurs d'entre eux) comme éditeur scientifique, compilateur, traducteur, etc. [3.12.2.2. Titles, Authors, and Editors] element editor { - macro.phraseSeq, + macro.phraseSeq + >> sch:pattern [ + id = "test21-editor-calendar-check-editor-constraint-rule-16" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], att.global.attributes, att.naming.attribute.altname, att.naming.attribute.nymRef, @@ -3718,6 +3782,36 @@ editor = "us")+ } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-editor-calendar-calendar-check-editor-constraint-rule-17" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } respStmt = @@ -3738,17 +3832,99 @@ resp = att.global.attributes, att.canonical.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-resp-calendar-calendar-check-resp-constraint-rule-18" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } title = ## (titre) contient le titre complet d'une oeuvre quelconque [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement] element title { - (text | hi)*, + ((text | hi)*) + >> sch:pattern [ + id = "test21-title-calendar-check-title-constraint-rule-19" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], att.global.attribute.xmlid, att.global.attribute.xmllang, att.canonical.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-title-calendar-calendar-check-title-constraint-rule-20" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## indique le niveau bibliographique d'un titre, c'est-à-dire si ce titre identifie un article, un livre, une revue, une collection, ou un document non publié attribute level { @@ -3778,21 +3954,51 @@ meeting = att.global.attributes, att.datable.attributes, att.canonical.attributes, - empty - } -imprint = - - ## regroupe des informations relatives à la publication ou à la distribution d'un élément bibliographique. [3.12.2.4. Imprint, Size of a Document, and Reprint Information] - element imprint { - ((classCode | catRef)*, - ((model.imprintPart | model.dateLike), respStmt*, model.global*)+), - att.global.attributes, - empty - } -publisher = - - ## (éditeur) donne le nom de l'organisme responsable de la publication ou de la distribution d'un élément de la bibliographie. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 2.2.4. Publication, Distribution, Licensing, etc.] - element publisher { + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-meeting-calendar-calendar-check-meeting-constraint-rule-21" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +imprint = + + ## regroupe des informations relatives à la publication ou à la distribution d'un élément bibliographique. [3.12.2.4. Imprint, Size of a Document, and Reprint Information] + element imprint { + ((classCode | catRef)*, + ((model.imprintPart | model.dateLike), respStmt*, model.global*)+), + att.global.attributes, + empty + } +publisher = + + ## (éditeur) donne le nom de l'organisme responsable de la publication ou de la distribution d'un élément de la bibliographie. [3.12.2.4. Imprint, Size of a Document, and Reprint Information 2.2.4. Publication, Distribution, Licensing, etc.] + element publisher { macro.phraseSeq, att.global.attributes, att.canonical.attributes, @@ -3875,7 +4081,7 @@ relatedItem = element relatedItem { ((model.biblLike | model.ptrLike)?) >> sch:pattern [ - id = "test21-relatedItem-targetorcontent1-constraint-report-12" + id = "test21-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3919,7 +4125,7 @@ l = ((text | model.gLike | model.phrase | model.inter | model.global)*) >> sch:pattern [ id = - "test21-l-abstractModel-structure-l-in-l-constraint-report-13" + "test21-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3961,7 +4167,7 @@ lg = | lg)*, (model.divBottom, model.global*)*) >> sch:pattern [ - id = "test21-lg-atleast1oflggapl-constraint-assert-12" + id = "test21-lg-atleast1oflggapl-constraint-assert-20" "\x{a}" ~ " " sch:rule [ @@ -3982,7 +4188,7 @@ lg = ] >> sch:pattern [ id = - "test21-lg-abstractModel-structure-lg-in-l-constraint-report-14" + "test21-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -4319,7 +4525,7 @@ att.datable.iso.attribute.notAfter-iso = }? att.datable.iso.attribute.from-iso = - ## Indique le point de départ de la période sous une forme normalisée + ## indique le point de départ de la période sous une forme normalisée attribute from-iso { xsd:date | xsd:gYear @@ -4333,7 +4539,7 @@ att.datable.iso.attribute.from-iso = }? att.datable.iso.attribute.to-iso = - ## Indique le point final de la période sous une forme normalisée + ## indique le point final de la période sous une forme normalisée attribute to-iso { xsd:date | xsd:gYear @@ -4355,6 +4561,36 @@ orgName = att.editLike.attributes, att.personal.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-orgName-calendar-calendar-check-orgName-constraint-rule-22" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } persName = @@ -4367,6 +4603,36 @@ persName = att.editLike.attributes, att.personal.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-persName-calendar-calendar-check-persName-constraint-rule-23" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } surname = @@ -4429,7 +4695,30 @@ placeName = ## (nom de lieu) contient un nom de lieu absolu ou relatif. [13.2.3. Place Names] element placeName { - macro.phraseSeq, + macro.phraseSeq + >> sch:pattern [ + id = + "test21-placeName-calendar-check-placeName-constraint-rule-24" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], att.datable.attributes, att.editLike.attributes, att.global.attributes, @@ -4438,6 +4727,36 @@ placeName = ## alternative attribute alt { text }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-placeName-calendar-calendar-check-placeName-constraint-rule-25" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } bloc = @@ -4449,6 +4768,36 @@ bloc = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-bloc-calendar-calendar-check-bloc-constraint-rule-26" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } country = @@ -4460,6 +4809,36 @@ country = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-country-calendar-calendar-check-country-constraint-rule-27" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } region = @@ -4471,6 +4850,36 @@ region = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-region-calendar-calendar-check-region-constraint-rule-28" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } settlement = @@ -4482,6 +4891,36 @@ settlement = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-settlement-calendar-calendar-check-settlement-constraint-rule-29" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } district = @@ -4493,6 +4932,36 @@ district = att.naming.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-district-calendar-calendar-check-district-constraint-rule-30" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } offset = @@ -4506,6 +4975,36 @@ offset = att.naming.attributes, att.typed.attributes, att.dimensions.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-offset-calendar-calendar-check-offset-constraint-rule-31" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } geogName = @@ -4518,21 +5017,93 @@ geogName = att.global.attributes, att.naming.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-geogName-calendar-calendar-check-geogName-constraint-rule-32" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +geogFeat = + + ## (nom de caractéristique géographique) contient un nom commun identifiant une caractéristique géographique contenue dans un nom de lieu, comme vallée, mont, etc. [13.2.3. Place Names] + element geogFeat { + macro.phraseSeq, + att.datable.attributes, + att.editLike.attributes, + att.global.attributes, + att.naming.attributes, + att.typed.attributes, + att.dimensions.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-geogFeat-calendar-calendar-check-geogFeat-constraint-rule-33" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +eventName = + + ## (name of an event) contains a proper noun or noun phrase used to refer to an event. [13.2.4. Event Names] + element eventName { + macro.phraseSeq, + att.global.attributes, + att.datable.attributes, + att.editLike.attributes, + att.personal.attributes, + att.typed.attributes, empty } -geogFeat = - - ## (nom de caractéristique géographique) contient un nom commun identifiant une caractéristique géographique contenue dans un nom de lieu, comme vallée, mont, etc. [13.2.3. Place Names] - element geogFeat { - macro.phraseSeq, - att.datable.attributes, - att.editLike.attributes, - att.global.attributes, - att.naming.attributes, - att.typed.attributes, - att.dimensions.attributes, - empty - } affiliation = ## (affiliation) contient une description non formalisée portant sur l'affiliation présente ou passée d'une personne à une organisation, par exemple un employeur ou un sponsor. [15.2.2. The Participant Description] @@ -4549,6 +5120,36 @@ affiliation = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-affiliation-calendar-calendar-check-affiliation-constraint-rule-34" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } age = @@ -4567,6 +5168,36 @@ age = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-age-calendar-calendar-check-age-constraint-rule-35" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## fournit un code numérique représentant l'âge ou la tranche d'âge. attribute value { xsd:nonNegativeInteger }?, @@ -4589,6 +5220,36 @@ birth = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-birth-calendar-calendar-check-birth-constraint-rule-36" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } climate = @@ -4604,6 +5265,36 @@ climate = att.editLike.attributes, att.naming.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-climate-calendar-calendar-check-climate-constraint-rule-37" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } death = @@ -4623,6 +5314,36 @@ death = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-death-calendar-calendar-check-death-constraint-rule-38" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } education = @@ -4641,24 +5362,88 @@ education = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-education-calendar-calendar-check-education-constraint-rule-39" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } event = - ## (évènement) contient des données liées à tout type d'évènement significatif dans l'existence d'une personne, d'un lieu ou d'une organisation. [13.3.1. Basic Principles] + ## (évènement) contient des données liées à tout type d'évènement significatif dans l'existence d'une personne, d'un lieu, d'un objet ou d'une organisation. [13.3.1. Basic Principles] element event { (idno*, model.headLike*, - (model.pLike+ | model.labelLike+), + (model.pLike+ | model.labelLike+ | eventName+), (model.noteLike | model.biblLike | linkGrp | link | idno | ptr)*, - event*), + (event | listEvent)*, + (model.personLike | listPerson)*, + (model.placeLike | listPlace)*, + model.objectLike*, + (relation | listRelation)*), att.global.attributes, att.datable.attributes, att.editLike.attributes, - att.typed.attributes, + att.locatable.attributes, att.naming.attributes, att.sortable.attributes, - att.locatable.attributes, + att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-event-calendar-calendar-check-event-constraint-rule-40" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } faith = @@ -4677,6 +5462,36 @@ faith = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-faith-calendar-calendar-check-faith-constraint-rule-41" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } floruit = @@ -4688,6 +5503,36 @@ floruit = att.datable.attributes, att.dimensions.attributes, att.editLike.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-floruit-calendar-calendar-check-floruit-constraint-rule-42" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } gender = @@ -4699,6 +5544,36 @@ gender = att.editLike.attributes, att.datable.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-gender-calendar-calendar-check-gender-constraint-rule-43" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a coded value for gender identity attribute value { @@ -4734,6 +5609,36 @@ langKnowledge = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-langKnowledge-calendar-calendar-check-langKnowledge-constraint-rule-44" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## fournit un ou plusieurs codes de langue valides pour les langues spécifiées. attribute tags { @@ -4754,6 +5659,36 @@ langKnown = att.global.attributes, att.datable.attributes, att.editLike.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-langKnown-calendar-calendar-check-langKnown-constraint-rule-45" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## fournit un code de langue valide pour la langue concernée. attribute tag { @@ -4790,7 +5725,7 @@ listEvent = (model.headLike*, desc*, (relation | listRelation)*, - (model.eventLike+, (relation | listRelation)*)+), + ((event | listEvent)+, (relation | listRelation)*)+), att.global.attributes, att.typed.attributes, att.declarable.attributes, @@ -4852,6 +5787,36 @@ location = att.typed.attributes, att.datable.attributes, att.editLike.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-location-calendar-calendar-check-location-constraint-rule-46" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } nationality = @@ -4870,6 +5835,36 @@ nationality = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-nationality-calendar-calendar-check-nationality-constraint-rule-47" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } occupation = @@ -4888,6 +5883,36 @@ occupation = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-occupation-calendar-calendar-check-occupation-constraint-rule-48" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "identifie le système de classification ou la taxinomie utilisés, en fournissant l'identifiant d'un élément " @@ -5076,6 +6101,36 @@ persPronouns = "trustedThirdParty" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-persPronouns-calendar-calendar-check-persPronouns-constraint-rule-49" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (value) supplies a regularized value for personal pronouns. ## Sample values include: 1] e (e); 2] he (he); 3] she (she); 4] they (they) @@ -5118,6 +6173,36 @@ population = att.naming.attributes, att.typed.attributes, att.dimensions.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-population-calendar-calendar-check-population-constraint-rule-50" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } relation = @@ -5126,7 +6211,7 @@ relation = element relation { (desc?) >> sch:pattern [ - id = "test21-relation-reforkeyorname-constraint-assert-13" + id = "test21-relation-reforkeyorname-constraint-assert-50" "\x{a}" ~ " " sch:rule [ @@ -5144,7 +6229,7 @@ relation = " " ] >> sch:pattern [ - id = "test21-relation-activemutual-constraint-report-15" + id = "test21-relation-activemutual-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -5162,7 +6247,7 @@ relation = " " ] >> sch:pattern [ - id = "test21-relation-activepassive-constraint-report-16" + id = "test21-relation-activepassive-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -5185,6 +6270,36 @@ relation = att.canonical.attributes, att.sortable.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-relation-calendar-calendar-check-relation-constraint-rule-51" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## fournit un nom pour le type de relation dont elle est une instance. attribute name { @@ -5229,6 +6344,36 @@ residence = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-residence-calendar-calendar-check-residence-constraint-rule-52" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } sex = @@ -5240,6 +6385,36 @@ sex = att.editLike.attributes, att.datable.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-sex-calendar-calendar-check-sex-constraint-rule-53" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a coded value for sex attribute value { @@ -5265,6 +6440,36 @@ socecStatus = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-socecStatus-calendar-calendar-check-socecStatus-constraint-rule-54" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## identifie le système de classification ou la taxinomie utilisés. attribute scheme { @@ -5297,6 +6502,36 @@ state = att.typed.attributes, att.naming.attributes, att.dimensions.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-state-calendar-calendar-check-state-constraint-rule-55" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } terrain = @@ -5312,6 +6547,36 @@ terrain = att.editLike.attributes, att.naming.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-terrain-calendar-calendar-check-terrain-constraint-rule-56" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } trait = @@ -5329,11 +6594,41 @@ trait = att.naming.attributes, att.typed.attributes, att.dimensions.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-trait-calendar-calendar-check-trait-constraint-rule-57" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } objectName = - ## (name of an object) contains a proper noun or noun phrase used to refer to an object. [13.2.4. Object Names] + ## (name of an object) contains a proper noun or noun phrase used to refer to an object. [13.2.5. Object Names] element objectName { macro.phraseSeq, att.datable.attributes, @@ -5341,15 +6636,45 @@ objectName = att.global.attributes, att.personal.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-objectName-calendar-calendar-check-objectName-constraint-rule-58" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } object = - ## contains a description of a single identifiable physical object. [13.3.5. Objects] + ## contains a description of a single identifiable physical object. [13.3.6. Objects] element object { (objectIdentifier+, model.headLike*, - (model.pLike* | (msContents?, physDesc?, history?, additional?)), + (model.pLike+ | (msContents | physDesc | history | additional)*), (model.noteLike | model.biblLike | linkGrp | link)*, object*), att.global.attributes, @@ -5362,7 +6687,7 @@ object = } listObject = - ## (list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object. [13.3.5. Objects] + ## (list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object. [13.3.6. Objects] element listObject { (model.headLike*, desc*, @@ -5376,7 +6701,7 @@ listObject = } objectIdentifier = - ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.5. Objects] + ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.6. Objects] element objectIdentifier { (model.placeNamePart | institution @@ -5392,7 +6717,7 @@ objectIdentifier = } nym = - ## (nom canonique) contient la définition de tout nom ou partie de nom dans leur forme canonique. [13.3.6. Names and Nyms] + ## (nom canonique) contient la définition de tout nom ou partie de nom dans leur forme canonique. [13.3.7. Names and Nyms] element nym { (idno*, model.entryPart*, model.pLike*, nym*), att.global.attributes, @@ -5409,7 +6734,7 @@ nym = } listNym = - ## (liste de noms canoniques) contient une liste de noms normalisés pour tous types d'objets. [13.3.6. Names and Nyms] + ## (liste de noms canoniques) contient une liste de noms normalisés pour tous types d'objets. [13.3.7. Names and Nyms] element listNym { (model.headLike*, desc*, @@ -5478,6 +6803,36 @@ sponsor = att.global.attributes, att.canonical.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-sponsor-calendar-calendar-check-sponsor-constraint-rule-59" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } funder = @@ -5488,6 +6843,36 @@ funder = att.global.attributes, att.canonical.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-funder-calendar-calendar-check-funder-constraint-rule-60" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } principal = @@ -5498,6 +6883,36 @@ principal = att.global.attributes, att.canonical.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-principal-calendar-calendar-check-principal-constraint-rule-61" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } editionStmt = @@ -5597,6 +7012,36 @@ idno = "OCLC" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-idno-calendar-calendar-check-idno-constraint-rule-62" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } availability = @@ -5610,10 +7055,10 @@ availability = ## (status) donne un code caractérisant la disponibilité actuelle d’un texte. attribute status { - ## (free) Le texte est libre de droits. + ## (free) le texte est libre de droits. "free" | - ## (unknown) Le statut du texte est inconnu. + ## (unknown) le statut du texte est inconnu. "unknown" | ## (restricted) le texte est sous droits. @@ -5629,6 +7074,36 @@ licence = att.global.attributes, att.pointing.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-licence-calendar-calendar-check-licence-constraint-rule-63" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } seriesStmt = @@ -5785,7 +7260,7 @@ quotation = element quotation { (model.pLike*) >> sch:pattern [ - id = "test21-quotation-quotationContents-constraint-report-17" + id = "test21-quotation-quotationContents-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -6031,7 +7506,7 @@ citeStructure = attribute match { text } >> sch:pattern [ id = - "test21-citeStructure-match-citestructure-outer-match-constraint-rule-14" + "test21-citeStructure-match-citestructure-outer-match-constraint-rule-64" "\x{a}" ~ " " sch:rule [ @@ -6052,7 +7527,7 @@ citeStructure = ] >> sch:pattern [ id = - "test21-citeStructure-match-citestructure-inner-match-constraint-rule-15" + "test21-citeStructure-match-citestructure-inner-match-constraint-rule-65" "\x{a}" ~ " " sch:rule [ @@ -6141,7 +7616,7 @@ refState = ## spécifie la longueur fixe du composant de la référence. attribute length { xsd:nonNegativeInteger }?, - ## (délimiteur) Fournit une suite de caractères de délimitation après le composant de référence. + ## (délimiteur) fournit une suite de caractères de délimitation après le composant de référence. attribute delim { xsd:string }?, empty } @@ -6157,6 +7632,7 @@ taxonomy = | ((model.descLike | gloss)+, (category | taxonomy)*)) | (model.biblLike, (category | taxonomy)*)), att.global.attributes, + att.datcat.attributes, empty } category = @@ -6166,6 +7642,7 @@ category = ((catDesc+ | (model.descLike | gloss)*), category*), att.global.attributes, + att.datcat.attributes, empty } catDesc = @@ -6204,13 +7681,13 @@ geoDecl = "WGS84" | ## (Système de Référence du Réseau Militaire, - ## (MGRS).) Les valeurs fournies sont des codes objet d'entités geospatiales, fondées sur les coordonnées de la grille de projection transversale universelle de Mercator, (UTM). + ## (MGRS).) les valeurs fournies sont des codes objet d'entités geospatiales, fondées sur les coordonnées de la grille de projection transversale universelle de Mercator, (UTM). "MGRS" | ## (Système de coordonnées de Grande-Bretagne (OSGB) ) la valeur fournie est à interpréter selon le système "British national grid reference". "OSGB36" | - ## (système de coordonnées de données européen.) La valeur fournie doit être interprétée comme la latitude suivie de la longitude selon le système de coordonnées de données européen. + ## (système de coordonnées de données européen.) la valeur fournie doit être interprétée comme la latitude suivie de la longitude selon le système de coordonnées de données européen. "ED50" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, @@ -6224,6 +7701,36 @@ unitDecl = att.canonical.attributes, att.datable.attributes, att.global.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-unitDecl-calendar-calendar-check-unitDecl-constraint-rule-66" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } unitDef = @@ -6235,6 +7742,36 @@ unitDef = att.datable.attributes, att.canonical.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-unitDef-calendar-calendar-check-unitDef-constraint-rule-67" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } conversion = @@ -6246,6 +7783,36 @@ conversion = att.datable.attributes, att.formula.attributes, att.locatable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-conversion-calendar-calendar-check-conversion-constraint-rule-68" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates a source unit of measure that is to be converted into another unit indicated in " @@ -6282,6 +7849,36 @@ application = att.global.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-application-calendar-calendar-check-application-constraint-rule-69" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## fournit un identifiant pour l'application, indépendamment de son numéro de version ou du nom affiché. attribute ident { xsd:Name }, @@ -6324,6 +7921,36 @@ creation = (text | model.limitedPhrase | listChange)*, att.global.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-creation-calendar-calendar-check-creation-constraint-rule-70" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } langUsage = @@ -6501,6 +8128,36 @@ change = att.docStatus.attributes, att.global.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-change-calendar-calendar-check-change-constraint-rule-71" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (target) points to one or more elements that belong to this change. attribute target { @@ -6609,7 +8266,7 @@ link = element link { empty >> sch:pattern [ - id = "test21-link-linkTargets3-constraint-assert-16" + id = "test21-link-linkTargets3-constraint-assert-72" "\x{a}" ~ " " sch:rule [ @@ -6650,7 +8307,7 @@ ab = macro.abContent >> sch:pattern [ id = - "test21-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" + "test21-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -6852,7 +8509,7 @@ join = element join { ((model.descLike | model.certLike)*) >> sch:pattern [ - id = "test21-join-joinTargets3-constraint-assert-17" + id = "test21-join-joinTargets3-constraint-assert-73" "\x{a}" ~ " " sch:rule [ @@ -6949,12 +8606,12 @@ alt = ## (exclusif) indique que l'alternative est exclusive, c'est-à-dire, qu'une seule des options proposées est possible. "excl" | - ## (non exclusif) Indique que cette alternative n'est pas exclusive, c'est-à-dire qu'une option au moins est vraie. + ## (non exclusif) indique que cette alternative n'est pas exclusive, c'est-à-dire qu'une option au moins est vraie. "incl" }?, [ a:documentation [ - "Si l'attribut " + "si l'attribut " ns1:code [ "@mode" ] " a la valeur `excl`, chacune des valeurs de l'attribut " ns1:code [ "@weights" ] @@ -7002,7 +8659,7 @@ standOff = (model.standOffPart+) >> sch:pattern [ id = - "test21-standOff-nested_standOff_should_be_typed-constraint-assert-18" + "test21-standOff-nested_standOff_should_be_typed-constraint-assert-74" "\x{a}" ~ " " sch:rule [ @@ -7176,11 +8833,41 @@ msDesc = (msIdentifier, model.headLike*, (model.pLike+ - | (msContents?, - physDesc?, - history?, - additional?, - (msPart* | msFrag*)))), + | (msContents + | physDesc + | history + | additional + | msPart + | msFrag)*)) + >> sch:pattern [ + id = "test21-msDesc-one_ms_singleton_max-constraint-rule-72" + "\x{a}" ~ + " " + sch:rule [ + context = + "tei:msContents|tei:physDesc|tei:history|tei:additional" + "\x{a}" ~ + " " + sch:let [ name = "gi" value = "name(.)" ] + "\x{a}" ~ + " " + sch:report [ + test = + "preceding-sibling::*[ name(.) eq $gi ] and not( following-sibling::*[ name(.) eq $gi ] )" + "\x{a}" ~ + " Only one " + sch:name [ ] + " is allowed as a child of " + sch:value-of [ select = "name(..)" ] + ".\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], att.global.attributes, att.sortable.attributes, att.typed.attributes, @@ -7195,7 +8882,7 @@ catchwords = macro.phraseSeq >> sch:pattern [ id = - "test21-catchwords-catchword_in_msDesc-constraint-assert-19" + "test21-catchwords-catchword_in_msDesc-constraint-assert-75" "\x{a}" ~ " " sch:rule [ @@ -7233,7 +8920,7 @@ dimensions = sch:report [ test = "count(tei:width)> 1" "\x{a}" ~ - "The element " + " The element " sch:name [ ] " may appear once only\x{a}" ~ " " @@ -7243,7 +8930,7 @@ dimensions = sch:report [ test = "count(tei:height)> 1" "\x{a}" ~ - "The element " + " The element " sch:name [ ] " may appear once only\x{a}" ~ " " @@ -7253,7 +8940,7 @@ dimensions = sch:report [ test = "count(tei:depth)> 1" "\x{a}" ~ - "The element " + " The element " sch:name [ ] " may appear once only\x{a}" ~ " " @@ -7321,12 +9008,12 @@ locus = xsd:anyURI { pattern = "\S+" } }?, - ## (depuis) Spécifie, sous une forme normalisée, le point de départ de la localisation. + ## (depuis) spécifie, sous une forme normalisée, le point de départ de la localisation. attribute from { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, - ## (jusqu'à) Spécifie, sous une forme normalisée, la borne de fin pour la localisation. + ## (jusqu'à) spécifie, sous une forme normalisée, la borne de fin pour la localisation. attribute to { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, @@ -7347,7 +9034,7 @@ locusGrp = } material = - ## (matériau) Contient un mot ou une expression décrivant le ou les matériau(x) utilisé(s) pour fabriquer un manuscrit (ou une partie d'un manuscrit). [10.3.2. Material and Object Type] + ## (matériau) contient un mot ou une expression décrivant le ou les matériau(x) utilisé(s) pour fabriquer un manuscrit (ou une partie d'un manuscrit). [10.3.2. Material and Object Type] element material { macro.phraseSeq, att.global.attributes, @@ -7379,11 +9066,12 @@ objectType = } origDate = - ## (date de la création) Contient une date, dans une forme libre, utilisée pour dater la création d'un manuscrit ou d'une partie d'un manuscrit. [10.3.1. Origination] + ## (date de la création) contient une date, dans une forme libre, utilisée pour dater la création d'un manuscrit ou d'une partie d'un manuscrit. [10.3.1. Origination] element origDate { (text | model.gLike | model.phrase | model.global)*, att.global.attributes, att.datable.attributes, + att.calendarSystem.attributes, att.dimensions.attributes, att.editLike.attributes, att.typed.attributes, @@ -7391,7 +9079,7 @@ origDate = } origPlace = - ## (lieu de création) Contient un nom de lieu, dans une forme libre, utilisé pour désigner l'endroit où a été produit un manuscrit ou une partie d'un manuscrit. [10.3.1. Origination] + ## (lieu de création) contient un nom de lieu, dans une forme libre, utilisé pour désigner l'endroit où a été produit un manuscrit ou une partie d'un manuscrit. [10.3.1. Origination] element origPlace { macro.phraseSeq, att.global.attributes, @@ -7399,15 +9087,45 @@ origPlace = att.datable.attributes, att.editLike.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-origPlace-calendar-calendar-check-origPlace-constraint-rule-73" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } secFol = - ## (deuxième folio) Le mot ou les mots repris d'un point précisément connu d'un codex (comme le début du second feuillet) pour identifier celui-ci de façon univoque. [10.3.7. Catchwords, Signatures, Secundo Folio] + ## (deuxième folio) le mot ou les mots repris d'un point précisément connu d'un codex (comme le début du second feuillet) pour identifier celui-ci de façon univoque. [10.3.7. Catchwords, Signatures, Secundo Folio] element secFol { macro.phraseSeq >> sch:pattern [ - id = "test21-secFol-secFol_in_msDesc-constraint-assert-20" + id = "test21-secFol-secFol_in_msDesc-constraint-assert-77" "\x{a}" ~ " " sch:rule [ @@ -7431,12 +9149,12 @@ secFol = } signatures = - ## (signatures) Contient une étude des signatures trouvées sur un feuillet ou sur un cahier dans un manuscrit. [10.3.7. Catchwords, Signatures, Secundo Folio] + ## (signatures) contient une étude des signatures trouvées sur un feuillet ou sur un cahier dans un manuscrit. [10.3.7. Catchwords, Signatures, Secundo Folio] element signatures { macro.specialPara >> sch:pattern [ id = - "test21-signatures-signatures_in_msDesc-constraint-assert-21" + "test21-signatures-signatures_in_msDesc-constraint-assert-78" "\x{a}" ~ " " sch:rule [ @@ -7460,21 +9178,51 @@ signatures = } stamp = - ## (cachet) Contient un mot ou une expression décrivant un cachet ou une marque du même genre. [10.3.3. Watermarks and Stamps] + ## (cachet) contient un mot ou une expression décrivant un cachet ou une marque du même genre. [10.3.3. Watermarks and Stamps] element stamp { macro.phraseSeq, att.global.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-stamp-calendar-calendar-check-stamp-constraint-rule-74" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } watermark = - ## (filigrane) Contient un mot ou une expression décrivant un filigrane ou une marque du même genre. [10.3.3. Watermarks and Stamps] + ## (filigrane) contient un mot ou une expression décrivant un filigrane ou une marque du même genre. [10.3.3. Watermarks and Stamps] element watermark { macro.phraseSeq, att.global.attributes, empty } msIdentifier = - ## (identifiant du manuscrit) Contient les informations requises pour identifier le manuscrit en cours de description. [10.4. The Manuscript Identifier] + ## (identifiant du manuscrit) contient les informations requises pour identifier le manuscrit en cours de description. [10.4. The Manuscript Identifier] element msIdentifier { ((placeName?, bloc?, @@ -7512,7 +9260,7 @@ msIdentifier = } institution = - ## (institution) Contient le nom d'un organisme (comme une université ou une bibliothèque), avec lequel un manuscrit est identifié ; en général c'est le nom de l'institution qui conserve ce manuscrit. [10.4. The Manuscript Identifier] + ## (institution) contient le nom d'un organisme (comme une université ou une bibliothèque), avec lequel un manuscrit est identifié ; en général c'est le nom de l'institution qui conserve ce manuscrit. [10.4. The Manuscript Identifier] element institution { macro.phraseSeq.limited, att.global.attributes, @@ -7521,7 +9269,7 @@ institution = } repository = - ## (lieu de conservation) Contient le nom d'un dépôt dans lequel des manuscrits sont entreposés, et qui peut faire partie d'une institution. [10.4. The Manuscript Identifier] + ## (lieu de conservation) contient le nom d'un dépôt dans lequel des manuscrits sont entreposés, et qui peut faire partie d'une institution. [10.4. The Manuscript Identifier] element repository { macro.phraseSeq.limited, att.global.attributes, @@ -7530,7 +9278,7 @@ repository = } collection = - ## (collection) Contient le nom d'une collection de manuscrits, ceux-ci ne se trouvant pas nécessairement dans le même lieu de conservation. [10.4. The Manuscript Identifier] + ## (collection) contient le nom d'une collection de manuscrits, ceux-ci ne se trouvant pas nécessairement dans le même lieu de conservation. [10.4. The Manuscript Identifier] element collection { macro.phraseSeq.limited, att.global.attributes, @@ -7540,7 +9288,7 @@ collection = } altIdentifier = - ## (autre identifiant) Contient un autre ou un ancien identifiant pour un manuscrit, par exemple un numéro anciennement utilisé dans un catalogue. [10.4. The Manuscript Identifier] + ## (autre identifiant) contient un autre ou un ancien identifiant pour un manuscrit, par exemple un numéro anciennement utilisé dans un catalogue. [10.4. The Manuscript Identifier] element altIdentifier { (placeName?, bloc?, @@ -7557,6 +9305,36 @@ altIdentifier = att.global.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-altIdentifier-calendar-calendar-check-altIdentifier-constraint-rule-75" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } msName = @@ -7598,7 +9376,7 @@ filiation = } finalRubric = - ## (rubrique de fin) Contient les derniers mots d'une section de texte, qui incluent souvent la mention de son auteur et de son titre, et sont généralement différenciés du texte lui-même par l'utilisation d'une encre rouge, par une taille ou un style d'écriture particuliers, ou par tout autre moyen visuel. [10.6.1. The msItem and msItemStruct Elements] + ## (rubrique de fin) contient les derniers mots d'une section de texte, qui incluent souvent la mention de son auteur et de son titre, et sont généralement différenciés du texte lui-même par l'utilisation d'une encre rouge, par une taille ou un style d'écriture particuliers, ou par tout autre moyen visuel. [10.6.1. The msItem and msItemStruct Elements] element finalRubric { macro.phraseSeq, att.global.attributes, @@ -7701,7 +9479,7 @@ objectDesc = } supportDesc = - ## (description du support) Regroupe les éléments décrivant le support physique du texte du manuscrit. [10.7.1. Object Description] + ## (description du support) regroupe les éléments décrivant le support physique du texte du manuscrit. [10.7.1. Object Description] element supportDesc { (model.pLike+ | (support?, extent?, foliation*, collation?, condition?)), @@ -7863,6 +9641,36 @@ binding = (model.pLike | condition | decoNote)+, att.global.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-binding-calendar-calendar-check-binding-constraint-rule-76" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (contemporaine) spécifie si la reliure est contemporaine ou non de l'essentiel du contenu du manuscrit. attribute contemporary { @@ -7902,6 +9710,36 @@ seal = att.global.attributes, att.typed.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-seal-calendar-calendar-check-seal-constraint-rule-77" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (contemporain) spécifie si le sceau est ou non contemporain du manuscrit auquel il est attaché. attribute contemporary { @@ -7940,6 +9778,36 @@ origin = att.global.attributes, att.editLike.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-origin-calendar-calendar-check-origin-constraint-rule-78" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } provenance = @@ -7950,6 +9818,36 @@ provenance = att.global.attributes, att.datable.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-provenance-calendar-calendar-check-provenance-constraint-rule-79" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } acquisition = @@ -7959,13 +9857,45 @@ acquisition = macro.specialPara, att.global.attributes, att.datable.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-acquisition-calendar-calendar-check-acquisition-constraint-rule-80" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } additional = ## (informations complémentaires) regroupe les informations complémentaires sur le manuscrit, incluant une bibliographie, des indications sur ses reproductions, ou des informations sur sa conservation et sur sa gestion [10.9. Additional Information] element additional { - (adminInfo?, surrogates?, listBibl?), att.global.attributes, empty + ((adminInfo?, surrogates?, listBibl?) | model.pLike+), + att.global.attributes, + empty } adminInfo = @@ -8006,6 +9936,36 @@ custEvent = att.global.attributes, att.datable.attributes, att.typed.attributes, + ( + ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "test21-custEvent-calendar-calendar-check-custEvent-constraint-rule-81" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } surrogates = @@ -8019,7 +9979,7 @@ msPart = (msIdentifier, model.headLike*, (model.pLike+ - | (msContents?, physDesc?, history?, additional?, msPart*))), + | (msContents | physDesc | history | additional | msPart)*)), att.global.attributes, att.typed.attributes, empty @@ -8030,7 +9990,7 @@ msFrag = element msFrag { ((altIdentifier | msIdentifier), model.headLike*, - (model.pLike+ | (msContents?, physDesc?, history?, additional?))), + (model.pLike+ | (msContents | physDesc | history | additional)*)), att.global.attributes, att.typed.attributes, empty @@ -8129,7 +10089,7 @@ facsimile = (front?, (model.graphicLike | surface | surfaceGrp)+, back?) >> sch:pattern [ id = - "test21-facsimile-no_facsimile_text_nodes-constraint-rule-16" + "test21-facsimile-no_facsimile_text_nodes-constraint-rule-82" "\x{a}" ~ " " sch:rule [ @@ -8238,7 +10198,7 @@ path = element path { empty >> sch:pattern [ - id = "test21-path-pathmustnotbeclosed-constraint-rule-17" + id = "test21-path-pathmustnotbeclosed-constraint-rule-83" "\x{a}" ~ " " sch:rule [ @@ -8331,7 +10291,7 @@ addSpan = empty >> sch:pattern [ id = - "test21-addSpan-addSpan-requires-spanTo-constraint-assert-22" + "test21-addSpan-addSpan-requires-spanTo-constraint-assert-87" "\x{a}" ~ " " sch:rule [ @@ -8352,7 +10312,7 @@ addSpan = ] >> sch:pattern [ id = - "test21-addSpan-addSpan-requires-spanTo-fr-constraint-assert-23" + "test21-addSpan-addSpan-requires-spanTo-fr-constraint-assert-88" "\x{a}" ~ " " sch:rule [ @@ -8381,7 +10341,7 @@ addSpan = } >> sch:pattern [ id = - "test21-addSpan-spanTo-spanTo-points-to-following-constraint-rule-18" + "test21-addSpan-spanTo-spanTo-points-to-following-constraint-rule-84" "\x{a}" ~ " " sch:rule [ @@ -8424,7 +10384,7 @@ damageSpan = empty >> sch:pattern [ id = - "test21-damageSpan-damageSpan-requires-spanTo-constraint-assert-25" + "test21-damageSpan-damageSpan-requires-spanTo-constraint-assert-90" "\x{a}" ~ " " sch:rule [ @@ -8445,7 +10405,7 @@ damageSpan = ] >> sch:pattern [ id = - "test21-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-26" + "test21-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-91" "\x{a}" ~ " " sch:rule [ @@ -8475,7 +10435,7 @@ delSpan = empty >> sch:pattern [ id = - "test21-delSpan-delSpan-requires-spanTo-constraint-assert-27" + "test21-delSpan-delSpan-requires-spanTo-constraint-assert-92" "\x{a}" ~ " " sch:rule [ @@ -8496,7 +10456,7 @@ delSpan = ] >> sch:pattern [ id = - "test21-delSpan-delSpan-requires-spanTo-fr-constraint-assert-28" + "test21-delSpan-delSpan-requires-spanTo-fr-constraint-assert-93" "\x{a}" ~ " " sch:rule [ @@ -8642,7 +10602,7 @@ subst = element subst { ((add | surplus | del | model.milestoneLike)+) >> sch:pattern [ - id = "test21-subst-substContents1-constraint-assert-29" + id = "test21-subst-substContents1-constraint-assert-94" "\x{a}" ~ " " sch:rule [ @@ -8839,6 +10799,14 @@ TEI = >> sch:ns [ prefix = "rna" uri = "http://relaxng.org/ns/compatibility/annotations/1.0" + ] + >> sch:ns [ + prefix = "sch" + uri = "http://purl.oclc.org/dsdl/schematron" + ] + >> sch:ns [ + prefix = "sch1x" + uri = "http://www.ascc.net/xml/schematron" ], att.global.attributes, att.typed.attributes, @@ -9014,7 +10982,7 @@ div3 = } div4 = - ## ( division du texte de niveau 4) contient une subdivision de quatrième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. [4.1.2. Numbered Divisions] + ## (division du texte de niveau 4) contient une subdivision de quatrième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. [4.1.2. Numbered Divisions] element div4 { ((model.divTop | model.global)*, ((((model.div5Like | model.divGenLike), model.global*)+ @@ -9029,7 +10997,7 @@ div4 = } div5 = - ## ( division du texte de niveau 5) contient une subdivision de cinquième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. [4.1.2. Numbered Divisions] + ## (division du texte de niveau 5) contient une subdivision de cinquième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. [4.1.2. Numbered Divisions] element div5 { ((model.divTop | model.global)*, ((((model.div6Like | model.divGenLike), model.global*)+ @@ -9044,7 +11012,7 @@ div5 = } div6 = - ## ( division du texte de niveau 6) contient une subdivision de sixième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. [4.1.2. Numbered Divisions] + ## (division du texte de niveau 6) contient une subdivision de sixième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. [4.1.2. Numbered Divisions] element div6 { ((model.divTop | model.global)*, ((((model.div7Like | model.divGenLike), model.global*)+ @@ -9281,6 +11249,7 @@ docDate = macro.phraseSeq, att.global.attributes, att.datable.attributes, + att.calendarSystem.attributes, empty } front = diff --git a/Test/expected-results/test30.dtd b/Test/expected-results/test30.dtd index 72a0fb25e..0232382a3 100644 --- a/Test/expected-results/test30.dtd +++ b/Test/expected-results/test30.dtd @@ -329,13 +329,9 @@ to %teidata.temporal.w3c; #IMPLIED'> %Tatt.datable.w3c.attribute.notAfter; %Tatt.datable.w3c.attribute.from; %Tatt.datable.w3c.attribute.to;'> - - @@ -879,11 +875,11 @@ to %teidata.word; #IMPLIED'> - - - - - + + + + + @@ -1045,6 +1041,10 @@ sort %teidata.count; #IMPLIED'> + + %Tatt.datable.attributes; %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > @@ -1303,6 +1304,7 @@ type %teidata.enumerated; #IMPLIED > %Tatt.typed.attribute.subtype; %Tatt.dimensions.attributes; type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED value %teidata.count; #IMPLIED > @@ -1376,6 +1378,7 @@ motivation NMTOKENS #IMPLIED > %Tatt.global.attributes; %Tatt.typed.attributes; %Tatt.datable.attributes; +calendar CDATA #IMPLIED ident %teidata.name; #REQUIRED version %teidata.versionNumber; #REQUIRED > @@ -1389,7 +1392,8 @@ version %teidata.versionNumber; #REQUIRED > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -1460,7 +1464,8 @@ encoding CDATA #IMPLIED > %Tatt.dimensions.attributes; %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > @@ -1468,7 +1473,8 @@ type %teidata.enumerated; #IMPLIED > %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.datable.attributes; > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -1515,7 +1521,8 @@ scheme %teidata.pointer; #IMPLIED > + %Tatt.global.attributes; + %Tatt.datcat.attributes; > @@ -1541,6 +1548,7 @@ Elements] --> %Tatt.docStatus.attributes; %Tatt.global.attributes; %Tatt.typed.attributes; +calendar CDATA #IMPLIED target CDATA #IMPLIED > @@ -1595,7 +1603,8 @@ scheme %teidata.pointer; #REQUIRED > %Tatt.datable.attributes; %Tatt.editLike.attributes; %Tatt.naming.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -1610,6 +1619,7 @@ scheme %teidata.pointer; #REQUIRED > %Tatt.datable.attributes; %Tatt.formula.attributes; %Tatt.locatable.attributes; +calendar CDATA #IMPLIED fromUnit %teidata.pointer; #REQUIRED toUnit %teidata.pointer; #REQUIRED > @@ -1655,13 +1665,15 @@ type %teidata.enumerated; #IMPLIED > %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.datable.attributes; > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -1684,6 +1696,7 @@ type %teidata.enumerated; #IMPLIED > %Tatt.global.attributes; %Tatt.canonical.attributes; %Tatt.datable.attributes; + %Tatt.calendarSystem.attributes; %Tatt.editLike.attributes; %Tatt.dimensions.attributes; %Tatt.typed.attributes; > @@ -1702,7 +1715,8 @@ type %teidata.enumerated; #IMPLIED > %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > @@ -1750,7 +1764,8 @@ social %teidata.text; #IMPLIED > %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.datable.attributes; > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -1779,7 +1794,8 @@ type %teidata.enumerated; #IMPLIED > + %Tatt.datable.attributes; + %Tatt.calendarSystem.attributes; > @@ -1812,7 +1828,8 @@ type %teidata.enumerated; #IMPLIED > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -1828,7 +1845,8 @@ type %teidata.enumerated; #IMPLIED > %Tatt.datable.attributes; %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > @@ -1856,17 +1874,27 @@ type %teidata.enumerated; #IMPLIED > - - + + + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > + + + + @@ -1900,7 +1928,8 @@ type %teidata.enumerated; #IMPLIED > %Tatt.datable.attributes; %Tatt.canonical.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > @@ -1933,7 +1962,8 @@ type %teidata.enumerated; #IMPLIED > %Tatt.global.attributes; %Tatt.datable.attributes; %Tatt.dimensions.attributes; - %Tatt.editLike.attributes; > + %Tatt.editLike.attributes; +calendar CDATA #IMPLIED > @@ -1964,7 +1994,8 @@ type %teidata.enumerated; #IMPLIED > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -2009,6 +2040,7 @@ Elements] --> %Tatt.editLike.attributes; %Tatt.datable.attributes; %Tatt.typed.attributes; +calendar CDATA #IMPLIED value CDATA #IMPLIED > @@ -2032,7 +2064,8 @@ datum %teidata.enumerated; "WGS84" > %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.dimensions.attributes; > + %Tatt.dimensions.attributes; +calendar CDATA #IMPLIED > @@ -2041,7 +2074,8 @@ datum %teidata.enumerated; "WGS84" > %Tatt.editLike.attributes; %Tatt.global.attributes; %Tatt.naming.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -2124,7 +2158,8 @@ eol (all|some|hard|none) "some" > %Tatt.sortable.attributes; %Tatt.datable.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > @@ -2199,6 +2234,7 @@ scheme %teidata.pointer; #IMPLIED > %Tatt.editLike.attributes; %Tatt.typed.attribute.subtype; type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED tags CDATA #IMPLIED > @@ -2207,6 +2243,7 @@ tags CDATA #IMPLIED > %Tatt.global.attributes; %Tatt.datable.attributes; %Tatt.editLike.attributes; +calendar CDATA #IMPLIED tag %teidata.language; #REQUIRED level %teidata.word; #IMPLIED > @@ -2246,7 +2283,8 @@ Elements 7.2.5. Speech Contents] --> + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -2301,14 +2339,14 @@ type %teidata.enumerated; #IMPLIED > %Tatt.typed.attributes; ordered %teidata.truthValue; "true" > - + - + %Tatt.typed.attributes; %Tatt.declarable.attributes; %Tatt.sortable.attributes; > - + %Tatt.global.attributes; %Tatt.typed.attributes; %Tatt.datable.attributes; - %Tatt.editLike.attributes; > + %Tatt.editLike.attributes; +calendar CDATA #IMPLIED > @@ -2409,7 +2448,8 @@ mimeType CDATA #REQUIRED > + %Tatt.canonical.attributes; +calendar CDATA #IMPLIED > @@ -2457,7 +2497,8 @@ Elements] --> %Tatt.personal.attributes; %Tatt.datable.attributes; %Tatt.editLike.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -2479,7 +2520,8 @@ name CDATA #REQUIRED > %Tatt.editLike.attributes; %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > @@ -2529,7 +2571,7 @@ Measures] --> %Tatt.ranging.attributes; type %teidata.enumerated; #IMPLIED value %teidata.numeric; #IMPLIED > - + %Tatt.typed.attributes; %Tatt.sortable.attributes; parts CDATA #IMPLIED > - - + + %Tatt.declaring.attributes; %Tatt.docStatus.attributes; %Tatt.canonical.attributes; > - + - + %Tatt.editLike.attributes; %Tatt.global.attributes; %Tatt.personal.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -2571,6 +2614,7 @@ parts CDATA #IMPLIED > %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED scheme %teidata.pointer; #IMPLIED code %teidata.pointer; #IMPLIED > @@ -2582,7 +2626,8 @@ code %teidata.pointer; #IMPLIED > %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.dimensions.attributes; > + %Tatt.dimensions.attributes; +calendar CDATA #IMPLIED > @@ -2606,7 +2651,8 @@ role NMTOKENS #IMPLIED > %Tatt.datable.attributes; %Tatt.editLike.attributes; %Tatt.personal.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -2649,7 +2695,8 @@ Elements] --> %Tatt.datable.attributes; %Tatt.editLike.attributes; %Tatt.personal.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -2658,6 +2705,7 @@ Elements] --> %Tatt.datable.attributes; %Tatt.typed.attributes; evidence %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED value NMTOKENS #IMPLIED > @@ -2708,7 +2756,8 @@ age %teidata.enumerated; #IMPLIED > %Tatt.editLike.attributes; %Tatt.global.attributes; %Tatt.personal.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -2723,7 +2772,8 @@ bill CDATA #IMPLIED > %Tatt.editLike.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.dimensions.attributes; > + %Tatt.dimensions.attributes; +calendar CDATA #IMPLIED > @@ -2753,7 +2803,8 @@ ident %teidata.prefix; #REQUIRED > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -2876,7 +2927,8 @@ Normalization 12. Critical Apparatus] --> %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.datable.attributes; > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -2894,6 +2946,7 @@ target %teidata.pointer; #IMPLIED > %Tatt.canonical.attributes; %Tatt.sortable.attributes; %Tatt.typed.attributes; +calendar CDATA #IMPLIED name %teidata.enumerated; #IMPLIED active CDATA #IMPLIED mutual CDATA #IMPLIED @@ -2915,14 +2968,16 @@ selector %teidata.text; #IMPLIED > %Tatt.editLike.attributes; %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; -type %teidata.enumerated; #IMPLIED > +type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -3002,7 +3057,7 @@ direct %teidata.xTruthValue; "true" > - + %Tatt.global.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.datable.attributes; > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -3084,6 +3140,7 @@ reason CDATA #IMPLIED > %Tatt.editLike.attributes; %Tatt.datable.attributes; %Tatt.typed.attributes; +calendar CDATA #IMPLIED value CDATA #IMPLIED > @@ -3111,6 +3168,7 @@ value CDATA #IMPLIED > %Tatt.naming.attributes; %Tatt.typed.attribute.subtype; type %teidata.enumerated; #IMPLIED +calendar CDATA #IMPLIED scheme %teidata.pointer; #IMPLIED code %teidata.pointer; #IMPLIED > @@ -3165,7 +3223,8 @@ dim (horizontal|vertical) #IMPLIED > + %Tatt.datable.attributes; +calendar CDATA #IMPLIED > @@ -3191,7 +3250,8 @@ type NMTOKENS #IMPLIED > %Tatt.editLike.attributes; %Tatt.typed.attributes; %Tatt.naming.attributes; - %Tatt.dimensions.attributes; > + %Tatt.dimensions.attributes; +calendar CDATA #IMPLIED > @@ -3292,7 +3352,8 @@ partial %teidata.truthValue; #IMPLIED > + %Tatt.global.attributes; + %Tatt.datcat.attributes; > @@ -3327,7 +3388,8 @@ version %teidata.version; #IMPLIED > %Tatt.datable.attributes; %Tatt.editLike.attributes; %Tatt.naming.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > @@ -3355,6 +3417,7 @@ otherLangs CDATA #IMPLIED > %Tatt.canonical.attributes; %Tatt.datable.attributes; type CDATA #IMPLIED +calendar CDATA #IMPLIED level (a|m|j|s|u) #IMPLIED > @@ -3413,7 +3477,8 @@ type %teidata.enumerated; "main" > %Tatt.editLike.attributes; %Tatt.naming.attributes; %Tatt.typed.attributes; - %Tatt.dimensions.attributes; > + %Tatt.dimensions.attributes; +calendar CDATA #IMPLIED > @@ -3446,7 +3511,8 @@ Measures] --> + %Tatt.global.attributes; +calendar CDATA #IMPLIED > @@ -3454,7 +3520,8 @@ Measures] --> %Tatt.global.attributes; %Tatt.datable.attributes; %Tatt.canonical.attributes; - %Tatt.typed.attributes; > + %Tatt.typed.attributes; +calendar CDATA #IMPLIED > diff --git a/Test/expected-results/test30.rnc b/Test/expected-results/test30.rnc index de525d4b5..886126cf7 100644 --- a/Test/expected-results/test30.rnc +++ b/Test/expected-results/test30.rnc @@ -400,86 +400,7 @@ Tatt.datable.attributes = Tatt.datable.w3c.attributes, Tatt.datable.iso.attributes, Tatt.datable.custom.attributes, - Tatt.datable.attribute.calendar, Tatt.datable.attribute.period -Tatt.datable.attribute.calendar = - - ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. - attribute calendar { - list { - xsd:anyURI { pattern = "\S+" }+ - } - }? -sch:pattern [ - id = - "testbasic-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:*[@calendar]" - "\x{a}" ~ - " " - sch:assert [ - test = "string-length( normalize-space(.) ) gt 0" - " @calendar indicates one or more\x{a}" ~ - " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ - " but this " - sch:name [ ] - " element has no textual content." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] -sch:pattern [ - id = - "testbasic-att.datable-calendar-calendar-deprecated-constraint-rule-5" - "\x{a}" ~ - " " - sch:rule [ - context = - "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" - "\x{a}" ~ - " " - sch:let [ - name = "me_phrase" - value = "concat( 'Attribute calendar on ', local-name(.))" - ] - "\x{a}" ~ - " " - sch:assert [ - test = "'2024-11-11' cast as xs:date ge current-date()" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - sch:report [ - role = "nonfatal" - test = "@calendar" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] Tatt.datable.attribute.period = [ a:documentation [ @@ -743,7 +664,7 @@ Tatt.global.source.attribute.source = }? sch:pattern [ id = - "testbasic-att.global.source-source-only_1_ODD_source-constraint-rule-6" + "testbasic-att.global.source-source-only_1_ODD_source-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -987,7 +908,7 @@ Tatt.measurement.attribute.commodity = }? sch:pattern [ id = - "testbasic-att.measurement-att-measurement-unitRef-constraint-rule-7" + "testbasic-att.measurement-att-measurement-unitRef-constraint-rule-5" "\x{a}" ~ " " sch:rule [ @@ -1093,7 +1014,7 @@ Tatt.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "testbasic-att.typed-subtypeTyped-constraint-rule-8" + id = "testbasic-att.typed-subtypeTyped-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -1136,7 +1057,7 @@ Tatt.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "testbasic-att.pointing-targetLang-targetLang-constraint-rule-9" + id = "testbasic-att.pointing-targetLang-targetLang-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1257,7 +1178,7 @@ Tatt.spanning.attribute.spanTo = }? sch:pattern [ id = - "testbasic-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" + "testbasic-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1313,7 +1234,7 @@ Tatt.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "testbasic-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" + "testbasic-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -2166,6 +2087,7 @@ Tmodel.nameLike = | Trs | Tidno | Tmodel.persNamePart + | TeventName | TobjectName Tmodel.nameLike_alternation = Tmodel.nameLike.agent_alternation @@ -2174,6 +2096,7 @@ Tmodel.nameLike_alternation = | Trs | Tidno | Tmodel.persNamePart_alternation + | TeventName | TobjectName Tmodel.nameLike_sequence = Tmodel.nameLike.agent_sequence, @@ -2182,6 +2105,7 @@ Tmodel.nameLike_sequence = Trs, Tidno, Tmodel.persNamePart_sequence, + TeventName, TobjectName Tmodel.nameLike_sequenceOptional = Tmodel.nameLike.agent_sequenceOptional?, @@ -2190,6 +2114,7 @@ Tmodel.nameLike_sequenceOptional = Trs?, Tidno?, Tmodel.persNamePart_sequenceOptional?, + TeventName?, TobjectName? Tmodel.nameLike_sequenceOptionalRepeatable = Tmodel.nameLike.agent_sequenceOptionalRepeatable*, @@ -2198,6 +2123,7 @@ Tmodel.nameLike_sequenceOptionalRepeatable = Trs*, Tidno*, Tmodel.persNamePart_sequenceOptionalRepeatable*, + TeventName*, TobjectName* Tmodel.nameLike_sequenceRepeatable = Tmodel.nameLike.agent_sequenceRepeatable+, @@ -2206,6 +2132,7 @@ Tmodel.nameLike_sequenceRepeatable = Trs+, Tidno+, Tmodel.persNamePart_sequenceRepeatable+, + TeventName+, TobjectName+ Tmodel.global = Tmodel.global.meta @@ -2414,6 +2341,38 @@ Tatt.personal.attribute.sort = ## (sort) specifies the sort order of the name component in relation to others within the name. attribute sort { xsd:nonNegativeInteger }? Tmodel.placeLike = Tplace +Tatt.calendarSystem.attributes = Tatt.calendarSystem.attribute.calendar +Tatt.calendarSystem.attribute.calendar = + + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }? +sch:pattern [ + id = + "testbasic-att.calendarSystem-calendar-calendar-constraint-rule-10" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] Tatt.milestoneUnit.attributes = Tatt.milestoneUnit.attribute.unit Tatt.milestoneUnit.attribute.unit = @@ -2478,7 +2437,7 @@ Tp = Tmacro.paraContent >> sch:pattern [ id = - "testbasic-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" + "testbasic-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2500,7 +2459,7 @@ Tp = ] >> sch:pattern [ id = - "testbasic-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" + "testbasic-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2678,7 +2637,7 @@ Tdesc = Tmacro.limitedContent >> sch:pattern [ id = - "testbasic-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" + "testbasic-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2770,7 +2729,7 @@ Trt = }?) >> sch:pattern [ id = - "testbasic-rt-target-rt-target-not-span-constraint-report-9" + "testbasic-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2794,7 +2753,7 @@ Trt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "testbasic-rt-from-rt-from-constraint-assert-8" + id = "testbasic-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ " " sch:rule [ @@ -2820,7 +2779,7 @@ Trt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "testbasic-rt-to-rt-to-constraint-assert-9" + id = "testbasic-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -3006,6 +2965,36 @@ Tname = Tatt.datable.attributes, Tatt.editLike.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-name-calendar-calendar-check-name-constraint-rule-12" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Trs = @@ -3128,6 +3117,7 @@ Tdate = Tatt.global.attributes, Tatt.canonical.attributes, Tatt.datable.attributes, + Tatt.calendarSystem.attributes, Tatt.editLike.attributes, Tatt.dimensions.attributes, Tatt.typed.attributes, @@ -3140,6 +3130,7 @@ Ttime = (text | Tmodel.gLike | Tmodel.phrase | Tmodel.global)*, Tatt.global.attributes, Tatt.datable.attributes, + Tatt.calendarSystem.attributes, Tatt.canonical.attributes, Tatt.editLike.attributes, Tatt.dimensions.attributes, @@ -3176,7 +3167,7 @@ Tptr = element ptr { empty >> sch:pattern [ - id = "testbasic-ptr-ptrAtts-constraint-report-10" + id = "testbasic-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -3210,7 +3201,7 @@ Tref = element ref { Tmacro.paraContent >> sch:pattern [ - id = "testbasic-ref-refAtts-constraint-report-11" + id = "testbasic-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3572,6 +3563,36 @@ Tauthor = Tatt.global.attributes, Tatt.naming.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-author-calendar-calendar-check-author-constraint-rule-14" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Teditor = @@ -3582,6 +3603,36 @@ Teditor = Tatt.global.attributes, Tatt.naming.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-editor-calendar-calendar-check-editor-constraint-rule-15" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TrespStmt = @@ -3603,13 +3654,65 @@ Tresp = Tatt.global.attributes, Tatt.canonical.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-resp-calendar-calendar-check-resp-constraint-rule-16" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Ttitle = ## (title) contains a title for any kind of work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement] element title { - Tmacro.paraContent, + Tmacro.paraContent + >> sch:pattern [ + id = "testbasic-title-calendar-check-title-constraint-rule-17" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], Tatt.global.attributes, Tatt.typed.attribute.subtype, Tatt.canonical.attributes, @@ -3632,6 +3735,36 @@ Ttitle = "project" | text }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-title-calendar-calendar-check-title-constraint-rule-18" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. attribute level { @@ -3661,6 +3794,36 @@ Tmeeting = Tatt.global.attributes, Tatt.datable.attributes, Tatt.canonical.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-meeting-calendar-calendar-check-meeting-constraint-rule-19" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Timprint = @@ -3767,7 +3930,7 @@ TrelatedItem = ((Tmodel.biblLike | Tmodel.ptrLike)?) >> sch:pattern [ id = - "testbasic-relatedItem-targetorcontent1-constraint-report-12" + "testbasic-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3815,7 +3978,7 @@ Tl = | Tmodel.global)*) >> sch:pattern [ id = - "testbasic-l-abstractModel-structure-l-in-l-constraint-report-13" + "testbasic-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3857,7 +4020,7 @@ Tlg = | Tlg)*, (Tmodel.divBottom, Tmodel.global*)*) >> sch:pattern [ - id = "testbasic-lg-atleast1oflggapl-constraint-assert-12" + id = "testbasic-lg-atleast1oflggapl-constraint-assert-18" "\x{a}" ~ " " sch:rule [ @@ -3878,7 +4041,7 @@ Tlg = ] >> sch:pattern [ id = - "testbasic-lg-abstractModel-structure-lg-in-l-constraint-report-14" + "testbasic-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -4093,6 +4256,36 @@ Tsponsor = Tatt.global.attributes, Tatt.canonical.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-sponsor-calendar-calendar-check-sponsor-constraint-rule-20" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tfunder = @@ -4103,16 +4296,76 @@ Tfunder = Tatt.global.attributes, Tatt.canonical.attributes, Tatt.datable.attributes, - empty - } -Tprincipal = - + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-funder-calendar-calendar-check-funder-constraint-rule-21" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +Tprincipal = + ## (principal researcher) supplies the name of the principal researcher responsible for the creation of an electronic text. [2.2.1. The Title Statement] element principal { Tmacro.phraseSeq.limited, Tatt.global.attributes, Tatt.canonical.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-principal-calendar-calendar-check-principal-constraint-rule-22" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TeditionStmt = @@ -4212,6 +4465,36 @@ Tidno = "OCLC" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-idno-calendar-calendar-check-idno-constraint-rule-23" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tavailability = @@ -4244,6 +4527,36 @@ Tlicence = Tatt.global.attributes, Tatt.pointing.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-licence-calendar-calendar-check-licence-constraint-rule-24" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TseriesStmt = @@ -4322,7 +4635,7 @@ TprojectDesc = } TsamplingDecl = - ## (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + ## (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] element samplingDecl { Tmodel.pLike+, Tatt.global.attributes, @@ -4401,7 +4714,7 @@ Tquotation = (Tmodel.pLike*) >> sch:pattern [ id = - "testbasic-quotation-quotationContents-constraint-report-15" + "testbasic-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4652,7 +4965,7 @@ TciteStructure = attribute match { text } >> sch:pattern [ id = - "testbasic-citeStructure-match-citestructure-outer-match-constraint-rule-14" + "testbasic-citeStructure-match-citestructure-outer-match-constraint-rule-25" "\x{a}" ~ " " sch:rule [ @@ -4673,7 +4986,7 @@ TciteStructure = ] >> sch:pattern [ id = - "testbasic-citeStructure-match-citestructure-inner-match-constraint-rule-15" + "testbasic-citeStructure-match-citestructure-inner-match-constraint-rule-26" "\x{a}" ~ " " sch:rule [ @@ -4778,6 +5091,7 @@ Ttaxonomy = | ((Tmodel.descLike | Tgloss)+, (Tcategory | Ttaxonomy)*)) | (Tmodel.biblLike, (Tcategory | Ttaxonomy)*)), Tatt.global.attributes, + Tatt.datcat.attributes, empty } Tcategory = @@ -4787,6 +5101,7 @@ Tcategory = ((TcatDesc+ | (Tmodel.descLike | Tgloss)*), Tcategory*), Tatt.global.attributes, + Tatt.datcat.attributes, empty } TcatDesc = @@ -4844,6 +5159,36 @@ TunitDecl = Tatt.canonical.attributes, Tatt.datable.attributes, Tatt.global.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-unitDecl-calendar-calendar-check-unitDecl-constraint-rule-27" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TunitDef = @@ -4855,6 +5200,36 @@ TunitDef = Tatt.datable.attributes, Tatt.canonical.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-unitDef-calendar-calendar-check-unitDef-constraint-rule-28" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tconversion = @@ -4866,6 +5241,36 @@ Tconversion = Tatt.datable.attributes, Tatt.formula.attributes, Tatt.locatable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-conversion-calendar-calendar-check-conversion-constraint-rule-29" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates a source unit of measure that is to be converted into another unit indicated in " @@ -4902,6 +5307,36 @@ Tapplication = Tatt.global.attributes, Tatt.typed.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-application-calendar-calendar-check-application-constraint-rule-30" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies an identifier for the application, independent of its version number or display name. attribute ident { xsd:Name }, @@ -4944,6 +5379,36 @@ Tcreation = (text | Tmodel.limitedPhrase | TlistChange)*, Tatt.global.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-creation-calendar-calendar-check-creation-constraint-rule-31" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TlangUsage = @@ -4965,7 +5430,7 @@ Tlanguage = a:documentation [ "(identifier) Supplies a language code constructed as defined in " ns1:a [ href = "https://tools.ietf.org/html/bcp47" "BCP 47" ] - " which is used to identify the language documented by this element, and which is referenced by the global " + " which is used to identify the language documented by this element, and which may be referenced by the global " ns1:code [ "@xml:lang" ] " attribute." ] @@ -4977,7 +5442,7 @@ Tlanguage = "") }, - ## specifies the approximate percentage (by volume) of the text which uses this language. + ## specifies the approximate percentage of the text which uses this language. attribute usage { xsd:nonNegativeInteger }?, empty } @@ -5136,6 +5601,36 @@ Tchange = Tatt.docStatus.attributes, Tatt.global.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-change-calendar-calendar-check-change-constraint-rule-32" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (target) points to one or more elements that belong to this change. attribute target { @@ -5363,6 +5858,36 @@ TorgName = Tatt.editLike.attributes, Tatt.personal.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-orgName-calendar-calendar-check-orgName-constraint-rule-33" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TpersName = @@ -5375,25 +5900,55 @@ TpersName = Tatt.editLike.attributes, Tatt.personal.attributes, Tatt.typed.attributes, - empty - } -Tsurname = - - ## (surname) contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1. Personal Names] - element surname { - Tmacro.phraseSeq, - Tatt.global.attributes, - Tatt.personal.attributes, - Tatt.typed.attributes, - empty - } -Tforename = - - ## (forename) contains a forename, given or baptismal name. [13.2.1. Personal Names] - element forename { - Tmacro.phraseSeq, - Tatt.global.attributes, - Tatt.personal.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-persName-calendar-calendar-check-persName-constraint-rule-34" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +Tsurname = + + ## (surname) contains a family (inherited) name, as opposed to a given, baptismal, or nick name. [13.2.1. Personal Names] + element surname { + Tmacro.phraseSeq, + Tatt.global.attributes, + Tatt.personal.attributes, + Tatt.typed.attributes, + empty + } +Tforename = + + ## (forename) contains a forename, given or baptismal name. [13.2.1. Personal Names] + element forename { + Tmacro.phraseSeq, + Tatt.global.attributes, + Tatt.personal.attributes, Tatt.typed.attributes, empty } @@ -5446,6 +6001,36 @@ TplaceName = Tatt.global.attributes, Tatt.personal.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-placeName-calendar-calendar-check-placeName-constraint-rule-35" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tbloc = @@ -5457,6 +6042,36 @@ Tbloc = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-bloc-calendar-calendar-check-bloc-constraint-rule-36" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tcountry = @@ -5468,6 +6083,36 @@ Tcountry = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-country-calendar-calendar-check-country-constraint-rule-37" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tregion = @@ -5479,6 +6124,36 @@ Tregion = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-region-calendar-calendar-check-region-constraint-rule-38" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tsettlement = @@ -5490,6 +6165,36 @@ Tsettlement = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-settlement-calendar-calendar-check-settlement-constraint-rule-39" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tdistrict = @@ -5501,6 +6206,36 @@ Tdistrict = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-district-calendar-calendar-check-district-constraint-rule-40" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Toffset = @@ -5514,6 +6249,36 @@ Toffset = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-offset-calendar-calendar-check-offset-constraint-rule-41" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TgeogName = @@ -5526,6 +6291,36 @@ TgeogName = Tatt.global.attributes, Tatt.naming.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-geogName-calendar-calendar-check-geogName-constraint-rule-42" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TgeogFeat = @@ -5539,6 +6334,48 @@ TgeogFeat = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-geogFeat-calendar-calendar-check-geogFeat-constraint-rule-43" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], + empty + } +TeventName = + + ## (name of an event) contains a proper noun or noun phrase used to refer to an event. [13.2.4. Event Names] + element eventName { + Tmacro.phraseSeq, + Tatt.global.attributes, + Tatt.datable.attributes, + Tatt.editLike.attributes, + Tatt.personal.attributes, + Tatt.typed.attributes, empty } Taffiliation = @@ -5557,6 +6394,36 @@ Taffiliation = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-affiliation-calendar-calendar-check-affiliation-constraint-rule-44" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tage = @@ -5575,6 +6442,36 @@ Tage = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-age-calendar-calendar-check-age-constraint-rule-45" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a numeric code representing the age or age group attribute value { xsd:nonNegativeInteger }?, @@ -5597,6 +6494,36 @@ Tbirth = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-birth-calendar-calendar-check-birth-constraint-rule-46" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tclimate = @@ -5612,6 +6539,36 @@ Tclimate = Tatt.editLike.attributes, Tatt.naming.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-climate-calendar-calendar-check-climate-constraint-rule-47" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tdeath = @@ -5631,6 +6588,36 @@ Tdeath = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-death-calendar-calendar-check-death-constraint-rule-48" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Teducation = @@ -5649,29 +6636,93 @@ Teducation = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-education-calendar-calendar-check-education-constraint-rule-49" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tevent = - ## (event) contains data relating to any kind of significant event associated with a person, place, or organization. [13.3.1. Basic Principles] + ## (event) contains data relating to anything of significance that happens in time. [13.3.1. Basic Principles] element event { (Tidno*, Tmodel.headLike*, - (Tmodel.pLike+ | Tmodel.labelLike+), + (Tmodel.pLike+ | Tmodel.labelLike+ | TeventName+), (Tmodel.noteLike | Tmodel.biblLike | TlinkGrp | Tlink | Tidno | Tptr)*, - Tevent*), + (Tevent | TlistEvent)*, + (Tmodel.personLike | TlistPerson)*, + (Tmodel.placeLike | TlistPlace)*, + Tmodel.objectLike*, + (Trelation | TlistRelation)*), Tatt.global.attributes, Tatt.datable.attributes, Tatt.editLike.attributes, - Tatt.typed.attributes, + Tatt.locatable.attributes, Tatt.naming.attributes, Tatt.sortable.attributes, - Tatt.locatable.attributes, + Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-event-calendar-calendar-check-event-constraint-rule-50" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tfaith = @@ -5690,6 +6741,36 @@ Tfaith = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-faith-calendar-calendar-check-faith-constraint-rule-51" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tfloruit = @@ -5701,6 +6782,36 @@ Tfloruit = Tatt.datable.attributes, Tatt.dimensions.attributes, Tatt.editLike.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-floruit-calendar-calendar-check-floruit-constraint-rule-52" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tgender = @@ -5712,6 +6823,36 @@ Tgender = Tatt.editLike.attributes, Tatt.datable.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-gender-calendar-calendar-check-gender-constraint-rule-53" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a coded value for gender identity attribute value { @@ -5747,6 +6888,36 @@ TlangKnowledge = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-langKnowledge-calendar-calendar-check-langKnowledge-constraint-rule-54" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies one or more valid language tags for the languages specified attribute tags { @@ -5767,6 +6938,36 @@ TlangKnown = Tatt.global.attributes, Tatt.datable.attributes, Tatt.editLike.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-langKnown-calendar-calendar-check-langKnown-constraint-rule-55" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a valid language tag for the language concerned. attribute tag { @@ -5803,7 +7004,7 @@ TlistEvent = (Tmodel.headLike*, Tdesc*, (Trelation | TlistRelation)*, - (Tmodel.eventLike+, (Trelation | TlistRelation)*)+), + ((Tevent | TlistEvent)+, (Trelation | TlistRelation)*)+), Tatt.global.attributes, Tatt.typed.attributes, Tatt.declarable.attributes, @@ -5866,6 +7067,36 @@ Tlocation = Tatt.typed.attributes, Tatt.datable.attributes, Tatt.editLike.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-location-calendar-calendar-check-location-constraint-rule-56" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tnationality = @@ -5884,6 +7115,36 @@ Tnationality = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-nationality-calendar-calendar-check-nationality-constraint-rule-57" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Toccupation = @@ -5902,6 +7163,36 @@ Toccupation = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-occupation-calendar-calendar-check-occupation-constraint-rule-58" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates the classification system or taxonomy in use, for example by supplying the identifier of a " @@ -6085,6 +7376,36 @@ TpersPronouns = "trustedThirdParty" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-persPronouns-calendar-calendar-check-persPronouns-constraint-rule-59" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (value) supplies a regularized value for personal pronouns. ## Sample values include: 1] e (e); 2] he (he); 3] she (she); 4] they (they) @@ -6132,6 +7453,36 @@ Tpopulation = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-population-calendar-calendar-check-population-constraint-rule-60" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Trelation = @@ -6140,7 +7491,7 @@ Trelation = element relation { (Tdesc?) >> sch:pattern [ - id = "testbasic-relation-reforkeyorname-constraint-assert-15" + id = "testbasic-relation-reforkeyorname-constraint-assert-60" "\x{a}" ~ " " sch:rule [ @@ -6158,7 +7509,7 @@ Trelation = " " ] >> sch:pattern [ - id = "testbasic-relation-activemutual-constraint-report-16" + id = "testbasic-relation-activemutual-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -6176,7 +7527,7 @@ Trelation = " " ] >> sch:pattern [ - id = "testbasic-relation-activepassive-constraint-report-17" + id = "testbasic-relation-activepassive-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -6199,6 +7550,36 @@ Trelation = Tatt.canonical.attributes, Tatt.sortable.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-relation-calendar-calendar-check-relation-constraint-rule-61" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a name for the kind of relationship of which this is an instance. attribute name { @@ -6243,6 +7624,36 @@ Tresidence = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-residence-calendar-calendar-check-residence-constraint-rule-62" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tsex = @@ -6254,6 +7665,36 @@ Tsex = Tatt.editLike.attributes, Tatt.datable.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-sex-calendar-calendar-check-sex-constraint-rule-63" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies a coded value for sex attribute value { @@ -6279,6 +7720,36 @@ TsocecStatus = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-socecStatus-calendar-calendar-check-socecStatus-constraint-rule-64" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "identifies the classification system or taxonomy in use, for example by pointing to a locally-defined " @@ -6316,6 +7787,36 @@ Tstate = Tatt.typed.attributes, Tatt.naming.attributes, Tatt.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-state-calendar-calendar-check-state-constraint-rule-65" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tterrain = @@ -6331,6 +7832,36 @@ Tterrain = Tatt.editLike.attributes, Tatt.naming.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-terrain-calendar-calendar-check-terrain-constraint-rule-66" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Ttrait = @@ -6348,11 +7879,41 @@ Ttrait = Tatt.naming.attributes, Tatt.typed.attributes, Tatt.dimensions.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-trait-calendar-calendar-check-trait-constraint-rule-67" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } TobjectName = - ## (name of an object) contains a proper noun or noun phrase used to refer to an object. [13.2.4. Object Names] + ## (name of an object) contains a proper noun or noun phrase used to refer to an object. [13.2.5. Object Names] element objectName { Tmacro.phraseSeq, Tatt.datable.attributes, @@ -6360,15 +7921,45 @@ TobjectName = Tatt.global.attributes, Tatt.personal.attributes, Tatt.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "testbasic-objectName-calendar-calendar-check-objectName-constraint-rule-68" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } Tobject = - ## contains a description of a single identifiable physical object. [13.3.5. Objects] + ## contains a description of a single identifiable physical object. [13.3.6. Objects] element object { (TobjectIdentifier+, Tmodel.headLike*, - (Tmodel.pLike* | empty), + (Tmodel.pLike+ | empty*), (Tmodel.noteLike | Tmodel.biblLike | TlinkGrp | Tlink)*, Tobject*), Tatt.global.attributes, @@ -6381,7 +7972,7 @@ Tobject = } TlistObject = - ## (list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object. [13.3.5. Objects] + ## (list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object. [13.3.6. Objects] element listObject { (Tmodel.headLike*, Tdesc*, @@ -6395,7 +7986,7 @@ TlistObject = } TobjectIdentifier = - ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.5. Objects] + ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.6. Objects] element objectIdentifier { (Tmodel.placeNamePart | Tidno | TobjectName | Taddress)+, Tatt.global.attributes, @@ -6403,7 +7994,7 @@ TobjectIdentifier = } Tnym = - ## (canonical name) contains the definition for a canonical name or name component of any kind. [13.3.6. Names and Nyms] + ## (canonical name) contains the definition for a canonical name or name component of any kind. [13.3.7. Names and Nyms] element nym { (Tidno*, Tmodel.entryPart*, Tmodel.pLike*, Tnym*), Tatt.global.attributes, @@ -6420,7 +8011,7 @@ Tnym = } TlistNym = - ## (list of canonical names) contains a list of nyms, that is, standardized names for any thing. [13.3.6. Names and Nyms] + ## (list of canonical names) contains a list of nyms, that is, standardized names for any thing. [13.3.7. Names and Nyms] element listNym { (Tmodel.headLike*, Tdesc*, @@ -6526,7 +8117,7 @@ Tfacsimile = (Tfront?, (Tmodel.graphicLike | Tsurface | TsurfaceGrp)+, Tback?) >> sch:pattern [ id = - "testbasic-facsimile-no_facsimile_text_nodes-constraint-rule-16" + "testbasic-facsimile-no_facsimile_text_nodes-constraint-rule-69" "\x{a}" ~ " " sch:rule [ @@ -6636,7 +8227,7 @@ Tpath = element path { empty >> sch:pattern [ - id = "testbasic-path-pathmustnotbeclosed-constraint-rule-17" + id = "testbasic-path-pathmustnotbeclosed-constraint-rule-70" "\x{a}" ~ " " sch:rule [ @@ -6729,7 +8320,7 @@ TaddSpan = empty >> sch:pattern [ id = - "testbasic-addSpan-addSpan-requires-spanTo-constraint-assert-16" + "testbasic-addSpan-addSpan-requires-spanTo-constraint-assert-69" "\x{a}" ~ " " sch:rule [ @@ -6750,7 +8341,7 @@ TaddSpan = ] >> sch:pattern [ id = - "testbasic-addSpan-addSpan-requires-spanTo-fr-constraint-assert-17" + "testbasic-addSpan-addSpan-requires-spanTo-fr-constraint-assert-70" "\x{a}" ~ " " sch:rule [ @@ -6792,7 +8383,7 @@ TdamageSpan = empty >> sch:pattern [ id = - "testbasic-damageSpan-damageSpan-requires-spanTo-constraint-assert-18" + "testbasic-damageSpan-damageSpan-requires-spanTo-constraint-assert-71" "\x{a}" ~ " " sch:rule [ @@ -6813,7 +8404,7 @@ TdamageSpan = ] >> sch:pattern [ id = - "testbasic-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-19" + "testbasic-damageSpan-damageSpan-requires-spanTo-fr-constraint-assert-72" "\x{a}" ~ " " sch:rule [ @@ -6843,7 +8434,7 @@ TdelSpan = empty >> sch:pattern [ id = - "testbasic-delSpan-delSpan-requires-spanTo-constraint-assert-20" + "testbasic-delSpan-delSpan-requires-spanTo-constraint-assert-73" "\x{a}" ~ " " sch:rule [ @@ -6864,7 +8455,7 @@ TdelSpan = ] >> sch:pattern [ id = - "testbasic-delSpan-delSpan-requires-spanTo-fr-constraint-assert-21" + "testbasic-delSpan-delSpan-requires-spanTo-fr-constraint-assert-74" "\x{a}" ~ " " sch:rule [ @@ -7011,7 +8602,7 @@ Tsubst = element subst { ((Tadd | Tsurplus | Tdel | Tmodel.milestoneLike)+) >> sch:pattern [ - id = "testbasic-subst-substContents1-constraint-assert-22" + id = "testbasic-subst-substContents1-constraint-assert-75" "\x{a}" ~ " " sch:rule [ @@ -7307,7 +8898,7 @@ Tlink = element link { empty >> sch:pattern [ - id = "testbasic-link-linkTargets3-constraint-assert-23" + id = "testbasic-link-linkTargets3-constraint-assert-76" "\x{a}" ~ " " sch:rule [ @@ -7348,7 +8939,7 @@ Tab = Tmacro.abContent >> sch:pattern [ id = - "testbasic-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-20" + "testbasic-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-19" "\x{a}" ~ " " sch:rule [ @@ -7524,7 +9115,7 @@ Tjoin = element join { ((Tmodel.descLike | Tmodel.certLike)*) >> sch:pattern [ - id = "testbasic-join-joinTargets3-constraint-assert-24" + id = "testbasic-join-joinTargets3-constraint-assert-77" "\x{a}" ~ " " sch:rule [ @@ -7672,7 +9263,7 @@ TstandOff = (Tmodel.standOffPart+) >> sch:pattern [ id = - "testbasic-standOff-nested_standOff_should_be_typed-constraint-assert-25" + "testbasic-standOff-nested_standOff_should_be_typed-constraint-assert-78" "\x{a}" ~ " " sch:rule [ @@ -7840,6 +9431,14 @@ TTEI = >> sch:ns [ prefix = "rna" uri = "http://relaxng.org/ns/compatibility/annotations/1.0" + ] + >> sch:ns [ + prefix = "sch" + uri = "http://purl.oclc.org/dsdl/schematron" + ] + >> sch:ns [ + prefix = "sch1x" + uri = "http://www.ascc.net/xml/schematron" ], Tatt.global.attributes, Tatt.typed.attributes, @@ -7920,7 +9519,7 @@ Tdiv = (Tmodel.divBottom, Tmodel.global*)*)?) >> sch:pattern [ id = - "testbasic-div-abstractModel-structure-div-in-l-or-lg-constraint-report-21" + "testbasic-div-abstractModel-structure-div-in-l-or-lg-constraint-report-20" "\x{a}" ~ " " sch:rule [ @@ -7942,7 +9541,7 @@ Tdiv = ] >> sch:pattern [ id = - "testbasic-div-abstractModel-structure-div-in-ab-or-p-constraint-report-22" + "testbasic-div-abstractModel-structure-div-in-ab-or-p-constraint-report-21" "\x{a}" ~ " " sch:rule [ @@ -8194,6 +9793,7 @@ TdocDate = Tmacro.phraseSeq, Tatt.global.attributes, Tatt.datable.attributes, + Tatt.calendarSystem.attributes, empty } Tfront = @@ -8340,7 +9940,7 @@ Tplatypus = ## attribute bill { "duck" }?) >> sch:pattern [ - id = "testbasic-platypus-bill-silly-test-constraint-report-24" + id = "testbasic-platypus-bill-silly-test-constraint-report-23" "\x{a}" ~ " " sch:rule [ @@ -8373,7 +9973,7 @@ TMenu = } start = TTEI | Tdiv sch:pattern [ - id = "testbasic-outerconstraint-constraint-rule-18" + id = "testbasic-outerconstraint-constraint-rule-71" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test33.rnc b/Test/expected-results/test33.rnc index 38866a385..1b698d163 100644 --- a/Test/expected-results/test33.rnc +++ b/Test/expected-results/test33.rnc @@ -354,86 +354,7 @@ sch:pattern [ " " ] tei_att.datable.attributes = - tei_att.datable.w3c.attributes, - tei_att.datable.attribute.calendar, - tei_att.datable.attribute.period -tei_att.datable.attribute.calendar = - - ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. - attribute calendar { - list { - xsd:anyURI { pattern = "\S+" }+ - } - }? -sch:pattern [ - id = - "foo-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:*[@calendar]" - "\x{a}" ~ - " " - sch:assert [ - test = "string-length( normalize-space(.) ) gt 0" - " @calendar indicates one or more\x{a}" ~ - " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ - " but this " - sch:name [ ] - " element has no textual content." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] -sch:pattern [ - id = "foo-att.datable-calendar-calendar-deprecated-constraint-rule-5" - "\x{a}" ~ - " " - sch:rule [ - context = - "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" - "\x{a}" ~ - " " - sch:let [ - name = "me_phrase" - value = "concat( 'Attribute calendar on ', local-name(.))" - ] - "\x{a}" ~ - " " - sch:assert [ - test = "'2024-11-11' cast as xs:date ge current-date()" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - sch:report [ - role = "nonfatal" - test = "@calendar" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] + tei_att.datable.w3c.attributes, tei_att.datable.attribute.period tei_att.datable.attribute.period = [ a:documentation [ @@ -685,7 +606,7 @@ tei_att.global.source.attribute.source = }? sch:pattern [ id = - "foo-att.global.source-source-only_1_ODD_source-constraint-rule-6" + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -974,7 +895,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-7" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-5" "\x{a}" ~ " " sch:rule [ @@ -1080,7 +1001,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-8" + id = "foo-att.typed-subtypeTyped-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -1123,7 +1044,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-9" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1244,7 +1165,7 @@ tei_att.spanning.attribute.spanTo = }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1301,7 +1222,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -2130,6 +2051,38 @@ tei_att.personal.attribute.sort = ## (sort) specifies the sort order of the name component in relation to others within the name. attribute sort { xsd:nonNegativeInteger }? +tei_att.calendarSystem.attributes = + tei_att.calendarSystem.attribute.calendar +tei_att.calendarSystem.attribute.calendar = + + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }? +sch:pattern [ + id = "foo-att.calendarSystem-calendar-calendar-constraint-rule-10" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.milestoneUnit.attributes = tei_att.milestoneUnit.attribute.unit tei_att.milestoneUnit.attribute.unit = @@ -2194,7 +2147,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2216,7 +2169,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2405,7 +2358,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2499,7 +2452,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-9" + id = "foo-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2523,7 +2476,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-from-rt-from-constraint-assert-8" + id = "foo-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ " " sch:rule [ @@ -2549,7 +2502,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-to-rt-to-constraint-assert-9" + id = "foo-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2741,6 +2694,35 @@ tei_name = tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-name-calendar-calendar-check-name-constraint-rule-12" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_rs = @@ -2869,6 +2851,7 @@ tei_date = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, tei_att.editLike.attributes, tei_att.dimensions.attributes, tei_att.typed.attributes, @@ -2881,6 +2864,7 @@ tei_time = (text | tei_model.gLike | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, tei_att.canonical.attributes, tei_att.editLike.attributes, tei_att.dimensions.attributes, @@ -2917,7 +2901,7 @@ tei_ptr = element tei:ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-10" + id = "foo-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2951,7 +2935,7 @@ tei_ref = element tei:ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-11" + id = "foo-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3324,6 +3308,36 @@ tei_author = tei_att.global.attributes, tei_att.naming.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-author-calendar-calendar-check-author-constraint-rule-14" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_editor = @@ -3334,6 +3348,36 @@ tei_editor = tei_att.global.attributes, tei_att.naming.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-editor-calendar-calendar-check-editor-constraint-rule-15" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_respStmt = @@ -3355,6 +3399,35 @@ tei_resp = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-resp-calendar-calendar-check-resp-constraint-rule-16" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_title = @@ -3372,6 +3445,36 @@ tei_title = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-title-calendar-calendar-check-title-constraint-rule-17" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. attribute level { @@ -3401,6 +3504,36 @@ tei_meeting = tei_att.global.attributes, tei_att.datable.attributes, tei_att.canonical.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-meeting-calendar-calendar-check-meeting-constraint-rule-18" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_imprint = @@ -3508,7 +3641,7 @@ tei_relatedItem = element tei:relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-12" + id = "foo-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3556,7 +3689,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-13" + "foo-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3598,7 +3731,7 @@ tei_lg = | tei_lg)*, (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-lg-atleast1oflggapl-constraint-assert-12" + id = "foo-lg-atleast1oflggapl-constraint-assert-17" "\x{a}" ~ " " sch:rule [ @@ -3619,7 +3752,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-14" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3837,6 +3970,36 @@ tei_sponsor = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-sponsor-calendar-calendar-check-sponsor-constraint-rule-19" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_funder = @@ -3847,6 +4010,36 @@ tei_funder = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-funder-calendar-calendar-check-funder-constraint-rule-20" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_principal = @@ -3857,6 +4050,36 @@ tei_principal = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-principal-calendar-calendar-check-principal-constraint-rule-21" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_editionStmt = @@ -3960,6 +4183,35 @@ tei_idno = "OCLC" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-idno-calendar-calendar-check-idno-constraint-rule-22" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_availability = @@ -3992,6 +4244,36 @@ tei_licence = tei_att.global.attributes, tei_att.pointing.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-licence-calendar-calendar-check-licence-constraint-rule-23" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_seriesStmt = @@ -4076,7 +4358,7 @@ tei_projectDesc = } tei_samplingDecl = - ## (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + ## (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] element tei:samplingDecl { tei_model.pLike+, tei_att.global.attributes, @@ -4154,7 +4436,7 @@ tei_quotation = element tei:quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-15" + id = "foo-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4408,7 +4690,7 @@ tei_citeStructure = attribute match { text } >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-outer-match-constraint-rule-14" + "foo-citeStructure-match-citestructure-outer-match-constraint-rule-24" "\x{a}" ~ " " sch:rule [ @@ -4429,7 +4711,7 @@ tei_citeStructure = ] >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-inner-match-constraint-rule-15" + "foo-citeStructure-match-citestructure-inner-match-constraint-rule-25" "\x{a}" ~ " " sch:rule [ @@ -4537,6 +4819,7 @@ tei_taxonomy = (tei_category | tei_taxonomy)*)) | (tei_model.biblLike, (tei_category | tei_taxonomy)*)), tei_att.global.attributes, + tei_att.datcat.attributes, empty } tei_category = @@ -4546,6 +4829,7 @@ tei_category = ((tei_catDesc+ | (tei_model.descLike | tei_gloss)*), tei_category*), tei_att.global.attributes, + tei_att.datcat.attributes, empty } tei_catDesc = @@ -4603,6 +4887,36 @@ tei_unitDecl = tei_att.canonical.attributes, tei_att.datable.attributes, tei_att.global.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-unitDecl-calendar-calendar-check-unitDecl-constraint-rule-26" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_unitDef = @@ -4617,6 +4931,36 @@ tei_unitDef = tei_att.datable.attributes, tei_att.canonical.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-unitDef-calendar-calendar-check-unitDef-constraint-rule-27" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_conversion = @@ -4628,6 +4972,36 @@ tei_conversion = tei_att.datable.attributes, tei_att.formula.attributes, tei_att.locatable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-conversion-calendar-calendar-check-conversion-constraint-rule-28" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates a source unit of measure that is to be converted into another unit indicated in " @@ -4664,6 +5038,36 @@ tei_application = tei_att.global.attributes, tei_att.typed.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-application-calendar-calendar-check-application-constraint-rule-29" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies an identifier for the application, independent of its version number or display name. attribute ident { xsd:Name }, @@ -4697,6 +5101,36 @@ tei_creation = (text | tei_model.limitedPhrase | tei_listChange)*, tei_att.global.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-creation-calendar-calendar-check-creation-constraint-rule-30" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_langUsage = @@ -4718,7 +5152,7 @@ tei_language = a:documentation [ "(identifier) Supplies a language code constructed as defined in " ns1:a [ href = "https://tools.ietf.org/html/bcp47" "BCP 47" ] - " which is used to identify the language documented by this element, and which is referenced by the global " + " which is used to identify the language documented by this element, and which may be referenced by the global " ns1:code [ "@xml:lang" ] " attribute." ] @@ -4730,7 +5164,7 @@ tei_language = "") }, - ## specifies the approximate percentage (by volume) of the text which uses this language. + ## specifies the approximate percentage of the text which uses this language. attribute usage { xsd:nonNegativeInteger }?, empty } @@ -4891,6 +5325,36 @@ tei_change = tei_att.docStatus.attributes, tei_att.global.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-change-calendar-calendar-check-change-constraint-rule-31" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (target) points to one or more elements that belong to this change. attribute target { @@ -4943,6 +5407,14 @@ tei_TEI = >> sch:ns [ prefix = "rna" uri = "http://relaxng.org/ns/compatibility/annotations/1.0" + ] + >> sch:ns [ + prefix = "sch" + uri = "http://purl.oclc.org/dsdl/schematron" + ] + >> sch:ns [ + prefix = "sch1x" + uri = "http://www.ascc.net/xml/schematron" ], tei_att.global.attributes, tei_att.typed.attributes, @@ -5028,7 +5500,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -5050,7 +5522,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5405,6 +5877,7 @@ tei_docDate = tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, empty } tei_front = @@ -5519,7 +5992,7 @@ tei_link = element tei:link { empty >> sch:pattern [ - id = "foo-link-linkTargets3-constraint-assert-15" + id = "foo-link-linkTargets3-constraint-assert-31" "\x{a}" ~ " " sch:rule [ @@ -5560,7 +6033,7 @@ tei_ab = tei_macro.abContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" + "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5736,7 +6209,7 @@ tei_join = element tei:join { ((tei_model.descLike | tei_model.certLike)*) >> sch:pattern [ - id = "foo-join-joinTargets3-constraint-assert-16" + id = "foo-join-joinTargets3-constraint-assert-32" "\x{a}" ~ " " sch:rule [ @@ -5884,7 +6357,7 @@ tei_standOff = (tei_model.standOffPart+) >> sch:pattern [ id = - "foo-standOff-nested_standOff_should_be_typed-constraint-assert-17" + "foo-standOff-nested_standOff_should_be_typed-constraint-assert-33" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test34.combined.json b/Test/expected-results/test34.combined.json index 896d04c8a..5b974f3e2 100644 --- a/Test/expected-results/test34.combined.json +++ b/Test/expected-results/test34.combined.json @@ -936,6 +936,27 @@ [ ] }, "attributes" : [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } }, + { "onElement" : true, "ident" : "ident", "mode" : "add", @@ -1068,7 +1089,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -1988,7 +2029,8 @@ { "model" : [ ], "atts" : - [ "att.global" ], + [ "att.global", + "att.datcat" ], "unknown" : [ ] }, "attributes" : @@ -2077,6 +2119,27 @@ [ ] }, "attributes" : [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } }, + { "onElement" : true, "ident" : "target", "mode" : "add", @@ -2637,6 +2700,27 @@ [ ] }, "attributes" : [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } }, + { "onElement" : true, "ident" : "fromUnit", "mode" : "add", @@ -3016,7 +3100,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "alternate", @@ -3051,6 +3155,7 @@ [ "att.global", "att.canonical", "att.datable", + "att.calendarSystem", "att.editLike", "att.dimensions", "att.typed" ], @@ -4396,8 +4501,8 @@ "type" : "elementSpec", "module" : "textstructure", "desc" : - [ "contains the date of a document, as given\non a title page or in a dateline.<\/desc>" ], - "shortDesc" : "(document date) contains the date of a document, as given\non a title page or in a dateline.", + [ "contains the date of a document, as given on a title page or in a dateline.<\/desc>" ], + "shortDesc" : "(document date) contains the date of a document, as given on a title page or in a dateline.", "gloss" : [ "document date<\/gloss>" ], "altIdent" : @@ -4409,7 +4514,8 @@ "model.pLike.front" ], "atts" : [ "att.global", - "att.datable" ], + "att.datable", + "att.calendarSystem" ], "unknown" : [ ] }, "attributes" : @@ -4623,7 +4729,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -4851,8 +4977,8 @@ "type" : "elementSpec", "module" : "header", "desc" : - [ "describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units.<\/desc>" ], - "shortDesc" : "(extent) describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units.", + [ "describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units.<\/desc>" ], + "shortDesc" : "(extent) describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units.", "gloss" : [ "extent<\/gloss>" ], "altIdent" : @@ -5156,7 +5282,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -5366,8 +5512,8 @@ "type" : "elementSpec", "module" : "header", "desc" : - [ "documents the notation and the datum used for geographic coordinates expressed as content of\n the geo<\/gi> element elsewhere within the document.<\/desc>" ], - "shortDesc" : "(geographic coordinates declaration) documents the notation and the datum used for geographic coordinates expressed as content of\n the geo element elsewhere within the document.", + [ "documents the notation and the datum used for geographic coordinates expressed as content of the geo<\/gi> element elsewhere within the document.<\/desc>" ], + "shortDesc" : "(geographic coordinates declaration) documents the notation and the datum used for geographic coordinates expressed as content of the geo element elsewhere within the document.", "gloss" : [ "geographic coordinates declaration<\/gloss>" ], "altIdent" : @@ -5838,6 +5984,27 @@ [ ] }, "attributes" : [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } }, + { "onElement" : true, "ident" : "type", "mode" : "change", @@ -6422,8 +6589,8 @@ "type" : "elementSpec", "module" : "header", "desc" : - [ "describes the languages, sublanguages, registers, dialects, etc.\nrepresented within a text.<\/desc>" ], - "shortDesc" : "(language usage) describes the languages, sublanguages, registers, dialects, etc.\nrepresented within a text.", + [ "describes the languages, sublanguages, registers, dialects, etc. represented within a text.<\/desc>" ], + "shortDesc" : "(language usage) describes the languages, sublanguages, registers, dialects, etc. represented within a text.", "gloss" : [ "language usage<\/gloss>" ], "altIdent" : @@ -6477,8 +6644,8 @@ "ns" : "", "usage" : "req", "desc" : - [ "Supplies a language code constructed as defined in BCP 47<\/ref> which is used to identify the\n language documented by this element, and which is referenced by the global\n xml:lang<\/att> attribute.<\/desc>" ], - "shortDesc" : "(identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the\n language documented by this element, and which is referenced by the global\n xml:lang attribute.", + [ "Supplies a language code constructed as defined in BCP 47<\/ref> which is used to identify the\n language documented by this element, and which may be referenced by the global\n xml:lang<\/att> attribute.<\/desc>" ], + "shortDesc" : "(identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the\n language documented by this element, and which may be referenced by the global\n xml:lang attribute.", "gloss" : [ "identifier<\/gloss>" ], "altIdent" : @@ -6497,8 +6664,8 @@ "ns" : "", "usage" : "opt", "desc" : - [ "specifies the approximate percentage (by volume) of the text which uses this language.<\/desc>" ], - "shortDesc" : "specifies the approximate percentage (by volume) of the text which uses this language.", + [ "specifies the approximate percentage of the text which uses this language.<\/desc>" ], + "shortDesc" : "specifies the approximate percentage of the text which uses this language.", "gloss" : [ ], "altIdent" : @@ -6660,7 +6827,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -7274,7 +7461,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -7555,7 +7762,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -7610,8 +7837,8 @@ "type" : "elementSpec", "module" : "header", "desc" : - [ "indicates the extent of normalization or regularization of the original source carried out\n in converting it to electronic form.<\/desc>" ], - "shortDesc" : "(normalization) indicates the extent of normalization or regularization of the original source carried out\n in converting it to electronic form.", + [ "indicates the extent of normalization or regularization of the original source carried out in converting it to electronic form.<\/desc>" ], + "shortDesc" : "(normalization) indicates the extent of normalization or regularization of the original source carried out in converting it to electronic form.", "gloss" : [ "normalization<\/gloss>" ], "altIdent" : @@ -8210,7 +8437,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -9136,7 +9383,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -9481,8 +9748,8 @@ "type" : "elementSpec", "module" : "header", "desc" : - [ "contains a prose description of the rationale and methods used in sampling texts in the\n creation of a corpus or collection.<\/desc>" ], - "shortDesc" : "(sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the\n creation of a corpus or collection.", + [ "contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource.<\/desc>" ], + "shortDesc" : "(sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource.", "gloss" : [ "sampling declaration<\/gloss>" ], "altIdent" : @@ -10001,7 +10268,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "macroRef", @@ -10395,7 +10682,8 @@ { "model" : [ ], "atts" : - [ "att.global" ], + [ "att.global", + "att.datcat" ], "unknown" : [ ] }, "attributes" : @@ -10782,6 +11070,7 @@ "atts" : [ "att.global", "att.datable", + "att.calendarSystem", "att.canonical", "att.editLike", "att.dimensions", @@ -10963,6 +11252,27 @@ [ ] }, "attributes" : [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } }, + { "onElement" : true, "ident" : "level", "mode" : "add", @@ -11537,7 +11847,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "elementRef", @@ -11565,7 +11895,27 @@ "unknown" : [ ] }, "attributes" : - [ ], + [ + { "onElement" : true, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "The calendar<\/att> attribute will be removed from this element\n as it will only be allowed on elements that represent dates with their content. This is because the calendar<\/att> attribute\n (unlike datingMethod<\/att> defined in\n att.datable.custom<\/ident>) defines the calendar system of the date\n in the original material defined by the parent element, not<\/emph> the calendar to\n which the date is normalized.<\/desc>", + "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "alternate", @@ -13434,6 +13784,39 @@ "dataRef" : { "key" : "teidata.text" } } } ] }, + { "ident" : "att.calendarSystem", + "ns" : "http:\/\/foo.foo\/foo", + "type" : "classSpec", + "module" : "tei", + "desc" : + [ "provides attributes for indicating calendar systems to which a date belongs.<\/desc>" ], + "shortDesc" : "provides attributes for indicating calendar systems to which a date belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "attributes" : + [ + { "onElement" : false, + "ident" : "calendar", + "mode" : "add", + "ns" : "", + "usage" : "opt", + "desc" : + [ "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], + "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", + "gloss" : + [ ], + "altIdent" : + [ ], + "valDesc" : + [ ], + "datatype" : + { "min" : "1", + "max" : "unbounded", + "dataRef" : + { "key" : "teidata.pointer" } } } ] }, + { "ident" : "att.canonical", "ns" : "http:\/\/foo.foo\/foo", "type" : "classSpec", @@ -13695,26 +14078,6 @@ [ ] }, "attributes" : [ - { "onElement" : false, - "ident" : "calendar", - "mode" : "add", - "ns" : "", - "usage" : "opt", - "desc" : - [ "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.<\/desc>" ], - "shortDesc" : "indicates one or more systems or calendars to which the\n date represented by the content of this element belongs.", - "gloss" : - [ ], - "altIdent" : - [ ], - "valDesc" : - [ ], - "datatype" : - { "min" : "1", - "max" : "unbounded", - "dataRef" : - { "key" : "teidata.pointer" } } }, - { "onElement" : false, "ident" : "period", "mode" : "add", diff --git a/Test/expected-results/test34.odd.html b/Test/expected-results/test34.odd.html index 3d9722ca7..a8a48ab62 100644 --- a/Test/expected-results/test34.odd.html +++ b/Test/expected-results/test34.odd.html @@ -1142,6 +1142,15 @@

    provides attributes that may be used to supply a canonical referenceas a means of identifying the target of a pointer.

    + + + + 13.3.7. Names and Nyms] diff --git a/Test/expected-results/test34.rnc b/Test/expected-results/test34.rnc index 970124f4a..906b6fb7b 100644 --- a/Test/expected-results/test34.rnc +++ b/Test/expected-results/test34.rnc @@ -355,86 +355,7 @@ sch:pattern [ " " ] tei_att.datable.attributes = - tei_att.datable.w3c.attributes, - tei_att.datable.attribute.calendar, - tei_att.datable.attribute.period -tei_att.datable.attribute.calendar = - - ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. - attribute calendar { - list { - xsd:anyURI { pattern = "\S+" }+ - } - }? -sch:pattern [ - id = - "foo-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:*[@calendar]" - "\x{a}" ~ - " " - sch:assert [ - test = "string-length( normalize-space(.) ) gt 0" - " @calendar indicates one or more\x{a}" ~ - " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ - " but this " - sch:name [ ] - " element has no textual content." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] -sch:pattern [ - id = "foo-att.datable-calendar-calendar-deprecated-constraint-rule-5" - "\x{a}" ~ - " " - sch:rule [ - context = - "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" - "\x{a}" ~ - " " - sch:let [ - name = "me_phrase" - value = "concat( 'Attribute calendar on ', local-name(.))" - ] - "\x{a}" ~ - " " - sch:assert [ - test = "'2024-11-11' cast as xs:date ge current-date()" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - sch:report [ - role = "nonfatal" - test = "@calendar" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] + tei_att.datable.w3c.attributes, tei_att.datable.attribute.period tei_att.datable.attribute.period = [ a:documentation [ @@ -686,7 +607,7 @@ tei_att.global.source.attribute.source = }? sch:pattern [ id = - "foo-att.global.source-source-only_1_ODD_source-constraint-rule-6" + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -975,7 +896,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-7" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-5" "\x{a}" ~ " " sch:rule [ @@ -1081,7 +1002,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-8" + id = "foo-att.typed-subtypeTyped-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -1124,7 +1045,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-9" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1245,7 +1166,7 @@ tei_att.spanning.attribute.spanTo = }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1302,7 +1223,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -2135,6 +2056,38 @@ tei_att.personal.attribute.sort = ## (sort) specifies the sort order of the name component in relation to others within the name. attribute sort { xsd:nonNegativeInteger }? +tei_att.calendarSystem.attributes = + tei_att.calendarSystem.attribute.calendar +tei_att.calendarSystem.attribute.calendar = + + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }? +sch:pattern [ + id = "foo-att.calendarSystem-calendar-calendar-constraint-rule-10" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.milestoneUnit.attributes = tei_att.milestoneUnit.attribute.unit tei_att.milestoneUnit.attribute.unit = @@ -2199,7 +2152,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2221,7 +2174,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2410,7 +2363,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2504,7 +2457,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-9" + id = "foo-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2528,7 +2481,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-from-rt-from-constraint-assert-8" + id = "foo-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ " " sch:rule [ @@ -2554,7 +2507,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-to-rt-to-constraint-assert-9" + id = "foo-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2746,6 +2699,35 @@ tei_name = tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-name-calendar-calendar-check-name-constraint-rule-12" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_rs = @@ -2874,6 +2856,7 @@ tei_date = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, tei_att.editLike.attributes, tei_att.dimensions.attributes, tei_att.typed.attributes, @@ -2886,6 +2869,7 @@ tei_time = (text | tei_model.gLike | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, tei_att.canonical.attributes, tei_att.editLike.attributes, tei_att.dimensions.attributes, @@ -2922,7 +2906,7 @@ tei_ptr = element ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-10" + id = "foo-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2956,7 +2940,7 @@ tei_ref = element ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-11" + id = "foo-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3329,6 +3313,36 @@ tei_author = tei_att.global.attributes, tei_att.naming.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-author-calendar-calendar-check-author-constraint-rule-14" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_editor = @@ -3339,6 +3353,36 @@ tei_editor = tei_att.global.attributes, tei_att.naming.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-editor-calendar-calendar-check-editor-constraint-rule-15" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_respStmt = @@ -3360,6 +3404,35 @@ tei_resp = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-resp-calendar-calendar-check-resp-constraint-rule-16" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_title = @@ -3377,6 +3450,36 @@ tei_title = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-title-calendar-calendar-check-title-constraint-rule-17" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. attribute level { @@ -3406,6 +3509,36 @@ tei_meeting = tei_att.global.attributes, tei_att.datable.attributes, tei_att.canonical.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-meeting-calendar-calendar-check-meeting-constraint-rule-18" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_imprint = @@ -3513,7 +3646,7 @@ tei_relatedItem = element relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-12" + id = "foo-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3561,7 +3694,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-13" + "foo-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3603,7 +3736,7 @@ tei_lg = | tei_lg)*, (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-lg-atleast1oflggapl-constraint-assert-12" + id = "foo-lg-atleast1oflggapl-constraint-assert-17" "\x{a}" ~ " " sch:rule [ @@ -3624,7 +3757,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-14" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3842,6 +3975,36 @@ tei_sponsor = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-sponsor-calendar-calendar-check-sponsor-constraint-rule-19" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_funder = @@ -3852,6 +4015,36 @@ tei_funder = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-funder-calendar-calendar-check-funder-constraint-rule-20" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_principal = @@ -3862,6 +4055,36 @@ tei_principal = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-principal-calendar-calendar-check-principal-constraint-rule-21" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_editionStmt = @@ -3965,6 +4188,35 @@ tei_idno = "OCLC" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-idno-calendar-calendar-check-idno-constraint-rule-22" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_availability = @@ -3997,6 +4249,36 @@ tei_licence = tei_att.global.attributes, tei_att.pointing.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-licence-calendar-calendar-check-licence-constraint-rule-23" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_seriesStmt = @@ -4081,7 +4363,7 @@ tei_projectDesc = } tei_samplingDecl = - ## (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + ## (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] element samplingDecl { tei_model.pLike+, tei_att.global.attributes, @@ -4159,7 +4441,7 @@ tei_quotation = element quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-15" + id = "foo-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4413,7 +4695,7 @@ tei_citeStructure = attribute match { text } >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-outer-match-constraint-rule-14" + "foo-citeStructure-match-citestructure-outer-match-constraint-rule-24" "\x{a}" ~ " " sch:rule [ @@ -4434,7 +4716,7 @@ tei_citeStructure = ] >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-inner-match-constraint-rule-15" + "foo-citeStructure-match-citestructure-inner-match-constraint-rule-25" "\x{a}" ~ " " sch:rule [ @@ -4540,6 +4822,7 @@ tei_taxonomy = (tei_category | tei_taxonomy)*)) | (tei_model.biblLike, (tei_category | tei_taxonomy)*)), tei_att.global.attributes, + tei_att.datcat.attributes, empty } tei_category = @@ -4549,6 +4832,7 @@ tei_category = ((tei_catDesc+ | (tei_model.descLike | tei_gloss)*), tei_category*), tei_att.global.attributes, + tei_att.datcat.attributes, empty } tei_catDesc = @@ -4606,6 +4890,36 @@ tei_unitDecl = tei_att.canonical.attributes, tei_att.datable.attributes, tei_att.global.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-unitDecl-calendar-calendar-check-unitDecl-constraint-rule-26" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_unitDef = @@ -4620,6 +4934,36 @@ tei_unitDef = tei_att.datable.attributes, tei_att.canonical.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-unitDef-calendar-calendar-check-unitDef-constraint-rule-27" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_conversion = @@ -4631,6 +4975,36 @@ tei_conversion = tei_att.datable.attributes, tei_att.formula.attributes, tei_att.locatable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-conversion-calendar-calendar-check-conversion-constraint-rule-28" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates a source unit of measure that is to be converted into another unit indicated in " @@ -4667,6 +5041,36 @@ tei_application = tei_att.global.attributes, tei_att.typed.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-application-calendar-calendar-check-application-constraint-rule-29" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies an identifier for the application, independent of its version number or display name. attribute ident { xsd:Name }, @@ -4700,6 +5104,36 @@ tei_creation = (text | tei_model.limitedPhrase | tei_listChange)*, tei_att.global.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-creation-calendar-calendar-check-creation-constraint-rule-30" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_langUsage = @@ -4721,7 +5155,7 @@ tei_language = a:documentation [ "(identifier) Supplies a language code constructed as defined in " ns1:a [ href = "https://tools.ietf.org/html/bcp47" "BCP 47" ] - " which is used to identify the language documented by this element, and which is referenced by the global " + " which is used to identify the language documented by this element, and which may be referenced by the global " ns1:code [ "@xml:lang" ] " attribute." ] @@ -4733,7 +5167,7 @@ tei_language = "") }, - ## specifies the approximate percentage (by volume) of the text which uses this language. + ## specifies the approximate percentage of the text which uses this language. attribute usage { xsd:nonNegativeInteger }?, empty } @@ -4894,6 +5328,36 @@ tei_change = tei_att.docStatus.attributes, tei_att.global.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-change-calendar-calendar-check-change-constraint-rule-31" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (target) points to one or more elements that belong to this change. attribute target { @@ -4946,6 +5410,14 @@ tei_TEI = >> sch:ns [ prefix = "rna" uri = "http://relaxng.org/ns/compatibility/annotations/1.0" + ] + >> sch:ns [ + prefix = "sch" + uri = "http://purl.oclc.org/dsdl/schematron" + ] + >> sch:ns [ + prefix = "sch1x" + uri = "http://www.ascc.net/xml/schematron" ], tei_att.global.attributes, tei_att.typed.attributes, @@ -5031,7 +5503,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -5053,7 +5525,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5408,6 +5880,7 @@ tei_docDate = tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, empty } tei_front = @@ -5522,7 +5995,7 @@ tei_link = element link { empty >> sch:pattern [ - id = "foo-link-linkTargets3-constraint-assert-15" + id = "foo-link-linkTargets3-constraint-assert-31" "\x{a}" ~ " " sch:rule [ @@ -5563,7 +6036,7 @@ tei_ab = tei_macro.abContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" + "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5739,7 +6212,7 @@ tei_join = element join { ((tei_model.descLike | tei_model.certLike)*) >> sch:pattern [ - id = "foo-join-joinTargets3-constraint-assert-16" + id = "foo-join-joinTargets3-constraint-assert-32" "\x{a}" ~ " " sch:rule [ @@ -5887,7 +6360,7 @@ tei_standOff = (tei_model.standOffPart+) >> sch:pattern [ id = - "foo-standOff-nested_standOff_should_be_typed-constraint-assert-17" + "foo-standOff-nested_standOff_should_be_typed-constraint-assert-33" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test35.rnc b/Test/expected-results/test35.rnc index 6746aa409..d1306426c 100644 --- a/Test/expected-results/test35.rnc +++ b/Test/expected-results/test35.rnc @@ -355,86 +355,7 @@ sch:pattern [ " " ] tei_att.datable.attributes = - tei_att.datable.w3c.attributes, - tei_att.datable.attribute.calendar, - tei_att.datable.attribute.period -tei_att.datable.attribute.calendar = - - ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. - attribute calendar { - list { - xsd:anyURI { pattern = "\S+" }+ - } - }? -sch:pattern [ - id = - "foo-att.datable-calendar-calendar-check-deprecated-constraint-rule-4" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:*[@calendar]" - "\x{a}" ~ - " " - sch:assert [ - test = "string-length( normalize-space(.) ) gt 0" - " @calendar indicates one or more\x{a}" ~ - " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ - " but this " - sch:name [ ] - " element has no textual content." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] -sch:pattern [ - id = "foo-att.datable-calendar-calendar-deprecated-constraint-rule-5" - "\x{a}" ~ - " " - sch:rule [ - context = - "tei:*[@calendar][ not( self::tei:date | self::tei:time | self::tei:origDate ) ]" - "\x{a}" ~ - " " - sch:let [ - name = "me_phrase" - value = "concat( 'Attribute calendar on ', local-name(.))" - ] - "\x{a}" ~ - " " - sch:assert [ - test = "'2024-11-11' cast as xs:date ge current-date()" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' construct is outdated (as of 2024-11-11); ODD processors may ignore it, and its use is no longer supported' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - sch:report [ - role = "nonfatal" - test = "@calendar" - "\x{a}" ~ - " " - sch:value-of [ - select = - "concat( $me_phrase, ' becomes outdated on 2024-11-11' )" - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " -] + tei_att.datable.w3c.attributes, tei_att.datable.attribute.period tei_att.datable.attribute.period = [ a:documentation [ @@ -686,7 +607,7 @@ tei_att.global.source.attribute.source = }? sch:pattern [ id = - "foo-att.global.source-source-only_1_ODD_source-constraint-rule-6" + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-4" "\x{a}" ~ " " sch:rule [ @@ -975,7 +896,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-7" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-5" "\x{a}" ~ " " sch:rule [ @@ -1081,7 +1002,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-8" + id = "foo-att.typed-subtypeTyped-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -1124,7 +1045,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-9" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1245,7 +1166,7 @@ tei_att.spanning.attribute.spanTo = }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-10" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1302,7 +1223,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-11" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -2130,6 +2051,38 @@ tei_att.personal.attribute.sort = ## (sort) specifies the sort order of the name component in relation to others within the name. attribute sort { xsd:nonNegativeInteger }? +tei_att.calendarSystem.attributes = + tei_att.calendarSystem.attribute.calendar +tei_att.calendarSystem.attribute.calendar = + + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }? +sch:pattern [ + id = "foo-att.calendarSystem-calendar-calendar-constraint-rule-10" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.milestoneUnit.attributes = tei_att.milestoneUnit.attribute.unit tei_att.milestoneUnit.attribute.unit = @@ -2194,7 +2147,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-7" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2216,7 +2169,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-8" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2405,7 +2358,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-12" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2499,7 +2452,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-9" + id = "foo-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2523,7 +2476,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-from-rt-from-constraint-assert-8" + id = "foo-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ " " sch:rule [ @@ -2549,7 +2502,7 @@ tei_rt = xsd:anyURI { pattern = "\S+" } }?) >> sch:pattern [ - id = "foo-rt-to-rt-to-constraint-assert-9" + id = "foo-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ " " sch:rule [ @@ -2741,6 +2694,35 @@ tei_name = tei_att.datable.attributes, tei_att.editLike.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-name-calendar-calendar-check-name-constraint-rule-12" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_rs = @@ -2869,6 +2851,7 @@ tei_date = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, tei_att.editLike.attributes, tei_att.dimensions.attributes, tei_att.typed.attributes, @@ -2881,6 +2864,7 @@ tei_time = (text | tei_model.gLike | tei_model.phrase | tei_model.global)*, tei_att.global.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, tei_att.canonical.attributes, tei_att.editLike.attributes, tei_att.dimensions.attributes, @@ -2917,7 +2901,7 @@ tei_ptr = element tei:ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-10" + id = "foo-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2951,7 +2935,7 @@ tei_ref = element tei:ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-11" + id = "foo-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -3324,6 +3308,36 @@ tei_author = tei_att.global.attributes, tei_att.naming.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-author-calendar-calendar-check-author-constraint-rule-14" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_editor = @@ -3334,6 +3348,36 @@ tei_editor = tei_att.global.attributes, tei_att.naming.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-editor-calendar-calendar-check-editor-constraint-rule-15" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_respStmt = @@ -3355,6 +3399,35 @@ tei_resp = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-resp-calendar-calendar-check-resp-constraint-rule-16" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_title = @@ -3372,6 +3445,36 @@ tei_title = attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-title-calendar-calendar-check-title-constraint-rule-17" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. attribute level { @@ -3401,6 +3504,36 @@ tei_meeting = tei_att.global.attributes, tei_att.datable.attributes, tei_att.canonical.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-meeting-calendar-calendar-check-meeting-constraint-rule-18" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_imprint = @@ -3508,7 +3641,7 @@ tei_relatedItem = element tei:relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-12" + id = "foo-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3556,7 +3689,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-13" + "foo-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3598,7 +3731,7 @@ tei_lg = | tei_lg)*, (tei_model.divBottom, tei_model.global*)*) >> sch:pattern [ - id = "foo-lg-atleast1oflggapl-constraint-assert-12" + id = "foo-lg-atleast1oflggapl-constraint-assert-17" "\x{a}" ~ " " sch:rule [ @@ -3619,7 +3752,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-14" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3818,6 +3951,36 @@ tei_sponsor = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-sponsor-calendar-calendar-check-sponsor-constraint-rule-19" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_funder = @@ -3828,6 +3991,36 @@ tei_funder = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-funder-calendar-calendar-check-funder-constraint-rule-20" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_principal = @@ -3838,6 +4031,36 @@ tei_principal = tei_att.global.attributes, tei_att.canonical.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-principal-calendar-calendar-check-principal-constraint-rule-21" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_editionStmt = @@ -3941,6 +4164,35 @@ tei_idno = "OCLC" | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = "foo-idno-calendar-calendar-check-idno-constraint-rule-22" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_availability = @@ -3973,6 +4225,36 @@ tei_licence = tei_att.global.attributes, tei_att.pointing.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-licence-calendar-calendar-check-licence-constraint-rule-23" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_seriesStmt = @@ -4057,7 +4339,7 @@ tei_projectDesc = } tei_samplingDecl = - ## (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + ## (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] element tei:samplingDecl { tei_model.pLike+, tei_att.global.attributes, @@ -4135,7 +4417,7 @@ tei_quotation = element tei:quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-15" + id = "foo-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4389,7 +4671,7 @@ tei_citeStructure = attribute match { text } >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-outer-match-constraint-rule-14" + "foo-citeStructure-match-citestructure-outer-match-constraint-rule-24" "\x{a}" ~ " " sch:rule [ @@ -4410,7 +4692,7 @@ tei_citeStructure = ] >> sch:pattern [ id = - "foo-citeStructure-match-citestructure-inner-match-constraint-rule-15" + "foo-citeStructure-match-citestructure-inner-match-constraint-rule-25" "\x{a}" ~ " " sch:rule [ @@ -4518,6 +4800,7 @@ tei_taxonomy = (tei_category | tei_taxonomy)*)) | (tei_model.biblLike, (tei_category | tei_taxonomy)*)), tei_att.global.attributes, + tei_att.datcat.attributes, empty } tei_category = @@ -4527,6 +4810,7 @@ tei_category = ((tei_catDesc+ | (tei_model.descLike | tei_gloss)*), tei_category*), tei_att.global.attributes, + tei_att.datcat.attributes, empty } tei_catDesc = @@ -4584,6 +4868,36 @@ tei_unitDecl = tei_att.canonical.attributes, tei_att.datable.attributes, tei_att.global.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-unitDecl-calendar-calendar-check-unitDecl-constraint-rule-26" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_unitDef = @@ -4598,6 +4912,36 @@ tei_unitDef = tei_att.datable.attributes, tei_att.canonical.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-unitDef-calendar-calendar-check-unitDef-constraint-rule-27" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_conversion = @@ -4609,6 +4953,36 @@ tei_conversion = tei_att.datable.attributes, tei_att.formula.attributes, tei_att.locatable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-conversion-calendar-calendar-check-conversion-constraint-rule-28" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], [ a:documentation [ "indicates a source unit of measure that is to be converted into another unit indicated in " @@ -4645,6 +5019,36 @@ tei_application = tei_att.global.attributes, tei_att.typed.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-application-calendar-calendar-check-application-constraint-rule-29" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## supplies an identifier for the application, independent of its version number or display name. attribute ident { xsd:Name }, @@ -4678,6 +5082,36 @@ tei_creation = (text | tei_model.limitedPhrase | tei_listChange)*, tei_att.global.attributes, tei_att.datable.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-creation-calendar-calendar-check-creation-constraint-rule-30" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], empty } tei_langUsage = @@ -4699,7 +5133,7 @@ tei_language = a:documentation [ "(identifier) Supplies a language code constructed as defined in " ns1:a [ href = "https://tools.ietf.org/html/bcp47" "BCP 47" ] - " which is used to identify the language documented by this element, and which is referenced by the global " + " which is used to identify the language documented by this element, and which may be referenced by the global " ns1:code [ "@xml:lang" ] " attribute." ] @@ -4711,7 +5145,7 @@ tei_language = "") }, - ## specifies the approximate percentage (by volume) of the text which uses this language. + ## specifies the approximate percentage of the text which uses this language. attribute usage { xsd:nonNegativeInteger }?, empty } @@ -4872,6 +5306,36 @@ tei_change = tei_att.docStatus.attributes, tei_att.global.attributes, tei_att.typed.attributes, + ( + ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. + attribute calendar { + list { + xsd:anyURI { pattern = "\S+" }+ + } + }?) + >> sch:pattern [ + id = + "foo-change-calendar-calendar-check-change-constraint-rule-31" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*[@calendar]" + "\x{a}" ~ + " " + sch:assert [ + test = "string-length( normalize-space(.) ) gt 0" + " @calendar indicates one or more\x{a}" ~ + " systems or calendars to which the date represented by the content of this element belongs,\x{a}" ~ + " but this " + sch:name [ ] + " element has no textual content." + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ], ## (target) points to one or more elements that belong to this change. attribute target { @@ -4924,6 +5388,14 @@ tei_TEI = >> sch:ns [ prefix = "rna" uri = "http://relaxng.org/ns/compatibility/annotations/1.0" + ] + >> sch:ns [ + prefix = "sch" + uri = "http://purl.oclc.org/dsdl/schematron" + ] + >> sch:ns [ + prefix = "sch1x" + uri = "http://www.ascc.net/xml/schematron" ], tei_att.global.attributes, tei_att.typed.attributes, @@ -5009,7 +5481,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-16" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -5031,7 +5503,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-17" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5386,6 +5858,7 @@ tei_docDate = tei_macro.phraseSeq, tei_att.global.attributes, tei_att.datable.attributes, + tei_att.calendarSystem.attributes, empty } tei_front = @@ -5500,7 +5973,7 @@ tei_link = element tei:link { empty >> sch:pattern [ - id = "foo-link-linkTargets3-constraint-assert-15" + id = "foo-link-linkTargets3-constraint-assert-31" "\x{a}" ~ " " sch:rule [ @@ -5541,7 +6014,7 @@ tei_ab = tei_macro.abContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-18" + "foo-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5717,7 +6190,7 @@ tei_join = element tei:join { ((tei_model.descLike | tei_model.certLike)*) >> sch:pattern [ - id = "foo-join-joinTargets3-constraint-assert-16" + id = "foo-join-joinTargets3-constraint-assert-32" "\x{a}" ~ " " sch:rule [ @@ -5865,7 +6338,7 @@ tei_standOff = (tei_model.standOffPart+) >> sch:pattern [ id = - "foo-standOff-nested_standOff_should_be_typed-constraint-assert-17" + "foo-standOff-nested_standOff_should_be_typed-constraint-assert-33" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/testdrama.compiled.xml b/Test/expected-results/testdrama.compiled.xml index 267d6ce23..51170c138 100644 --- a/Test/expected-results/testdrama.compiled.xml +++ b/Test/expected-results/testdrama.compiled.xml @@ -237,7 +237,7 @@ provides an externally-defined means of identifying the entity (or entities) being named, using a coded value of some kind. - fournit un moyen, défini de façon externe, + fournit un moyen, défini de façon externe, d'identifier l'entité (ou les entités) nommé(es), en utilisant une valeur codée d'un certain type. 何らかのコード化された値を用いて、名付けられたエンティティを識別する外部的に定義された手段を提供する。 @@ -334,17 +334,20 @@ provides attributes for describing numerical ranges. + 数値範囲を記述するための属性を提供する。 gives a minimum estimated value for the approximate measurement. donne une estimation de la valeur minimum pour la mesure. + 概算推量のための最小推定値を与える。 gives a maximum estimated value for the approximate measurement. donne une estimation de la valeur maximum pour la mesure. + 概算推量のための最大推定値を与える。 @@ -353,6 +356,7 @@ observed. lorsque la mesure résume plus d'une observation, fournit la valeur minimum observée. + 1回以上の観察あるいは範囲をまとめた推量において、観察された最小値を提供する。 @@ -361,11 +365,13 @@ observed. lorsque la mesure résume plus d'une observation, fournit la valeur maximum observée. + 1回以上の観察あるいは範囲をまとめた推量において、観察された最大値を提供する。 specifies the degree of statistical confidence (between zero and one) that a value falls within the range specified by min and max, or the proportion of observed values that fall within that range. + minmax、で指定された範囲内の値、あるいはその範囲内で観察された値の割合の統計的な信頼度を0から1の値で示す。 @@ -901,78 +907,6 @@ Elements - - - - indicates one or more systems or calendars to which the - date represented by the content of this element belongs. - 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. - 指明該日期表示所使用的曆法計算系統。 - この要素を含むコンテントにおける日付の暦やシステムを示す。 - indique le système ou le calendrier auquel - appartient la date exprimée dans le contenu de l'élément. - indica el sistema o calendario en que se muestra - una fecha. - indica il sistema o calendario al quale la data - appartiene. - - - - - - - @calendar indicates one or more - systems or calendars to which the date represented by the content of this element belongs, - but this element has no textual content. - - - - - - - - - - - - - - - - - - He was born on Feb. 22, 1732 (Feb. 11, 1731/32, - O.S.). - - - - - He was born on Feb. 22, 1732 - (Feb. 11, 1731/32, O.S.). - - - - - Dienstag 7/19 - Mai. - - - - L'année - 1960 fut, en vertu du calendrier grégorien, bissextile ; le 22 juin tomba ainsi le jour de - l'été, le 22 juin. - - -

    Note that the calendar attribute (unlike datingMethod defined in - att.datable.custom) defines the calendar system of the date - in the original material defined by the parent element, not the calendar to - which the date is normalized.

    -
    -

    - calendar属性は(att.datable.customクラスで定義されるdatingMethod属性と異なり、 - 親要素によって定義される原資料の日付の暦日システムを定義するものであり、 - どの暦日に日付を正規化するかではない。

    -
    supplies pointers to one or more definitions of named periods of time (typically categorys, dates or events) within which the datable item is understood to have occurred. @@ -1042,8 +976,8 @@ Elements elements or attributes with the appropriate Data Categories (DCs) defined by an external taxonomy, in this way establishing the identity of information containers and values, and providing means of interpreting them. - datacat属性とValueDatacat属性を提供する.これらがXML要素や属性を連携させる日付分類は、国際標準ISO - 12620:2009で定義されるものであり,にあるISOCatと呼ばれるWebリポジトリに格納されている. + datacat属性とValueDatacat属性を提供する。これらがXML要素や属性を連携させる日付分類は、国際標準ISO + 12620:2009で定義されるものであり、にあるISOCatと呼ばれるWebリポジトリに格納されている。 provides a pointer to a definition of, and/or general @@ -1051,7 +985,7 @@ Elements information container (element content or attribute value), by referencing an external taxonomy or ontology. If valueDatcat is present in the immediate context, this attribute takes on role (a), while valueDatcat performs role (b). - 指定された要素をISOcatの適切なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む. + 指定された要素をISOcatの適切なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む。 @@ -1061,7 +995,7 @@ Elements information about a value of an information container (element content or attribute value), by reference to an external taxonomy or ontology. Used especially where a contrast with datcat is needed. - 指定された要素の内容または指定された属性の値を,ISOcatの適切かつ単純なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む. + 指定された要素の内容または指定された属性の値を、ISOcatの適切かつ単純なデータカテゴリ(または複数のデータカテゴリ)と対応付けるPID(永続的識別子)を含む。 @@ -1201,9 +1135,59 @@ Elements dictionary is therefore advised.

    Yet another possibility is to associate the information about the relationship between a TEI markup element and the data category that it is intended to model already at the level of - modeling the dictionary resource, that is, at the level of the ODD, in equiv element + modeling the dictionary resource, that is, at the level of the ODD, in the equiv element that is a child of elementSpec or attDef.

    + +

    The taxonomy element is a handy tool for encoding taxonomies that are later + referenced by att.datcat attributes, but it can also act as an + intermediary device, for example holding a fragment of an external taxonomy (or + flattening an external ontology) that is relevant to the project or document at hand. + (It is also imaginable that, for the purpose of the project at hand, the local + taxonomy element combines vocabularies that originate from more than one external + taxonomy or ontology.) In such cases, the taxonomy creates a local layer of + indirection: the att.datcat attributes internal to the resource + may reference the category elements stored in the header (as well as the + taxonomy element itself), whereas these same category and + taxonomy elements use att.datcat attributes to + reference the original taxonomy or ontology.

    + + + + + + + + UD syntactic relations + + + + acl: Clausal modifier of noun (adjectival clause) + + + + acl:relcl: relative clause modifier + + + + advcl: Adverbial clause modifier + + + + + + +

    The above fragment was excerpted from the GB subset of the ParlaMint project in April 2023, and + enriched with att.datcat attributes for the purpose of + illustrating the mechanism described here.

    +

    Note that, in the ideal case, the values of att.datcat attributes + should be persistent identifiers, and that the addressing scheme of Universal Dependencies is + treated here as persistent for the sake of illustration. Note also that the contrast between + datcat used on taxonomy on the one hand, and the valueDatcat + used on category on the other, is not mandatory: both kinds of relations could be + encoded by means of the generic datcat attribute, but using the former for the + container and the latter for the content is more user-friendly.

    +

    The targetDatcat attribute is designed to be used in, e.g., feature structure declarations, and is analogous to the targetLang attribute of the @@ -1227,6 +1211,49 @@ Elements its values, which are used as direct references to data categories; hence the use of datcat in the symbol element.

    + +

    The att.datcat attributes can be used for any sort of taxonomies. + The example below illustrates their usefulness for describing usage domain labels in + dictionaries on the example of the Diccionario da Lingua Portugueza by + António de Morais Silva, retro-digitised in the MORDigital project.

    + + + + + + + + + + Medical and Health Sciences + Ciências Médicas e da Saúde + + + Medicine + + + + Medicina + + + + + + + + + + + Med. + + +

    In the Morais dictionary, the relevant domain labels are in the header, getting referenced + inside the dictionary, from usg elements. The vocabulary used for dictionary-internal + labelling is in turn anchored in the MorDigital controlled vocabulary + service of the NOVA University of Lisbon – School of Social Sciences and Humanities + (NOVA FCSH).

    +

    The TEI Abstract Model can be expressed as a hierarchy of attribute-value matrices (AVMs) @@ -1259,7 +1286,7 @@ Elements assumption that its URIs are going to persist. It is imaginable that a project may choose to address a local taxonomy store instead, but this risks losing the advantage of interchangeability with other projects.

    -

    Historically, datcat and valueDatcat originate from the (the now obsolete) ISO +

    Historically, datcat and valueDatcat originate from the (now obsolete) ISO 12620:2009 standard, describing the data model and procedures for a Data Category Registry (DCR). The current version of that standard, ISO 12620-1, does not standardize the serialization of pointers, merely mentioning the TEI att.datcat as @@ -1272,7 +1299,7 @@ Elements

    ISO - 12620:2009は、データ分類のレジストリ(DCR)に関するデータモデルと手続きについての国際標準である.データ分類は,一つの言語の構造における基本的な記述子として定義される。DCRのデータモデルでは、個々のデータ分類には、ユニークな永続的識別子(PID)、つまり、URIが割り当てられる.DCRからデータ分類を利用する言語資源,あるいは、できることならそのスキーマは、このPIDを用いて参照すべきである。TEI文書のようなXMLベースの資源(にて参照可能)に関しては、ISO 12620:2009 付録 + 12620:2009は、データ分類のレジストリ(DCR)に関するデータモデルと手続きについての国際標準である。データ分類は、一つの言語の構造における基本的な記述子として定義される。DCRのデータモデルでは、個々のデータ分類には、ユニークな永続的識別子(PID)、つまり、URIが割り当てられる。DCRからデータ分類を利用する言語資源、あるいは、できることならそのスキーマは、このPIDを用いて参照すべきである。TEI文書のようなXMLベースの資源(にて参照可能)に関しては、ISO 12620:2009 付録 Aに、datcat属性とvalueDatcat属性を提供する小さなデータ分類参照のXML語彙がある。

    @@ -1300,7 +1327,7 @@ its parent is selected. 親要素が選択された場合に、当該要素がデフォルトとして選択されるか どうかを示す。 - Indique si oui ou non cet élément est affecté par + indique si oui ou non cet élément est affecté par défaut quand son élément parent a été sélectionné. indica si el elemento es seleccionado automáticamente o no cuando es seleccionado el padre indica se l'elemento è selezionato automaticamente quando è selezionato il genitore @@ -1558,8 +1585,7 @@ logique et doivent être traités dans l'ordre séquentiel la división falta el material presente en el extremo en la fuente. 当該区分は、元資料の終わりの部分が欠けている。 - par rapport à la source, lacune à la -fin de la division + par rapport à la source, lacune à la fin de la division alla partizione testuale manca del materiale nella parte finale presente nell'originale @@ -2429,7 +2455,7 @@ writing medium, e.g. pencil 이 필적이 원고에서 사용된 범위를 명시한다. 当該筆致が、当該手書き資料中で、どの程度出現しているかを示す。 - Spécifie la fréquence d'apparition de cette + spécifie la fréquence d'apparition de cette main dans le manuscrit. specifica in quale misura è utilizzata la mano in questione nel manoscritto especifica en qué medida es utilizada la mano en el manuscrito. @@ -2569,6 +2595,7 @@ ressource informatique selon une taxinomie normalisée. provides attributes by which a resource (such as an externally held media file) may be located. + (外部のメディアファイルのような)資料を示す属性を提供する。 uniform resource locator @@ -2576,7 +2603,9 @@ ressource informatique selon une taxinomie normalisée. localizador de recurso uniforme adresse URL URL (localizzatore universale di risorse) + 統一資源位置指定子 specifies the URL from which the media concerned may be obtained. + 関連するメディアを入手するURLを示す。 @@ -2620,7 +2649,7 @@ ressource informatique selon une taxinomie normalisée. mètre metro metro - metro + メートル SI base unit of length 길이의 SI 기본 단위 SI基礎長度單位 @@ -2769,7 +2798,7 @@ ressource informatique selon une taxinomie normalisée. 公頃 ettaro hectárea - ヘクタール + ヘクタール 1 hm² 1² hm ヘクタール。広さを示す。 @@ -2781,8 +2810,8 @@ ressource informatique selon une taxinomie normalisée. 옹스트롱 埃格斯特朗 (單位) angstrom - 10⁻¹⁰ m - オングストローム + オングストローム + 10⁻¹⁰ m 10⁻¹⁰ 公尺 オングストローム。長さの単位。 10⁻¹⁰ m @@ -2812,7 +2841,7 @@ ressource informatique selon une taxinomie normalisée. 아래 언급 참조 分貝 デシベル。エネルギーの強さを示す。 - Voir remarques, ci-dessous. + voir remarques, ci-dessous. ver las notas a continuación vedi note di seguito @@ -2893,7 +2922,7 @@ ressource informatique selon une taxinomie normalisée. 2²⁰或1 048 576位元組 2²⁰ o 1 048 576 bytes メビバイト。1,048,576バイト(2の20乗bytes)のこと。 - 2²⁰ ou 1 048 576 octets + 2²⁰ ou 1 048 576 octets 2²⁰ o 1 048 576 byte @@ -2973,7 +3002,7 @@ ressource informatique selon une taxinomie normalisée. measurement is of only one of them.

    -

    En général, si l'article est composé d'entités distinctes, la forme plurielle doit être employée, même si la mesure ne s'applique qu'à l'une d'entre elles.

    +

    En général, si l'article est composé d'entités distinctes, la forme plurielle doit être employée, même si la mesure ne s'applique qu'à l'une d'entre elles.

    Generalmente cuando el material se compone de entidades discretas, se debe usar la forma plural, incluso cuando la medida se refiere solamente a una de ellas.

    @@ -3039,8 +3068,7 @@ baby?

    当該単位は、一般には、国際単位系の標準的な略式表記で示されるべきで - ある。(詳細は、, - を参照のこと。) + ある。(詳細は、を参照のこと。) けれども、符号化する人は、非公式な計測単位、例えば、 linescharactersも使用してもよい。

    @@ -3106,17 +3134,17 @@ this name in the form of a set of whitespace-separated values, for example the o
    3.6.1. Referring Strings - 13.3.6. Names and Nyms + 13.3.7. Names and Nyms provides attributes to indicate any specialised notation used for element content. - + 要素の内容を対象とした特別な表記法を示す属性を提供する。 names the notation used for the content of the element. 요소 내용으로 사용되어 앞서 정의된 표기법 이름을 제시한다. 提供先前已定義過、適用於該元素內容的記號名稱。 - 当該要素の内容にある既定表記法の名前を示す。 + 当該要素の内容に用いられた表記法の名前を示す。 précise le nom d'une notation définie précédemment, utilisée dans le contenu de l'élément. indica el nombre de una anotación definida @@ -3143,13 +3171,14 @@ this name in the form of a set of whitespace-separated values, for example the o specifies where this item is placed. specifie où cet item se trouve. + このアイテムが置かれた場所を指定する。 at the top of the page 위쪽 여백에 있음 頁首空白處 - 上の余白。 + 当該頁の上の余白。 en el margen superior nel margine superiore dans la marge supérieure @@ -3161,17 +3190,18 @@ this name in the form of a set of whitespace-separated values, for example the o margine inferiore en el margen inferior 頁尾空白處 - 下の余白。 + 当該頁の下の余白。 in the margin (left, right, or both) dans la marge (gauche, droite ou les deux en même temps) + 余白(左left, 右right, 左右both) on the opposite, i.e. facing, page 맞쪽, 즉 마주보는 페이지 對頁頁面 - 反対側。例えば、見返しや、向かいのページなど。 + 反対側,つまり,向かいのページ。 en el opuesto,es decir en el anverso, reverso, etc. sur la page opposée nella pagina accanto @@ -3180,7 +3210,7 @@ this name in the form of a set of whitespace-separated values, for example the o on the other side of the leaf 장의 반대쪽에 있음 書頁反頁頁面 - 裏面。 + 当該葉の裏面。 en la otra cara de la página de l'autre côté de la feuille @@ -3191,7 +3221,7 @@ this name in the form of a set of whitespace-separated values, for example the o above the line 행 위에 있음 行上方 - 当該線の上。 + 当該行の上。 sobre la línea au-dessus de la ligne al di sopra della linea @@ -3199,12 +3229,13 @@ this name in the form of a set of whitespace-separated values, for example the o to the right, e.g. to the right of a vertical line of text, or to the right of a figure + 右側、つまり、縦書きテキストや図の右側。 below the line 행 아래 行底 - 当該線の下。 + 当該行の下。 debajo de la línea au-dessous de la ligne al di sotto della linea @@ -3212,12 +3243,13 @@ this name in the form of a set of whitespace-separated values, for example the o to the left, e.g. to the left of a vertical line of text, or to the left of a figure + 左側、つまり、縦書きテキストや図の左側。 at the end of e.g. chapter or volume. 주석이 장 또는 책 뒤에 나타난다. 註解出現於章節或書冊的結尾 - 章末や巻末に注釈がある。 + 末尾(たとえば章や巻の)。 al final del capítulo o del volumen. à la fin, par exemple d'un chapitre ou d'un volume alla fine del capitolo o del volume @@ -3225,10 +3257,12 @@ this name in the form of a set of whitespace-separated values, for example the o within the body of the text. dans le corps du texte + テキスト本文の中で。 in a predefined space, for example left by an earlier scribe. dans un espace prédéfini, par exemple à gauche d'un scripteur précédent + あらかじめ用意された箇所(たとえば過去の書写者が空けておいたなど)。 @@ -3366,7 +3400,7 @@ sub-classification for the element additional to that provided by its to other elements by means of one or more URI references. 하나 이상의 URI 참조를 통해서 다른 요소를 가리키는 모든 요소에 의해 사용된 속성 집합을 정의한다. 定義一組與其他元素相連結的所有元素皆使用的屬性,連結是使用ㄧ個或多個統一資源識別符 (URI) 參照。 - URIにより要素を参照する要素に共通して付与される属性を定義する。 + 一つ以上のURIにより他の要素を指示するすべての要素に使用される属性のセットを作成する示す。 fournit un ensemble d'attributs utilisés par tous les éléments qui pointent vers d'autres éléments au moyen d'une ou de plusieurs références URI. define un conjunto de atributos usados por todos los elementos que señalan a otros elementos a través de uno o más URI. definisce un insieme di attributi usati da tutti gli elementi che puntano ad altri elementi tramite uno o più URI @@ -3374,6 +3408,7 @@ sub-classification for the element additional to that provided by its specifies the language of the content to be found at the destination referenced by target, using a language tag generated according to BCP 47. + BCP 47に従って生成された言語タグを使用することで、targetの参照先にあるコンテンツの言語を特定する。 @@ -3403,12 +3438,16 @@ sub-classification for the element additional to that provided by its these must remain consistent with their IETFInternet Engineering Task Force definitions.

    + +

    + 値はBCP 47に準拠している必要がある。 (x-で始まっていたり、-x-を含むような記述のように)値がプライベートに使用されるコードの場合、自身のident属性に対応する値をもったlanguage要素は、TEIのヘッダーにおいてその値を記述しなくてはならない。そうした(非公式なコードの)記述はあるいは公式なコードにオプションとして取り入れられることもあるが、公式なコードはIETFInternet Engineering Task Force (インターネット技術特別調査委員会)の定義に準拠したものでなくてはならない。

    +
    specifies the destination of the reference by supplying one or more URI References 하나 혹은 다수의 URI 참조를 제시하여 참조의 목적지를 명시한다. 用一個或多個統一資源識別符參照 (URI References) 來說明參照所指位置。 - ひとつ以上のURIで、参照先を特定する。 + 1つまたは複数のURI参照を指名することで、参照先を指定する。 précise la cible de la référence en donnant une ou plusieurs références URI especifica la destinación de una referencia @@ -3425,6 +3464,9 @@ sub-classification for the element additional to that provided by its n’est autorisé à l'intérieur d'un URI. Si un espace est requis dans un URI, il faut le représenter avec une séquence d'échappement, comme par exemple TEI%20Consortium.

    +

    + 空白で区切られた1つもしくはそれ以上の構文的に有効なURI参照。空白はURIを区切るために使用されるため、各URI中において空白を使用することはできない。URIに空白文字が必要な場合は、たとえば TEI%20Consortium と言ったような通常の方法でエスケープする必要がある。 +

    evaluate @@ -3505,7 +3547,7 @@ sub-classification for the element additional to that provided by its enclose groups of pointer elements. 포인터 요소군을 포함하는 모든 요소에 공통적인 속성 집합을 정의한다. 定義一組屬性,通用於所有包含指標元素群組的元素。 - ポインタとなる要素に共通の属性を示す。 + ポインター要素のグループを含むすべての要素に共通の属性セットを提供する。 fournit un ensemble d'attributs communs à tous les éléments qui contiennent des groupes d'éléments pointeurs. define un conjunto de atributos comunes a todos los elementos que incluyen grupos de indicadores. definisce un insieme di attributi comuni a tutti gli elementi che includono gruppi di puntatori @@ -3561,13 +3603,13 @@ sub-classification for the element additional to that provided by its función meta fonction cible funzione obiettivo + ターゲット機能 describes the function of each of the values of the target attribute of the enclosed link, join, or alt tags. link, join 또는 alt 태그의 속성 값 각각에 대한 기능을 기술한다. 描述每個元素標籤linkjoin、或alt當中的屬性target的屬性值功能。 - 要素linkjoinaltに付与された属性 - targetの値の機能を示す。 + linkタグやjoinタグ、altタグに付与されるtarget属性の値のそれぞれの機能を示す。 décrit la fonction de chacune des valeurs de l'attribut target pour les balises incluses link, join, ou alt. @@ -3593,14 +3635,12 @@ sub-classification for the element additional to that provided by its valeurs se trouvant dans l'attribut domains de l'élément en question, si un tel attribut a été spécifié.

    - +

    - 当該値は、要素link, join, altに付与 - されている属性targetの値と一致しなければならない - (属性ptrは、中間的な存在で、ここでの手法を補うために必要 - になるかもしれない)。また、 - domainsが付与されている場合には、その値とも一致する必要 - がある。 + 個々の値の数はlinkjoin、 + あるいは altにおけるtarget属性における値の数と一致しなければならない。 + (仲立ちをするptr要素がこのために必要かもしれない)。 + もしdomains属性が付与されるならば、現在の要素のdomains属性における値の数とも一致すべきである。

    @@ -3636,6 +3676,11 @@ sub-classification for the element additional to that provided by its

    Attribute values will often vary depending on the type of element to which they are attached. For example, a cl, may take values such as coordinate, subject, adverbial etc. For a phr, such values as subject, predicate etc. may be more appropriate. Such constraints will typically be implemented by a project-defined customization.

    +

    + 属性値は付与された要素のタイプに応じてしばしば変化する。 + たとえば、clは座標や主語、副詞のような値をとることができる。 + phrの場合、主語や述語のような値はより適切かもしれない。 + そういった制約は、典型的には、プロジェクトで定義されたカスタマイズとして実装されるだろう。

    @@ -3645,9 +3690,11 @@ subject, predicate etc. may be more appropriate. Such constraints will typically
    provides attributes for elements in lists or groups that are sortable, but whose sorting key cannot be derived mechanically from the element content. + ソート可能だが、ソートのキーは要素の内容から機械的に取り出すことはできないリストやグループにおける要素に関する属性。 supplies the sort key for this element in an index, list or group which contains it. + インデックスやリスト、グループに含まれる要素のソートキーを提供する。 David's other principal backer, Josiah @@ -3688,14 +3735,16 @@ subject, predicate etc. may be more appropriate. Such constraints will typically

    La clave de ordenación se utiliza para determinar la secuencia y agrupar las entradas en un índice.

    - -

    当該属性は、索引中の項目の一連やグループを決めるために使用され る。当該属性がない場合、当該要素の内容が、並び替えのために使用 される。

    -

    辞書順序は、機械可読文字集合の照合順序とは、多くの場合異なって いる。例えば、英語の場合、辞書項目4-Hは、 - 文字化されたfourhの所に出てくる。また、項目 McCoyは、maccoyの所に出てくるだ - ろう。しかし、項目A1, A4, - A5らは、文字 順のa-AAとの間で、数字順で出てくる。 - 当該並び替えキーは、当該辞書が採る正書法では、場所の特定が十分 に行えない場合に、必要となる。

    + +

    当該属性は、索引中の項目の並びやグループを決めるために使用される。 + これはほかの値によって並べ替えを行いたいときの一続きの文字を与え、それによって望まれる順序を実現する。 + ソートキー構文の詳細はアプリケーション依存である。

    +

    辞書順はしばしば機械可読文字集合の照合順と異なる。 + 英語圏の辞書では、4-Hという項目はしばしばfourhとしてアルファベット化され、McCoyは、maccoyとしてアルファベット化されうる。 + それに対して、A1A4A5a-AAのあいだに数字順に置かれてしまうこともある。 + ソートキーは、辞書項目の表記が辞書における順序を決定するのに不十分な際に必要となる。

    +
    @@ -3846,7 +3895,7 @@ The element indicated by @spanTo () must follow Objetos extensibles del formato del lenguaje de Stylesheet XSL-FO - Langage XSL (Extensible Stylesheet )Formatting + langage XSL (Extensible Stylesheet )Formatting Objects linguaggio XSL-FO @@ -4211,7 +4260,7 @@ dans lequel les traits encodés portant cet attribut sont supposés être apparu 該元素標記的內容為一頁數或頁數範圍。 el elemento contiene un número de página o un intervalo de páginas. ページ番号またはページ範囲を含む。 - l'élément contient un nombre de pages + l'élément contient un nombre de pages ou l'étendue de sélection des pages. l'elemento contiene l'indicazione di pagina o pagine @@ -5364,8 +5413,7 @@ fin d'une division de texte. 문단 같은 요소 내에서 또는 그 사이에서 나타날 수 있는 요소를 모아 놓는다. 匯集中間層次的元素:可出現於段落內與段落之間,或方塊性層次內與層次間。 句相当レベルの要素内または間に出現可能な要素をまとめる。 - regroupe des éléments qui peuvent apparaître à l’intérieur ou entre des - composants semblables au paragraphe. + regroupe des éléments qui peuvent apparaître à l’intérieur ou entre des composants semblables au paragraphe. agrupa elementos de la clase intermedia (internivel): tales elementos pueden aparecer bien al interno bien entre párrafos u entre otros elementos de tipo división de texto. @@ -5796,34 +5844,31 @@ used for transcribing extant documents. 확실성 정도를 표현하는 속성 값의 범위를 정의한다. 定義表示正確度的屬性值範圍 確信度を示す属性値の程度を示す。 - Définit la gamme des valeurs d'attribut exprimant un - degré de certitude - define la gama de valores de atributos que exprimen un - grado de certeza. - definisce la gamma di valori di attributi che esprimono - un grado di certezza + définit la gamme des valeurs d'attribut exprimant un degré de certitude + define la gama de valores de atributos que exprimen un grado de certeza. + definisce la gamma di valori di attributi che esprimono un grado di certezza - - - - - - - + + + + + + + -

    Certainty may be expressed by one of the predefined symbolic values high, - medium, or low. The value - unknown should be used in cases where the encoder - does not wish to assert an opinion about the matter. -

    +

    Certainty may be expressed by one of the predefined symbolic values high, + medium, or low. The value + unknown should be used in cases where the encoder + does not wish to assert an opinion about the matter. +

    -

    確信度は、high, medium, lowのうち の1つが選択される。より詳細に示したい場合には、 teidata.probabilityを単独または追加と して使用することができる。

    +

    確信度は、highmediumlowのうち の1つが選択される。より詳細に示したい場合には、 teidata.probabilityを単独または追加と して使用することができる。

    -

    Le degré de certitude peut être exprimé par l'une des valeurs symboliques prédéfinies - high, medium, ou low.

    -
    +

    Le degré de certitude peut être exprimé par l'une des valeurs symboliques prédéfinies + high, medium, ou low.

    + defines the range of attribute values expressing a probability. 확률을 표현하는 속성 값의 범위를 정의한다. @@ -6272,7 +6317,7 @@ value.

    当該属性値は、 BCP 47 で定義されている言語タグになる。 現行のBCPには、RFC4646とRFC4647の内容が含まれている。 今後は、他のIETF文書も採用されるかもしれない。

    -

    BCP 47にある言語タグは、ハイフン (-, U+002D)で区切られた一連の +

    BCP 47にある言語タグは、ハイフン (-、U+002D)で区切られた一連の 下位タグから構成されている。下位タグは、以下の順番 らなる。下位タグは、初めの1つは必須で、あとは選択的である。 variantとextensionは複数回、他は1回のみ出現出現する。この下位タグ のグループは繰り返し可能である。 @@ -6337,7 +6382,7 @@ value.

    W3Cの国際化活動では、BCP 47の解説を以下に用意している。 - HTMLとXMLで使用される言語タグ.

    + HTMLとXMLで使用される言語タグ。

    Les valeurs pour cet attribut sont les étiquettes de langue définies @@ -6565,8 +6610,7 @@ value. 正規表現は、よくパタン/パターンともいわれるもので、 一連の文字列を示すための表現方法である。一般には、簡潔な表現で、 多くのものを表現するために使用される。例えば、3つの文字列 - Handel, Händel, - Haendelを、1つのパタン + HandelHändelHaendelを、1つのパタン H(ä|ae?)ndelで示すことができる(または、 H(ä|ae?)ndelは、3つの文字列のいずれにも マッチする、といえる)。 wikipedia @@ -6996,10 +7040,11 @@ en-tête et un texte, constitue un document TEI. attributs des composantes des noms de personnes atributos para los componentes de nombres propios de persona attributi per componenti di nomi propri di persona + 名前を構成するもののための属性。通常は人物名だが、必ずしもそうとは限らない。 common attributes for those elements which form part of a name usually, but not necessarily, a personal name. 사람 이름의 부분을 형성하는 요소에 대한 공통 속성 構成部分個人名稱的元素所用之通用屬性 - 個人名の構成要素となる要素に付与される属性。 + 名前の構成要素となる要素に付与される一般的な属性。通常は人物名だが、必ずしもそうとは限らない。 attributs communs des éléments qui composent un nom de personne atributos comunes para los elementos que forman parte de un nombre propio de persona. attributi comuni agli @@ -7038,6 +7083,7 @@ abbreviation or simply as an initial. abrégé abbreviato el componente del nombre aparece como forma abreviada. + 省略された the name component is given in an abbreviated form. 이름 성분이 축약형으로 제시된다. 該名稱元件為縮寫形式。 @@ -7052,6 +7098,7 @@ abbreviation or simply as an initial. initiale lettera iniziale el componente del nombre aparece mediante la inicial. + イニシャルの the name component is indicated only by one initial. 이름 성분이 하나의 이니셜(첫글자)로 제시되었다. @@ -7066,10 +7113,11 @@ one initial. sort ordre + 並び替え specifies the sort order of the name component in relation to others within the name. 사람 이름 내에 다른 것과 관련된 이름 성분의 정렬 순서를 명시한다. 指明個人名稱中該名稱元件與其他元件之間的排列順序。 - 個人名間で並び替えをする際の順番を示す。 + 名前の並び替えにおいて、その名前要素が他の構成要素との関係で何番目に優先されるかを指定する。 précise dans quel ordre est placé la composante par rapport aux autres dans le nom d'une personne. especifica la posición del componente al interno del nombre propio de persona en relación con los otros componentes. specifica la posizione della componente all'interno del nome proprio di persona in relazione alle altre componenti @@ -7079,6 +7127,78 @@ one initial. 13.2.1. Personal Names + + provides attributes for indicating calendar systems to which a date belongs. + assegna attributi per indicare i sistemi o calendari ai quali appartiene una data. + + + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + He was born on Feb. 22, 1732 (Feb. 11, 1731/32, + O.S.). + + + + + He was born on Feb. 22, 1732 + (Feb. 11, 1731/32, O.S.). + + + + + Dienstag 7/19 + Mai. + + + + L'année + 1960 fut, en vertu du calendrier grégorien, bissextile ; le 22 juin tomba ainsi le jour de + l'été, le 22 juin. + + +

    Note that the calendar attribute declares the calendar + system used to interpret the textual content of an element, + as it appears on an original source. It does + not modify the interpretation of the normalization + attributes provided by att.datable.w3c, + att.datable.iso, or att.datable.custom. Attributes from those first two + classes are always interpreted as Gregorian or proleptic Gregorian + dates, as per the respective standards on which they are based. The + calender system used to interpret the last (att.datable.custom) may be specified with + datingMethod.

    +
    +

    + calendar属性は(att.datable.customクラスで定義されるdatingMethod属性と異なり、 + 親要素によって定義される原資料の日付の暦日システムを定義するものであり、 + どの暦日に日付を正規化するかではない。

    +
    +
    + + 3.6.4. Dates and Times + 13.4. Dates + defines the range of attribute values available for representation of a duration in time using ISO 8601 standard formats @@ -7200,13 +7320,10 @@ one initial. line breaks (synonymous with the lb element). 행 바꿈 分行 (和元素lb同義) 。 - salto de línea (sinónimo del elemento - libra). + salto de línea (sinónimo del elemento libra). 改行(要素lbと同義)。 - sauts de ligne (synonymes de - l'élémentlb) - interruzione di colonna (sininimo dell'elemento - lb) + sauts de ligne (synonymes de l'élémentlb) + interruzione di colonna (sinonimo dell'elemento lb) any units termed book, liber, etc. @@ -7214,11 +7331,8 @@ one initial. 所有稱為書、冊、或函等的單位。 cualquier unidad llamada libro, pliego, etc. 冊子などの単位。 - n'importe quel - unité désignée par les termes livre, - liber, etc. - qualsiasi unità indicata come libro, libretto, - ecc. + n'importe quel unité désignée par les termes livre, liber, etc. + qualsiasi unità indicata come libro, libretto, ecc. individual poems in a collection. @@ -9677,8 +9791,7 @@ Normalization circunstancia.

    -

    コアモジュールの要素gap, unclear, delは、 転記モジュールの要素damage, - suppliedと連携するこ とができる。どのタグを使用すべきかについては、詳細については、 11.3.3.2. Use of the gap, del, damage, unclear, and +

    コアモジュールの要素gapuncleardelは、 転記モジュールの要素damagesuppliedと連携するこ とができる。どのタグを使用すべきかについては、詳細については、 11.3.3.2. Use of the gap, del, damage, unclear, and supplied Elements in Combinationを参照のこと。

    @@ -9995,8 +10108,7 @@ Normalization delは使うべきではない。この場合には、要素gapを使 い、転記できない単一のテキスト部分を示すべきである。この際、属性 reasonにより転記ができない理由が削除であることを示すこ とができる。全てが読めるわけではないという場合には、要素 unclearを使い、確信が持てないが読めるひとつのテキスト部分 を示すべきである。詳しくは、11.3.1.7. Text Omitted from or Supplied in the Transcriptionを参照のこと。 - また、要素delと要素gap, damage, unclear, - suppliedとの関係については、 11.3.3.2. Use of the gap, del, damage, unclear, and + また、要素delと要素gapdamageunclearsuppliedとの関係については、 11.3.3.2. Use of the gap, del, damage, unclear, and supplied Elements in Combinationを参照のこと(damageとsuppliedは元資料を転記 するための追加モジュールを使用する際に使うことができる)。

    要素delは、編集者や符号化する人による削除部分に使用される べきではない。この場合は、要素corrまたは要素gap @@ -10230,8 +10342,7 @@ concerned, as further discussed in section

    当該要素は、文字情報と発話情報の両方で、転記が不確実な時に使用され る。転記が不確実である他の面については、21. Certainty, Precision, and Responsibilityを参照 のこと。

    -

    要素damage, gap, del, unclear, - suppliedは、同時に使用されるかもしれない。どの場合にどの 要素が適切であるかについては、11.3.3.2. Use of the gap, del, damage, unclear, and +

    要素damagegapdelunclearsuppliedは、同時に使用されるかもしれない。どの場合にどの 要素が適切であるかについては、11.3.3.2. Use of the gap, del, damage, unclear, and supplied Elements in Combinationを参照のこと。

    @@ -10253,7 +10364,7 @@ concerned, as further discussed in section 11.3.3.1. Damage, Illegibility, and Supplied Text 3.5.3. Additions, Deletions, and Omissions - + name, proper noun 이름, 고유명사 名稱,特定名稱 @@ -10281,6 +10392,39 @@ concerned, as further discussed in section + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Thomas Hoccleve @@ -10300,8 +10444,7 @@ concerned, as further discussed in section -

    TEI名前モジュールが使われる場合には、人々、場所、組織を示す固有名 詞は、それぞれ要素persName, placeName、 - orgNameを使い示されるかもしれない。

    +

    TEI名前モジュールが使われる場合には、人々、場所、組織を示す固有名 詞は、それぞれ要素persNameplaceNameorgNameを使い示されるかもしれない。

    @@ -10898,8 +11041,7 @@ TOURS número absoluto, p.ej. 21, 21,5 基数。例えば、21、21.5など。 nombre entier ou décimal, par exemple 21, 21.5 - numero assoluto, ad esempio 21 o - 21,5 + numero assoluto, ad esempio 21 o 21,5 Kardinalzahl, z. B. 21, 21,5 @@ -10918,10 +11060,8 @@ TOURS 分數,例如二分之一或是四分之三 fracción,p.ej. una mitad o tres cuartos 割合。例えば、1/2、3/4など。 - fraction, par exemple une moitié ou - trois-quarts - frazione, ad esempio un terzo o tre - quarti + fraction, par exemple une moitié ou trois-quarts + frazione, ad esempio un terzo o tre quarti Bruchzahl, z. B. 1/2 oder drei Viertel @@ -11229,6 +11369,9 @@ Measures contains a symbol, a word or a phrase referring to a unit of measurement in any kind of formal or informal system. enthält ein Symbol, ein Wort oder eine Phrase, die sich auf eine Maßeinheit in einem formellen oder informellen System bezieht. + + 公式・非公式に関わらず、単位を表す記号や単語、語句を含む。 + @@ -11292,7 +11435,7 @@ Measures 3.6.3. Numbers and Measures - + date date Datum @@ -11310,23 +11453,20 @@ Measures - + - - - - - - - - - + + + + + + + - early February 1980 @@ -11347,11 +11487,9 @@ Measures - septembre - mcmxc + septembre mcmxc septembre - 11 - septembre, neuf heures moins douze GMT + 11 septembre, neuf heures moins douze GMT @@ -11389,7 +11527,7 @@ Measures 15.2.3. The Setting Description 13.4. Dates - + time temps Zeit @@ -11397,18 +11535,15 @@ Measures 어떤 형식의, 하루의 시간을 정의하는 구를 포함한다. 包含一組字詞,以任何形式定義時間 時間を表す語句を示す。 - contient une expression qui précise un moment de la - journée sous n'importe quelle forme. - contiene un sintagma que define un momento del día en - cualquier formato. - contiene un sintagma che si riferisce ad un ora del - giorno in qualsiasi formato. + contient une expression qui précise un moment de la journée sous n'importe quelle forme. + contiene un sintagma que define un momento del día en cualquier formato. + contiene un sintagma che si riferisce ad un ora del giorno in qualsiasi formato. beinhaltet eine Phrase, die eine Uhr- oder Tageszeit in einem beliebigen Format bestimmt. - + @@ -11416,15 +11551,12 @@ Measures - - - - - - - - - + + + + + + As he sat smiling, the @@ -13524,7 +13656,7 @@ the resource specified by the url attribute.

    audio, video or other object. 인라인 그래픽 또는 다른 개체를 표상하는 부호화된 이진 데이터를 제시한다. 標記用來表示文本中圖檔或其他檔案的二進位資料。 - 行中の画像やその他のオブジェクトを示す、符号化されたバイナリデータを 示す。 + 埋め込みの画像や音声、映像、その他のオブジェクトを示す、符号化されたバイナリデータである。 fournit des données binaires encodées qui représentent une image ou un autre objet insérés dans le texte ou dans un autre objet. proporciona datos binarios codificados que representan un @@ -13549,7 +13681,7 @@ the resource specified by the url attribute.

    Base64.
    부호화는 이진 데이터의 부호 변환 방식이다. 별도로 명시되어 있지 않다면, Base64로 간주된다. 標記該二進位資料時所使用到的編碼。若未特別指明,則假定為使用Base64編碼 - 当該バイナリデータの符号化方式。指定がなければ、 Base64 と想定する。 + 当該バイナリデータの符号化方式。指定がなければ、Base64を想定する。 l'encodage utilisé pour encoder les données binaires. Sans autre spécification il est supposé s'agir de Base64. La codificación usada para codificar los datos @@ -13959,6 +14091,7 @@ Elements
    column beginning 열 바꿈 分段 + 段の開始 début de colonne inicio de columna inizio di colonna @@ -13966,7 +14099,7 @@ Elements
    multi-column page. 표준 참조 시스템에서 텍스트의 한 열과 다음 열 사이의 경계를 표지한다. 用標準參照系統來標明文本段落之間的分界。 - テキストの段と段の境界を、標準的な参照システムにより示す。 + 複数段の頁で、テキストの新しい段の開始を示す。 marque le début d'une nouvelle colonne de texte sur une page multi-colonne. indica el inicio de una nueva columna de texto en una página divida en columnas . @@ -14016,14 +14149,9 @@ Elements des colonnes à l'intérieur de la page. L'élément cb apparaît en haut de la colonne à laquelle il se rapporte.

    - +

    - 当該要素にあるグローバル属性nは、当該要素cbが - あるすぐ後にある段と関連する番号等を示す。符号化する人は、テキスト - 全体における物理的な段の並びから示された境界を示す番号であるか、ま - たは当該ページ内で振られた番号であるのかなど、段境界に付与される番 - 号付けには、明確で一貫した方針を採るべきである。 - 一般的には、要素cbは、段落の始めに置かれる。 + この要素では、グローバル属性nはこのcb要素の直後から始まる段と関連する数値等の値を示す。テキスト全体における段の通し番号を付けるか、ページ内における番号を付けるかについて、明確で一貫した方針を採用すべきである。cb要素は指している段の冒頭に置かれる。

    @@ -14337,7 +14465,7 @@ Elements 3.12.2.1. Analytic, Monographic, and Series Levels -
    + author autor/a auteur @@ -14347,7 +14475,7 @@ Elements form as that provided by a recognized bibliographic name authority. 참고문헌에 작가, 단독 저자, 공동 저자의 이름을 포함한다; 서지 항목의 책임에 관한 1차적 진술. 在書目參照中,包含一件作品的作者 (群) 姓名,無論是個人或是團體性質;這也是書目項目責任歸屬的主要陳述。 - 書誌情報における、著作者(個人・団体)の名前を示す。書誌項目における歴 任者を示す第一位の記述を示す。 + 書誌参照において、作品の著者となる人や法人の名前を、たとえば、よく知られた書誌典拠情報機関の形式で提供されるものに合わせるなどして記述する。 dans une référence bibliographique contient le nom de la (des) personne(s) physique(s) ou du collectif, auteur(s) d'une oeuvre ; par exemple dans la même forme que celle utilisée par une référence bibliographique reconnue. en una referencia bibliográfica, contiene el nombre del @@ -14367,6 +14495,39 @@ autor/a/es, ya sea una persona o una institución, de una obra; por ejemplo, en + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + British Broadcasting Corporation @@ -14436,9 +14597,12 @@ places, in particular where multiple names are given.

    Dans le cas d'une émission, cet élément sert à encoder le nom de la société ou du réseau qui diffuse le programme.

    - -

    書誌情報を当該ヘダーに収録する場合、個人名の正確な記述を、一般に理 解可能な著者リストとして使用した方がよい。

    -

    放送の場合、当該要素は会社や放送局の名前として使用される。

    + +

    特にヘッダの内容をもとに目録作成が行われると考えられる場合、この要素の内容を広く知られた名前典拠ファイルに準拠することを推奨する。 + keyref属性によって何らかの適切な典拠(たとえば図書館目録やオンライン情報のような)における著者(達)についての標準的な参照情報を示すこともできる。

    +

    放送番組の場合には、その番組の制作に責任を持つ放送局や放送ネットワークの名前を用いる。

    +

    著者が不明であったり不明確である場合、この要素は不詳匿名のようなテキストであってもよい。 + 特に、複数の名前が用いられている場合には、適切なTEIモジュールを用いて、人や組織、場所に関する名前をより詳細にタグ付けしてもよい。

    Insbesondere wenn eine Katalogisierung auf Basis des TEI-Headers erfolgen soll, ist es ratsam @@ -14457,7 +14621,7 @@ places, in particular where multiple names are given.

    3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement -
    + contains a secondary statement of responsibility for a bibliographic item, for example the name of an individual, institution or organization, (or of several such) acting as editor, compiler, @@ -14487,6 +14651,39 @@ places, in particular where multiple names are given.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -14645,7 +14842,7 @@ places, in particular where multiple names are given.

    2.2.2. The Edition Statement 2.2.5. The Series Statement -
    + responsibility 책임성 @@ -14674,6 +14871,39 @@ places, in particular where multiple names are given.

    + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -14726,7 +14956,7 @@ places, in particular where multiple names are given.

    2.2.2. The Edition Statement 2.2.5. The Series Statement -
    + title titre Titel @@ -14752,7 +14982,40 @@ places, in particular where multiple names are given.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. @@ -14938,8 +15201,7 @@ doit pas être utilisé.

    タイトルが要素analytic中にある場合、属性 levelがあれば、値は必ずaとなる。 タイトルが要素monogr中にある場合、属性 -levelの値は、必ずm, -j, uのいず + levelの値は、必ずmjuのいず れかになる。要素titleが要素series中にある場 合、属性levelの値は必ずsとなる。タイトルが要 素msItem中にある場合、当該属性値は付与されない。 @@ -15201,7 +15463,7 @@ epistemology, methodology and history of 2.2.1. The Title Statement 2.2.5. The Series Statement - + contains the formalized descriptive title for a meeting or conference, for use in a bibliographic description for an item derived from such a meeting, or as a heading or preamble to publications emanating from it. @@ -15227,6 +15489,39 @@ epistemology, methodology and history of + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + +

    @@ -15439,12 +15734,13 @@ epistemology, methodology and history of extensión de una cita estensione del riferimento bibliografico Geltungsbereich einer bibliografischen Referenz + 典拠参照の範囲 defines the scope of a bibliographic reference, for example as a list of page numbers, or a named subdivision of a larger work. 예를 들어 페이지수의 목록 또는 작품의 이름 붙은 하위 성분으로, 문헌 참조의 범위를 정의한다. 標明書目參照資訊的範圍,例如標示頁碼列表、或是某著作的分支作品名稱。 - 書誌情報の参照範囲を示す。例えば、ページ番号、下部単位の名前など。 + 典拠参照の範囲を示す。例えば、ページ番号や、全体の中で名前を与えられた下位要素など。 définit l'extension d'une référence bibliographique, comme par exemple une liste de numéros de page, ou le nom d'une subdivision d'une oeuvre plus grande. @@ -15506,6 +15802,12 @@ epistemology, methodology and history of Kindelements) von imprint anzugeben, da es Informationen enthält, die nicht Teil des Impressums sind.

    + +

    一つのページが引用される場合、from属性とto属性を同じ値で使用すべきである。 + 明確な終点が提供されていない場合、from属性はtoを使わずに使うことができる。 + 例えば、p. 3ffのような引用は、<biblScope from="3">p. 3ff</biblScope>となる。

    +

    出版事項の一部を構成しない情報を提供するため、この要素をimprintの子ではなく、兄弟として提供するほうが望ましい。

    +
    3.12.2.5. Scopes and Ranges in Bibliographic Citations @@ -15599,11 +15901,12 @@ epistemology, methodology and history of cita bibliográfica. citazione bibliografica bibliografische Angabe + 典拠情報の明示 contains a loosely-structured bibliographic citation of which the sub-components may or may not be explicitly tagged. 하위 성분이 명시적으로 구분된 또는 그렇지 않은 덜 구조화된 서지 인용을 포함한다. 包含結構零散的書目資料,其中次要元件不一定會明確標記。 - 厳密でない構造を持つ書誌情報の引用を含む。下位要素で明示されていたり、 いなかったりする。 + 完全な構造を持たない典拠情報の引用を表す。各構成要素はタグ付けされていてもいなくてもよい。 contient une référence bibliographique faiblement structurée dans laquelle les sous-composants peuvent ou non être explicitement balisés. contiene una cita bibliográfica estructurada libremente, @@ -15700,8 +16003,8 @@ epistemology, methodology and history of

    Cet élément contient des éléments de type expression, ainsi qu'un jeu d'éléments de la classe model.biblPart.

    - -

    model.biblPartで規定された要素と共に、句レベルの要素を示す。

    + +

    フレーズレベル要素と、model.biblPartクラスの要素の任意の組み合わせを含む。

    Enthält Phrasen-Level-Elemente, zusammen mit einer beliebigen Kombination von @@ -15719,11 +16022,12 @@ epistemology, methodology and history of référence bibliographique structurée cita bibliográfica estructurada. citazione bibliografica strutturata + 構造的な典拠情報 contains a structured bibliographic citation, in which only bibliographic sub-elements appear and in a specified order. 서지의 하위 요소만이 나타나는, 명시적 순서로 구성되는 구조화된 서지 인용을 포함한다. 包含僅出現子節點的結構書目資料,並以特定順序呈現。 - 構造を持った書誌情報を示す。下位要素として、書誌情報を示す要素が、決 められた順番で出現する。 + 構造を持った典拠情報を示す。下位要素として、典拠情報を示す要素のみが、決められた順番で出現する。 contient une référence bibliographique dans laquelle seuls des sous-éléments bibliographiques apparaissent et cela, selon un ordre déterminé. contiene una cita bibliográfica estructurada, en la cual @@ -17077,7 +17381,7 @@ by the stage direction.

    3.9.2. Index Entries - + text language 텍스트 언어 @@ -17198,6 +17502,7 @@ element in the TEI header. provides attributes for regular-expression matching and replacement. + 正規表現のマッチと置換のための属性を提供する。 specifies a regular expression against which the values of other attributes @@ -17220,8 +17525,8 @@ element in the TEI header. y los átomos para la cuantificación, sino también para crear los subpatterns que se referirán por el atributo replacementPattern.

    - -

    丸括弧で区切られたグループは、出現順序や量化単位の他、属性 replacementPatternで示された下位パタンを示す。

    + +

    使用される構文は、W3C XPath syntaxで定義されているものに従うべきである。カッコで囲まれたグループは、出現順序や量化単位の他、属性 replacementPatternで参照される下位パターンの作成にも使用されることに注意する。

    @@ -17234,8 +17539,7 @@ element in the TEI header. 하위 유형 대치가 실행되면, URI를 제공하는 replacement pattern를 명시한다. 標明一個取代模式,一旦進行次要模式的替換,會自動提供統一資源識別符 (URI) 。 - 変形パタンを示す。下位の置換パタンが実行さ - れれば、これはURIになる。 + replacement patternを指定する。つまり、matchPattern内のグループへの参照を含む相対URIまたは絶対URIのスケルトンで、サブパターンの置換が実行されることで、URIを完成させるものである。 beschreibt ein replacement pattern (Ersetzungsmuster), das heißt das Grundgerüst einer relativen oder absoluten URI, die Referenzen auf Gruppen im matchPattern-Attribut enthalten und die URI komplettieren, sobald die Ersetzung der untergeordneten Muster durchgeführt wurde. @@ -17273,9 +17577,10 @@ element in the TEI header. de dólar se debe escribir como %24.

    -

    文字列$1から$9は、属性matchPatternにある正規表現 に該当するグループに(左から右の順番で)対応したものである。ソフ - トウェアは、当該正規表現に対応したグループを変形することが期待 されている。

    -

    ドル記号に続く数値が(後方参照に対する)置換パタンとして必要な場 合には、当該ドル記号は%24と書かれなければならない。

    +

    + 文字列$1, $2などは、属性matchPatternにある正規表現に該当するグループに(開き括弧を左から右の順番で数えて)対応するものである。処理ソフトウェアは、当該正規表現に対応するグループに置換することが期待されている。

    +

    ドル記号に続く数値が(後方参照として用いられるのではなく)置換パターンとして必要な場合には、そのドル記号は%24と書かれなければならない。 +

    @@ -17612,7 +17917,7 @@ element in the TEI header. declaración del título dichiarazione sul titolo groups information about the title of a work and those responsible for its content. - regroupe les informations sur le titre d’une œuvre et + regroupe les informations sur le titre d’une œuvre et les personnes ou institutions responsables de son contenu intellectuel. 저작의 제목 그리고 지적 내용에 대한 책임에 관한 정보를 모아 놓는다. 匯集關於作品標題與作品智慧內容責任歸屬的資訊。 @@ -17628,12 +17933,8 @@ element in the TEI header. - - - - - - + + @@ -17690,7 +17991,7 @@ element in the TEI header. 2.2.1. The Title Statement 2.2. The File Description - + sponsor commanditaire Förderer @@ -17714,6 +18015,39 @@ element in the TEI header. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Association for Computers and the Humanities @@ -17761,7 +18095,7 @@ element in the TEI header. 2.2.1. The Title Statement - + funding body financeur 재정 지원 조직체 @@ -17791,6 +18125,39 @@ element in the TEI header. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + The National Endowment for the Humanities, an independent federal agency @@ -17836,7 +18203,7 @@ element in the TEI header. 2.2.1. The Title Statement - + principal researcher chercheur principal 책임 연구자 @@ -17863,6 +18230,39 @@ creation of an electronic text. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + Gary Taylor @@ -18023,19 +18423,15 @@ creation of an electronic text.
    extent étendue - describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. - décrit la taille approximative d’un texte stocké sur son - support, numérique ou non numérique, exprimé dans une unité quelconque appropriée. - 전달 매체, 즉, 디지털 또는 비디지털로 저장된 텍스트의, 다양한 단위로 명시되는, 대략적 규모를 - 기술한다. + describes the approximate size of a text stored on some carrier medium or of some other object, digital or non-digital, specified in any convenient units. + décrit la taille approximative d’un texte stocké sur son support, numérique ou non numérique, exprimé dans une unité quelconque appropriée. + 전달 매체, 즉, 디지털 또는 비디지털로 저장된 텍스트의, 다양한 단위로 명시되는, 대략적 규모를 기술한다. 描述電子文件儲存在某一承載媒介時的約略大小,標以任何適用的單位。 電子・非電子テキストのおよその大きさを任意の単位で示す。 beschreibt die ungefähre Größe des elektronischen Textes, die er auf einem Datenträger einnimmt; kann auch für andere digitale oder nicht digitale Objekte verwendet werden; die Angabe erfolgt in entsprechenden Maßeinheiten. - describe el tamaño aproximado de un texto almacenado en - algún medio, digital o no, especificándolo en alguna unidad funcional. - descrive la grandezza approssimativa di un documento - elettronico così come immagazzinata su supporto, secondo una qualsiasi unità funzionale. + describe el tamaño aproximado de un texto almacenado en algún medio, digital o no, especificándolo en alguna unidad funcional. + descrive la grandezza approssimativa di un documento elettronico così come immagazzinata su supporto, secondo una qualsiasi unità funzionale. @@ -18106,7 +18502,7 @@ material declaración de la publicación dichiarazione sulla pubblicazione groups information concerning the publication or distribution of an electronic or other text. - regroupe des informations concernant la publication ou + regroupe des informations concernant la publication ou la diffusion d’un texte électronique ou d’un autre type de texte. 전자 또는 기타 텍스트의 출판 또는 배포에 관한 정보를 모아 놓는다. 匯集電子文件或其他類型文件的出版或發行相關資訊。 @@ -18301,14 +18697,14 @@ distribution of a text. Freigabeinstanz responsable de la presentación autorità di pubblicazione + 刊行許可元 supplies the name of a person or other agency responsible for making a work available, other than a publisher or distributor. - donne le nom de la personne ou de l'organisme responsable de la publication d’un fichier électronique, autre qu’un éditeur ou un distributeur. + donne le nom de la personne ou de l'organisme responsable de la publication d’un fichier électronique, autre qu’un éditeur ou un distributeur. 출판사 또는 배포자 외에 전자 파일 사용 허가에 대한 권한을 갖는 개인 또는 기관의 이름을 제시한다. 說明除了出版者或發行者之外,負責提供電子檔案的個人或其他經銷商的名稱。 - 電子データの作成に責任のある個人または団体の名前を示す。出版者や頒布 - 者ではない。 + 作品の供給に責任のある、出版者や発売者以外の個人または団体の名前を示す。 gibt die Person oder Instanz (außer Verlag oder Distributor) an, die für den Zugang zu einer Ressource verantwortlich ist. proporciona el nombre de la persona o agente responsable que ha hecho disponible un archivo electrónico, que no es ni el editor ni el distribudor. fornisce il nome di una persona o di un'organizzazione responsabile della messa a disposizione di un file elettronico, diversa dalll'editore o dal distributore. @@ -18338,7 +18734,7 @@ distribution of a text. 2.2.4. Publication, Distribution, Licensing, etc. - + identifier identifiant 식별 숫자 @@ -18384,7 +18780,40 @@ distribution of a text. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + categorizes the identifier, for example as an ISBN, Social Security number, etc. classe un numéro dans une catégorie, par exemple @@ -18506,7 +18935,7 @@ distribution of a text. toutes restrictions quant à son usage ou sa diffusion, son copyright, etc. 텍스트 이용에 관한 정보를 제시한다. 예를 들어 사용 또는 배포의 제한, 저작권 상태 등. 提供關於文件可利用性的資訊,例如使用或發行上的任何限制、版權狀態等。 - テキストの利用可能性に関する情報を示す。例えば、その使用や頒布、 著作権に関する制限など。 + テキストの利用許可に関する情報を示す。例えば、その使用や頒布の制限、著作権の状態、適用されるライセンス等。 liefert Informationen zur Verfügbarkeit eines Textes, zum Beispiel Einschränkungen bezüglich des Gebrauchs oder der Weitergabe, Lizensierungen usw. proporciona información sobre la disponibilidad de un texto, por ejemplo cualquier restricción en cuanto a su uso o distribución, su copyright, etc. @@ -18546,7 +18975,7 @@ distribution of a text. free frei the text is freely available. - Le texte est libre de droits. + le texte est libre de droits. 텍스트를 자유롭게 이용할 수 있음. 文件的可利用性不受限。 el texto está libremente disponible. @@ -18558,7 +18987,7 @@ distribution of a text. unknown unbekannt the status of the text is unknown. - Le statut du texte est inconnu. + le statut du texte est inconnu. 텍스트의 상태를 알 수 없다. 文件狀態不明。 el estatus del texto es desconocido. @@ -18651,8 +19080,8 @@ distribution of a text.

    Se debe adoptar un formato constante

    - -

    永続的な形式で示されるべきである。

    + +

    一貫した形式を採用すべきである。

    Es sollte ein einheitliches Format verwendet werden.

    @@ -18660,7 +19089,7 @@ distribution of a text. 2.2.4. Publication, Distribution, Licensing, etc. -
    + contains information about a licence or other legal agreement applicable to the text. contient des informations @@ -18676,6 +19105,39 @@ définissant les droits d'utilisation. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -18978,11 +19440,12 @@ définissant les droits d'utilisation. citación bibliográfica estructurada completa référence bibliographique totalement structurée citazione bibliografica strutturata + 完全に構造化された典拠情報 contains a fully-structured bibliographic citation, in which all components of the TEI file description are present. 완전히 구조화된 서지 정보를 포함하며, 그 안에 TEI 파일 기술의 모든 성분이 제시된다. 包含結構完整的書目資料,其中呈現出TEI檔案描述內的所有元件。 - 厳密な構造を持つ書誌情報を示す。TEIのファイル記述の全要素は、ここ に記述される。 + 完全に構造化された典拠情報を示す。TEIのファイル記述のための全要素が利用できる。 contient une référence bibliographique totalement structurée : tous les composants de la description du fichier TEI y sont présents. contiene una cita bibliográfica completamente @@ -19196,7 +19659,7 @@ formatting or layout information preserved.

    describes in detail the aim or purpose for which an electronic file was encoded, together with any other relevant information concerning the process by which it was assembled or collected. - décrit en détail le but ou l’objectif visé dans + décrit en détail le but ou l’objectif visé dans l’encodage d’un fichier électronique, ainsi que toute autre information pertinente sur la manière dont il a été construit ou recueilli. 전자 파일이 부호화된 목적을 상세히 기술하며, 아울러 그것이 수집된 절차에 관한 기타 관련 정보를 @@ -19271,9 +19734,8 @@ formatting or layout information preserved.

    Angabe der Auswahlverfahren declaración de muestra dichiarazione di campionatura - contains a prose description of the rationale and methods used in sampling texts in the - creation of a corpus or collection. - contient une description en texte libre du raisonnement + contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. + contient une description en texte libre du raisonnement et des méthodes utilisés pour l'échantillonnage des textes dans la création d’un corpus ou d’une collection. 코퍼스 또는 텍스트 집단 구축에서 표본 추출에 사용된 원리와 방법에 대한 산문체 기술을 포함한다. @@ -19597,10 +20059,8 @@ during the encoding of a text.
    normalization normalisation - indicates the extent of normalization or regularization of the original source carried out - in converting it to electronic form. - indique l'extension de la normalisation ou de la - régularisation effectuée sur le texte source dans sa conversion vers sa forme électronique. + indicates the extent of normalization or regularization of the original source carried out in converting it to electronic form. + indique l'extension de la normalisation ou de la régularisation effectuée sur le texte source dans sa conversion vers sa forme électronique. 전자 형식으로 변환할 때 수행된 원본 텍스트의 표준화 또는 규칙화의 정도를 표시한다. 指出來源文件轉換成電子文本時規格化或標準化的程度。 元資料が電子形式に変換される施される正規化の程度を示す。 @@ -19616,9 +20076,7 @@ during the encoding of a text. - - - + @@ -20221,7 +20679,7 @@ On , either the @marks attribute should be used, or a paragraph of descri declaración del etiquetado dighiarazione sulla marcatura provides detailed information about the tagging applied to a document. - donne l’information détaillée sur le balisage appliqué à un document . + donne l’information détaillée sur le balisage appliqué à un document . 문서에 적용된 태깅에 관한 정보를 상세하게 제공한다. 提供關於應用在XML文件中的標誌的詳細資訊。 タグ付けに関する詳細な情報を示す。 @@ -20468,7 +20926,7 @@ On , either the @marks attribute should be used, or a paragraph of descri rendu supplies information about the rendition or appearance of one or more elements in the source text. - donne des informations sur le rendu ou sur l'apparence + donne des informations sur le rendu ou sur l'apparence d'un ou de plusieurs éléments dans le texte source. 원본 텍스트에서 요소의 모양에 대한 정보를 제공한다. 提供關於一個或多個元素預定呈現方式的資訊。 @@ -20818,13 +21276,14 @@ the target element define cómo convertir una referncia canónica en un URI definisce in che modo convertire un riferimento canonico in un URI + 標準的参照パタン specifies an expression and replacement pattern for transforming a canonical reference into a URI. spécifie un modèle d’expression et des règles de remplacement pour transformer une référence canonique en URI. 표준 참조를 URI로 변환하기 위한 표현 및 대체 유형을 명시한다. 標明將標準參照轉換成統一資源識別符的表示方法與取代模式。 - URIへの標準的参照を変形する、表現・変形パタンを示す。 + 標準的形式の参照をURIに変形するための表現・変形パタンを示す。 legt einen Ausdruck und ein Ersetzungsmuster für die Umwandlung einer kanonischen Referenz in eine URI fest. indica una expresión y un patrón de remplazamiento para @@ -21042,7 +21501,7 @@ the target element suministra la cadena de delimitación que sigue el componente de referencia. 参照構成要素の開始を表すデリミタを示す。 - Fournit une suite de caractères de délimitation après + fournit une suite de caractères de délimitation après le composant de référence. fornisce una stringa di delimitazione in base alla componente di riferimento @@ -21151,6 +21610,7 @@ codes used elsewhere in the text. tassonomia strutturata. + @@ -21366,6 +21826,7 @@ codes used elsewhere in the text. category catégorie Kategorie + 分類 contains an individual descriptive category, possibly nested within a superordinate category, within a user-defined taxonomy. contient une catégorie descriptive particulière, @@ -21373,7 +21834,7 @@ codes used elsewhere in the text. définie par l’utilisateur. 사용자가 정의한 분류법 안의 개별 기술 범주를 포함한다. 상위 범주 내에 포함될 수 있다. 在使用者定義之分類法當中,此元素包含一項個別的描述性類目,該類目可能位於一個更上層的類目之中。 - 記述的な分類項目を示す。利用者が定義した分類法の元に上位分類項目中に 入れ子にしてもよい。 + 利用者が定義した分類法に基づく、分類上の単一の項目を示す。上位分類の中に入れることもできる。 enthält eine eigenständige, gegebenfalls in eine übergeordnete Kategorie eingebettete, deskriptive Kategorie in einer benutzerdefinierten Taxonomie. contiene una categoría descriptiva individual, posiblemente anidada dentro de una categoría superior, dentro de una taxonomía definida por el @@ -21382,6 +21843,7 @@ codes used elsewhere in the text. innestata in una categoria più generale, all'interno di una tassonomia definita dall'utente. + @@ -21486,6 +21948,7 @@ codes used elsewhere in the text. Beschreibung der Kategorie descripción de una categoría descrizione della categoria + 分類の記述 describes some category within a taxonomy or text typology, either in the form of a brief prose description or in terms of the situational parameters used by the TEI formal textDesc. décrit une catégorie particulière à l’intérieur d’une @@ -21495,8 +21958,7 @@ codes used elsewhere in the text. 간단한 산문체 기술 형식 또는 TEI의 형식적 텍스트 기술에 의해 사용된 상황 매개변수를 통해 분류법 또는 텍스트 유형 내에서 어떤 범주를 기술한다. 描述分類法中或文件類型學中的某些類目,可用短文描述的型式,或是用TEI正式元素textDesc所使用的狀況參數。 - テキスト分類や分類法における分類項目を示す。簡単な散文形式またはTEI - のtextDescで使用される状況パラメータで示される。 + テキスト分類や分類法における分類項目を示す。簡単な散文形式またはTEIのtextDescで使用される形式化された状況パラメータで示される。 beschreibt eine Kategorie innerhalb einer Taxonomie oder Texttypologie, entweder als einfacher Fließtext oder über kontextbezogene Parameter, mittels des strukturierten textDesc-Elements. describe alguna categoría dentro de una taxonomía o @@ -21592,8 +22054,7 @@ codes used elsewhere in the text. declaración de las coordenadas geográficas déclaration de coordonnées géographiques. dichiarazione di coordinate geografiche - documents the notation and the datum used for geographic coordinates expressed as content of - the geo element elsewhere within the document. + documents the notation and the datum used for geographic coordinates expressed as content of the geo element elsewhere within the document. 문서 내 어디서든지 geo 요소의 내용으로 표현된 지리적 좌표로 사용된 표기법과 자료를 기재한다. documenta la anotación y los datos usados para los @@ -21636,7 +22097,7 @@ codes used elsewhere in the text. a pair of numbers to be interpreted as latitude followed by longitude according to the World Geodetic System. 세계 측지 시스템에 따라 한 쌍의 숫자는 위도, 경도를 나타낸다. - couple de nombres destinés à être interprétés + couple de nombres destinés à être interprétés comme la latitude suivie de la longitude selon le Système Géodésique Mondial. un par de números que se interpretarán como latitud siguió por la longitud según el sistema geodésico del mundo. @@ -21653,7 +22114,7 @@ codes used elsewhere in the text. sistema di riferimento delle coordinate MGRS the values supplied are geospatial entity object codes, based on 값은 만국 횡메르카토르 시스템 좌표에 기초하여 지리공간적 개체 부호를 제시한다. - Les valeurs fournies sont des codes objet + les valeurs fournies sont des codes objet d'entités geospatiales, fondées sur les coordonnées de la grille de projection transversale universelle de Mercator, (UTM). los valores proporcionados son códigos objeto de @@ -21686,7 +22147,7 @@ codes used elsewhere in the text. the value supplied is to be interpreted as latitude followed by longitude according to the European Datum coordinate system. 값은 유럽 자료 좌표 시스템에 따라 위도, 경도를 나타낸다. - La valeur fournie doit être interprétée comme la + la valeur fournie doit être interprétée comme la latitude suivie de la longitude selon le système de coordonnées de données européen. el valor suministrado debe ser interpretado como latitud seguida por la longitud según el sistema de coordenadas del European Datum. @@ -21705,7 +22166,7 @@ codes used elsewhere in the text. 2.3.8. The Geographic Coordinates Declaration - + unit declarations provides information about units of measurement that are not members of the International System of Units. @@ -21717,6 +22178,39 @@ codes used elsewhere in the text. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -21745,7 +22239,7 @@ codes used elsewhere in the text. 2.3.9. The Unit Declaration - + unit definition contains descriptive information related to a specific unit of measurement. @@ -21762,6 +22256,39 @@ codes used elsewhere in the text. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -21782,7 +22309,7 @@ codes used elsewhere in the text. 2.3.9. The Unit Declaration - + defines how to calculate one unit of measure in terms of another. @@ -21792,7 +22319,40 @@ codes used elsewhere in the text. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + indicates a source unit of measure that is to be converted into another unit indicated in toUnit. @@ -21858,7 +22418,7 @@ codes used elsewhere in the text. 2.3.11. The Application Information Element - + provides information about an application which has acted upon the document. 문서에 사용한 애플리케이션에 관한 정보를 제시한다. proporciona información sobre la aplicación que ha @@ -21890,7 +22450,40 @@ codes used elsewhere in the text. - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + supplies an identifier for the application, independent of its version number or display name. 버전 또는 표시명과 상관없이 애플리케이션의 확인소를 제공한다. @@ -21967,7 +22560,7 @@ codes used elsewhere in the text. provides a detailed description of non-bibliographic aspects of a text, specifically the languages and sublanguages used, the situation in which it was produced, the participants and their setting. - fournit une description détaillée des aspects + fournit une description détaillée des aspects non bibliographiques du texte, notamment les langues utilisées et leurs variantes, les circonstances de sa production, les collaborateurs et leur statut. 분명하게 언어와 특수 언어가 사용된 텍스트, 텍스트가 생산된 상황, 참여자, 배경에 관한 비서지적 @@ -22181,7 +22774,7 @@ elements of profileDesc unless these are documenting multiple texts. 2.4.4. Abstracts - + creation création Entstehung @@ -22209,6 +22802,39 @@ elements of profileDesc unless these are documenting multiple texts. + + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + @@ -22298,10 +22924,8 @@ elements of profileDesc unless these are documenting multiple texts.Sprachgebrauch lengua empleada lingua utilizzata - describes the languages, sublanguages, registers, dialects, etc. -represented within a text. - décrit les langues, variétés de -langues, registres, dialectes, etc. présents à l’intérieur d’un texte. + describes the languages, sublanguages, registers, dialects, etc. represented within a text. + décrit les langues, variétés de langues, registres, dialectes, etc. présents à l’intérieur d’un texte. 텍스트 내에 나타나는 언어, 특수 언어, 레지스터, 방언 등을 기술한다. 描述文件中使用的語言、次要語言、語域、方言等。 テキスト中にある言語、特殊言語、社会的方言、方言などを示す。 @@ -22385,7 +23009,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte.Identifikator Supplies a language code constructed as defined in BCP 47 which is used to identify the - language documented by this element, and which is referenced by the global + language documented by this element, and which may be referenced by the global xml:lang attribute. fournit un code de langue issu de la recommandation BCP 47 (ou son @@ -22411,7 +23035,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. - specifies the approximate percentage (by volume) of the text which uses this language. + specifies the approximate percentage of the text which uses this language. précise approximativement le pourcentage du volume de texte utilisant cette langue. 이 언어를 사용하는 텍스트의 대략적 백분율(분량)을 명시한다. @@ -22429,7 +23053,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. modern American English - Azerbaijani in Arabic script + Azerbaijani in Arabic script Pig Latin @@ -22438,7 +23062,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. Anglais américain moderne - Azerbaijanais en caractères arabes + Azerbaijanais en caractères arabes verlan @@ -22447,7 +23071,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte. 現代美語 - 阿拉伯文手寫的亞塞拜然語 + 阿拉伯文手寫的亞塞拜然語 一種行話,將字頭的子音調至字尾,再多加一個音節 @@ -22742,6 +23366,7 @@ should be supplied for the scheme attribute.

    Verweis auf eine Kategorie referencia de categoría riferimento alla categoria + 分類の参照 specifies one or more defined categories within some taxonomy or text typology. spécifie une ou plusieurs catégories définies dans une taxinomie ou une typologie textuelle. @@ -22768,7 +23393,7 @@ should be supplied for the scheme attribute.

    défini le jeu de catégories concerné. 관련 범주 집합이 정의된 분류 스키마를 표시한다. 標明該分類架構,其中相關的類目群組已被定義 - 当該分類項目が定義されている分類スキームを示す。 + たとえばtaxonomy要素あるいはその他の資料によって、当該分類項目が定義されている分類スキームを同定する。 gibt das Klassifikationsschema an, in dem die entsprechenden Kategorien definiert sind, z. B. über ein taxonomy-Element oder eine andere Ressource. @@ -22855,6 +23480,7 @@ should be supplied for the scheme attribute.

    descripción de las calendarios description des calendriers descrizione delle calendari + 暦の記述 contains a description of the calendar system used in any dating expression found in the text. contient la description des différents calendriers @@ -22863,6 +23489,7 @@ should be supplied for the scheme attribute.

    calendarios usados en un manuscrito.
    contiene una descrizione dei diversi calendari usati in un manoscritto + テキスト中に見いだされた日付表現において用いられる暦日法の記述。 @@ -23007,6 +23634,9 @@ should be supplied for the scheme attribute.

    http://www.w3.org/TR/xpath-functions-11/#lang-cal-country

    +

    ひとつめの例での、暦の名とxml:idの略号は、 + http://www.w3.org/TR/xpath-functions-11/#lang-cal-countryにおけるW3Cガイドラインから来ている。

    + 2.4. The Profile Description 2.4.5. Calendar Description @@ -23016,8 +23646,10 @@ should be supplied for the scheme attribute.

    calendrier calendario calendario + describes a calendar or dating system used in a dating formula in the text. describe un calendario o sistema de datación usado en una fórmula de datación en el texto. + テキスト中での日付の書式で用いられる暦日法を記述する。 @@ -23507,8 +24139,7 @@ should be supplied for the scheme attribute.

    descripción de la revisión descirzione della revisione summarizes the revision history for a file. - fournit un résumé de l’historique des révisions d’un - fichier. + fournit un résumé de l’historique des révisions d’un fichier. 하나의 파일에 대한 수정 이력을 요약한다. 概述檔案的修訂歷史。 ファイルの改訂履歴を示す。 @@ -23577,16 +24208,17 @@ should be supplied for the scheme attribute.

    2.6. The Revision Description 2.1.1. The TEI Header and Its Components
    -
    + change Änderung + 変更 documents a change or set of changes made during the production of a source document, or during the revision of an electronic file. résume une modification ou une correction apportée à une version particulière d’un texte électronique partagé entre plusieurs chercheurs. 몇몇 연구자들 사이에 공유된 전자 텍스트의 특정 버전에 대한 특정 변경 또는 수정 사항을 요약한다. 概述多位研究者共享的某版本電子文本當中,某特定的內容變更或修正。 - 研究者間で共有されている電子テキストの特定の版に対して施された変更や 修正を示す。 + 元文書の作成や電子ファイルの改訂においてなされた一つあるいは一連の変更を記述する。 verzeichnet Änderungen oder Korrekturen während der Erstellung eines Basisdokuments oder während der Überarbeitung einer elektronischen Datei. resume un cambio o corrección determinada llevada a cabo @@ -23607,11 +24239,46 @@ should be supplied for the scheme attribute.

    - + + The calendar attribute will be removed from this element + as it will only be allowed on elements that represent dates with their content. This is because the calendar attribute + (unlike datingMethod defined in + att.datable.custom) defines the calendar system of the date + in the original material defined by the parent element, not the calendar to + which the date is normalized. + indicates one or more systems or calendars to which the + date represented by the content of this element belongs. + 날짜 표현 시스템 또는 달력 표시 형식을 표시한다. + 指明該日期表示所使用的曆法計算系統。 + この要素を含むコンテントにおける日付の暦やシステムを示す。 + indique le système ou le calendrier auquel + appartient la date exprimée dans le contenu de l'élément. + indica el sistema o calendario en que se muestra + una fecha. + indica il sistema o calendario al quale la data + appartiene. + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + + + + + + target Ziel + 対象 points to one or more elements that belong to this change. verweist auf ein oder mehrere Elemente, die zu dieser Änderung gehören. + この変更の対象となる一つ以上の要素を指す。 @@ -23692,8 +24359,8 @@ supplied to printer. producciónl.

    Se recomienda que los cambios se registren con el primero más reciente.

    - -

    修正は一貫した並びで記録されるべきである。例えば、最新のものが 最初に書かれる、など。

    + +

    who属性は、他の任意の要素を指すことができるが、典型的には、ヘッダ内の他の場所にある、変更に関わった人物とその役割を示すrespStmtまたはperson要素を指定する。最新のものを最初に書くことを推奨する。status属性を、変更が適用された後の文書の状態を示すために使用してもよい。

    Das who-Attribut kann dafür verwendet werden, um zu einem beliebigen anderen @@ -23709,7 +24376,7 @@ supplied to printer. 2.4.1. Creation 11.7. Identifying Changes and Revisions - + describes a particular script distinguished within the description of a manuscript or similar resource. @@ -23845,6 +24512,12 @@ during the evolution of the encoded representation of that text.

    + + + + + + specifies the version number of the TEI Guidelines against @@ -24206,6 +24879,7 @@ during the evolution of the encoded representation of that text.

    Textkörper cuerpo del texto corpo del testo + テキスト本文 contains the whole body of a single unitary text, excluding any front or back matter. 전면부 또는 후면부 자료를 배제한 단일 텍스트의 전체 본문을 포함한다. 單篇文章的整體部分,不包含正文前及正文後資訊。 @@ -25175,22 +25849,18 @@ during the evolution of the encoded representation of that text.

    level-4 text division 4 층위 텍스트 구역 區段層次四 - division du texte de niveau 4 - Textgliederungsebene -4 + division du texte de niveau 4 + Textgliederungsebene -4 división textual de cuarto nivel partizione testuale di livello 4 contains a fourth-level subdivision of the front, body, or back of a text. 텍스트의 전면부, 본문 또는 후면부의 네 번째 층위 하위 구역을 포함한다. 文本的正文前資訊、正文及正文後資訊的第四層分段。 前付、本文、後付中の第4位のテキスト部分を示す。 - contient une subdivision de quatrième niveau dans - le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. - "> enthält die vierte Gliederungsebene von - Vorspann (front), Kerntext oder Nachspann (back) eines Textes. - contiene una subdivisión del cuarto nivel en el paratexto - inicial, en el cuerpo del texto o en el paratexto final. - contiene una sezione di quarto livello del peritesto - iniziale, del corpo del testo, o del peritesto finale + contient une subdivision de quatrième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. + enthält die vierte Gliederungsebene von Vorspann (front), Kerntext oder Nachspann (back) eines Textes. + contiene una subdivisión del cuarto nivel en el paratexto inicial, en el cuerpo del texto o en el paratexto final. + contiene una sezione di quarto livello del peritesto iniziale, del corpo del testo, o del peritesto finale @@ -25304,22 +25974,18 @@ during the evolution of the encoded representation of that text.

    level-5 text division 5 층위 텍스트 구역 區段層次五 - division du texte de niveau 5 - Textgliederungsebene -5 + division du texte de niveau 5 + Textgliederungsebene -5 división textual de quinto nivel partizione testuale di livello 5 contains a fifth-level subdivision of the front, body, or back of a text. 텍스트의 전면부, 본문 또는 후면부의 다섯 번째 층위 하위 구역을 포함한다. 文本的正文前資訊、正文及正文後資訊的第五層分段。 前付、本文、後付中の第5位のテキスト部分を示す。 - contient une subdivision de cinquième niveau dans le - texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. - "> enthält die fünfte Gliederungsebene von - Vorspann (front), Kerntext oder Nachspann (back) eines Textes. - contiene una subdivisión del quinto nivel en el paratexto - inicial, en el cuerpo del texto o en el paratexto final. - contiene una sezione di quinto livello del peritesto - iniziale, del corpo del testo, o del peritesto finale + contient une subdivision de cinquième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. + enthält die fünfte Gliederungsebene von Vorspann (front), Kerntext oder Nachspann (back) eines Textes. + contiene una subdivisión del quinto nivel en el paratexto inicial, en el cuerpo del texto o en el paratexto final. + contiene una sezione di quinto livello del peritesto iniziale, del corpo del testo, o del peritesto finale @@ -25456,22 +26122,18 @@ during the evolution of the encoded representation of that text.

    level-6 text division 6 층위 텍스트 구역 區段層次六 - division du texte de niveau 6 - Textgliederungsebene -6 + division du texte de niveau 6 + Textgliederungsebene -6 división textual de sexto nivel partizione testuale di livello 6 contains a sixth-level subdivision of the front, body, or back of a text. 텍스트의 전면부, 본문 또는 후면부의 여섯 번째 층위 하위 구역을 포함한다. 文本的正文前資訊、正文及正文後資訊的第六層分段。 前付、本文、後付中の第6位のテキスト部分を示す。 - contient une subdivision de sixième niveau dans le texte - préliminaire, dans le corps d’un texte ou dans le texte postliminaire. - enthält die sechste Gliederungsebene von Vorspann - (front), Kerntext oder Nachspann (back) eines Textes. - contiene una subdivisión del sexto nivel en el paratexto - inicial, en el cuerpo del texto o en el paratexto final. - contiene una sezione di sesto livello del peritesto - iniziale, del corpo del testo, o del peritesto finale + contient une subdivision de sixième niveau dans le texte préliminaire, dans le corps d’un texte ou dans le texte postliminaire. + enthält die sechste Gliederungsebene von Vorspann (front), Kerntext oder Nachspann (back) eines Textes. + contiene una subdivisión del sexto nivel en el paratexto inicial, en el cuerpo del texto o en el paratexto final. + contiene una sezione di sesto livello del peritesto iniziale, del corpo del testo, o del peritesto finale @@ -25768,8 +26430,7 @@ during the evolution of the encoded representation of that text.

    on its title page or at the head or end of the work.
    제목 페이지 또는 작품의 시작부 또는 종료부에서 작품 책임성에 대한 주요 진술을 포함한다. 包含作品的主要責任陳述,出現在題名頁或作品開頭或結尾處。 - タイトルページや作品の冒頭や最後にある、作品の責任者を表す第一位の記 - 述。 + タイトルページや作品の冒頭や最後にある、作品の主要な責任表示。 indique la responsabilité principale pour une œuvre donnée sur la page de titre ou au début ou à la fin de l’œuvre. @@ -27247,7 +27908,7 @@ reserved for the element likely to be used more often.

    4.6. Title Pages -
    + document date 문서 날짜 文件日期 @@ -27255,15 +27916,12 @@ reserved for the element likely to be used more often.

    Datierung des Dokuments fecha del documento data del documento - contains the date of a document, as given -on a title page or in a dateline. + contains the date of a document, as given on a title page or in a dateline. 대개 제목 페이지에 제시되는 문서의 날짜를 포함한다. 包含文件日期, 同於 (通常) 在題名頁上顯示的日期。 文書の日付を示す。一般にはタイトルページに書かれている。 - contient la date d’un document telle qu’elle est - (généralement ) donnée sur une page de titre. - enthält die Datierung des Dokuments, wie auf der Titelseite oder in einer Datumszeile - angegeben. + contient la date d’un document telle qu’elle est (généralement ) donnée sur une page de titre. + enthält die Datierung des Dokuments, wie auf der Titelseite oder in einer Datumszeile angegeben. contiene la fecha del documento, tal y como, normalmente, aparece en el frontispicio. contiene la data del documento così come riportata di norma nel frontespizio @@ -27272,12 +27930,11 @@ on a title page or in a dateline. - + - Oxford, Clarendon Press, 1987 @@ -27299,16 +27956,17 @@ on a title page or in a dateline.

    Cf. the general date element in the core tag set. -This specialized element is provided for convenience in marking and -processing the date of the documents, since it is likely to require -specialized handling for many applications. It should be used only for -the date of the entire document, not for any subset or part of it.

    + This specialized element is provided for convenience in marking + and processing the date of the documents, since it is likely to + require specialized handling for many applications. It should be + used only for the date of the entire document, not for any subset + or part of it.

    Voir l'élément générique date dans le module core. L'élément - spécifique docDate est fourni à toutes fins utiles pour encoder et traiter - la date des documents, puisque celle-ci requiert une gestion particulière pour de - nombreux besoins.

    + spécifique docDate est fourni à toutes fins utiles pour encoder et traiter + la date des documents, puisque celle-ci requiert une gestion particulière pour de + nombreux besoins.

    @@ -27324,7 +27982,6 @@ the date of the entire document, not for any subset or part of it.

    Datum des gesamten Dokuments verwendet werden, nicht für Datierungen von Abschnitten oder Teilen.

    - 4.6. Title Pages @@ -27584,6 +28241,7 @@ the date of the entire document, not for any subset or part of it.

    Nachspann (back) paratexto final peritesto finale + 後付 contains any appendixes, etc. following the main part of a text. 텍스트의 주요부 뒤에 오는 부록 등을 포함한다. @@ -27739,8 +28397,8 @@ the date of the entire document, not for any subset or part of it.

    front, ce qui permet de rendre compte de pratiques éditoriales qui ont évolué avec l'histoire culturelle.

    - -

    後付の内容モデルは、文化的背景によっては、前付に相当するものになる。

    + +

    どのような内容が後付あるいは前付とされるかは文化的慣習で異なるため、backfrontのコンテントモデルは同一である。

    Aufgrund von unterschiedlichen kulturellen Konventionen, die Angaben in Vorspann und Nachspann @@ -28999,7 +29657,7 @@ You must supply at least two values for @target on indica que la alternancia no es exclusiva, es decir que ocurren una o más de las alternativas. 複数を選択できる。 - Indique que cette alternative n'est pas + indique que cette alternative n'est pas exclusive, c'est-à-dire qu'une option au moins est vraie. indica che l'alternanza non è esclusiva, cioè che possono comparire più alternative @@ -29016,7 +29674,7 @@ You must supply at least two values for @target on 하나가 발생한 상태에서 대응하는 교체가능성이 발생할 확률이다. 若屬性mode的屬性值是excl,則每個weight皆表明相對應替換的可能性。若屬性mode的屬性值是incl,則每個weight皆表明,在至少一個其他替換存在的前提下,相對應替換的可能性 属性modeの値がexclの場合、各重みは対応する代替が発生する確率を示す。 属性modeの値がinclの場合、他の選択肢の少なくとも1つが発生した場合に対応する代替が発生する確率を示す。 - Si l'attribut mode a la valeur + si l'attribut mode a la valeur excl, chacune des valeurs de l'attribut weights établit la probabilité que l'option correspondante soit vraie. Si l'attribut mode a la valeur incl, chacune des valeurs de l'attribut weights @@ -29214,6 +29872,9 @@ You must supply at least two values for @target on Functions as a container element for linked data, contextual information, and stand-off annotations embedded in a TEI document. + + リンクト・データや文脈情報、TEI文書に埋め込まれたスタンドオフ・アノテーションをコンテナ化する要素として機能する。 + @@ -30112,6 +30773,7 @@ You must supply at least two values for @target on reparto distribution elenco dei personaggi + 配役リスト contains a single cast list or dramatis personae. 하나의 배역 목록 또는 드라마 등장인물을 포함한다. 包含單一角色名單或出場人物列表。 @@ -30500,15 +31162,17 @@ Dr Bero, lately returned from the wars. grupo de reparto liste de personnages raggruppamento della lista dei personaggi + 配役リスト内グループ groups one or more individual castItem elements within a cast list. 배역 목록 내의 몇 개의 개별 castItem 요소를 모아 놓는다. 匯集角色清單中一個或多個角色項目元素。 agrupa uno o más elementos individuales del reparto (castItem). - 配役リストにある、ひとつ以上の要素castItemをまとめるもの。 + 配役リストにある、ひとつ以上のcastItem要素をまとめる。 dans une distribution, catégorie qui rassemble un ou plusieurs personnages. raggruppa uno o più elementi individuali castItem in una lista dei personaggi. + @@ -30615,13 +31279,13 @@ Mathias is understood to apply to both roles equally.

    elemento del reparto personnage oggetto della lista dei personaggi + 配役リスト項目 contains a single entry within a cast list, describing either a single role or a list of non-speaking roles. 배역 목록에서 하나의 배역, 또는 대사가 없는 배역 목록을 기술하는 하나의 항목을 포함한다. 包含角色清單中的一個項目,描述單一角色或無台詞角色的列表。 contiene una sola entrada dentro de la lista del reparto, describiendo un solo papel o una lista de papeles sin diálogo. - 配役リスト中の各項目を示す。ひとつの役、または台詞のない役のリスト - になる。 + 配役リスト中の一項目で、ひとつの役、または台詞のない役のリストを示す。 dans une liste de personnages, entrée décrivant un rôle en particulier ou une liste de rôles muets. contiene una singola voce all'interno della lista dei personaggi, descrive o un ruolo o una lista di ruoli privi di battute. @@ -30655,8 +31319,7 @@ either a single role or a list of non-speaking roles. 항목이 하나의 배역을 기술한다. 該項目為單一角色 el elemeto describe un único papel. - ひとつ役を示す。 - + ひとつの役を示す。 l'item décrit un simple rôle. l'oggetto descrive un solo ruolo. @@ -30665,8 +31328,7 @@ either a single role or a list of non-speaking roles. 항목이 대사 없는 배역 목록을 기술한다. 該項目為無台詞角色的列表 el item describe una lista de papeles sin diálogo. - 科白がない役のリストを示す。 - + 台詞がない役のリストを示す。 l'item décrit une liste de rôles muets l'oggetto descrive una lista di ruoli privi di battute. @@ -30825,8 +31487,7 @@ either a single role or a list of non-speaking roles. 角色名單中的演員姓名。 Nombre de un actor que aparece dentro de la lista del reparto. 登場人物リスト中の役者名を示す。 - Nom d'un acteur apparaissant dans une - distribution. + nom d'un acteur apparaissant dans une distribution. nome di un attore che appare nella lista dei personaggi. diff --git a/Test2/expected-results/testAttValQuant.rng b/Test2/expected-results/testAttValQuant.rng index e71b04273..f1dcc5797 100644 --- a/Test2/expected-results/testAttValQuant.rng +++ b/Test2/expected-results/testAttValQuant.rng @@ -476,52 +476,8 @@ Sample values include: 1] all; 2] most; 3] range - - - - - indicates one or more systems or calendars to which the date represented by the content of this element belongs. - - - - \S+ - - - - - - - - - @calendar indicates one or more - systems or calendars to which the date represented by the content of this element belongs, - but this element has no textual content. - - - - - - - - - - - - - @@ -841,7 +797,7 @@ Suggested values include: 1] internal; 2] external; 3] conjecture + id="tavq-att.global.source-source-only_1_ODD_source-constraint-rule-4"> + id="tavq-att.measurement-att-measurement-unitRef-constraint-rule-5"> + id="tavq-att.typed-subtypeTyped-constraint-rule-6"> + id="tavq-att.pointing-targetLang-targetLang-constraint-rule-7"> + id="tavq-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8"> ) must follow + id="tavq-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9"> + + + + + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -3528,7 +3513,7 @@ Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] cant (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] + id="tavq-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6"> + id="tavq-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7"> (description) contains a short description of the purpose, function, or use of its parent element, or when the parent is a documentation element, describes or defines the object being documented. [22.4.1. Description of Components] + id="tavq-desc-deprecationInfo-only-in-deprecated-constraint-rule-11"> + id="tavq-rt-target-rt-target-not-span-constraint-report-8"> + id="tavq-rt-from-rt-from-constraint-assert-7"> + id="tavq-rt-to-rt-to-constraint-assert-8"> + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -4260,6 +4268,7 @@ Measures] + @@ -4279,6 +4288,7 @@ Measures] + @@ -4318,7 +4328,7 @@ Sample values include: 1] suspension (suspension); 2] contraction (contraction); (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 16.1. Links] + id="tavq-ptr-ptrAtts-constraint-report-9"> Only one of the attributes @target and @cRef may be supplied on . @@ -4338,7 +4348,7 @@ attributes @target and @cRef may be supplied on . (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 16.1. Links] + id="tavq-ref-refAtts-constraint-report-10"> Only one of the attributes @target' and @cRef' may be supplied on @@ -4829,6 +4839,29 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -4839,6 +4872,29 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -4880,6 +4936,29 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -4900,6 +4979,29 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. @@ -4927,6 +5029,29 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5097,7 +5222,7 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho + id="tavq-relatedItem-targetorcontent1-constraint-report-11"> + id="tavq-l-abstractModel-structure-l-in-l-constraint-report-12"> + id="tavq-lg-atleast1oflggapl-constraint-assert-17"> + id="tavq-lg-abstractModel-structure-lg-in-l-constraint-report-13"> + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5490,6 +5639,30 @@ Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5500,6 +5673,30 @@ Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5617,6 +5814,30 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5654,6 +5875,30 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5801,7 +6046,7 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] - (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] @@ -5894,7 +6139,7 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + id="tavq-quotation-quotationContents-constraint-report-14"> + id="tavq-citeStructure-match-citestructure-outer-match-constraint-rule-24"> @@ -6176,7 +6421,7 @@ Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after + id="tavq-citeStructure-match-citestructure-inner-match-constraint-rule-25"> @@ -6325,6 +6570,7 @@ Sample values include: 1] book; 2] chapter; 3] entry; 4] poem; 5] letter; 6] lin + @@ -6348,6 +6594,7 @@ Sample values include: 1] book; 2] chapter; 3] entry; 4] poem; 5] letter; 6] lin + @@ -6405,6 +6652,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6429,6 +6700,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6440,6 +6735,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + indicates a source unit of measure that is to be converted into another unit indicated in @toUnit. @@ -6484,6 +6803,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + supplies an identifier for the application, independent of its version number or display name. @@ -6533,6 +6876,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6559,7 +6926,7 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr (identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the language documented by this element, and which is referenced by the global @xml:lang attribute. + href="https://tools.ietf.org/html/bcp47">BCP 47 which is used to identify the language documented by this element, and which may be referenced by the global @xml:lang attribute. @@ -6570,7 +6937,7 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr - specifies the approximate percentage (by volume) of the text which uses this language. + specifies the approximate percentage of the text which uses this language. @@ -6773,6 +7140,30 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + (target) points to one or more elements that belong to this change. @@ -6855,6 +7246,16 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 xmlns:sch="http://purl.oclc.org/dsdl/schematron" prefix="rna" uri="http://relaxng.org/ns/compatibility/annotations/1.0"/> + + @@ -7141,7 +7542,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 + id="tavq-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15"> + id="tavq-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16"> + diff --git a/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt b/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt index 676db7a4e..08c164bcb 100644 --- a/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt +++ b/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt @@ -2,20 +2,20 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:31:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:32:321: error: element "att_quant:test" missing required attribute "req_03" /invalidInstances/testAttValQuantInvalidInstance.xml:33:321: error: element "att_quant:test" missing required attribute "req_03" -/invalidInstances/testAttValQuantInvalidInstance.xml:34:321: error: element "att_quant:test" missing required attribute "req_0Ǖ" -/invalidInstances/testAttValQuantInvalidInstance.xml:35:321: error: element "att_quant:test" missing required attribute "req_0Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:34:321: error: element "att_quant:test" missing required attribute "req_0?" +/invalidInstances/testAttValQuantInvalidInstance.xml:35:321: error: element "att_quant:test" missing required attribute "req_0?" /invalidInstances/testAttValQuantInvalidInstance.xml:36:321: error: element "att_quant:test" missing required attribute "req_11" /invalidInstances/testAttValQuantInvalidInstance.xml:37:321: error: element "att_quant:test" missing required attribute "req_11" /invalidInstances/testAttValQuantInvalidInstance.xml:38:321: error: element "att_quant:test" missing required attribute "req_12" /invalidInstances/testAttValQuantInvalidInstance.xml:39:321: error: element "att_quant:test" missing required attribute "req_12" -/invalidInstances/testAttValQuantInvalidInstance.xml:40:321: error: element "att_quant:test" missing required attribute "req_1Ǖ" -/invalidInstances/testAttValQuantInvalidInstance.xml:41:321: error: element "att_quant:test" missing required attribute "req_1Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:40:321: error: element "att_quant:test" missing required attribute "req_1?" +/invalidInstances/testAttValQuantInvalidInstance.xml:41:321: error: element "att_quant:test" missing required attribute "req_1?" /invalidInstances/testAttValQuantInvalidInstance.xml:42:321: error: element "att_quant:test" missing required attribute "req_22" /invalidInstances/testAttValQuantInvalidInstance.xml:43:321: error: element "att_quant:test" missing required attribute "req_22" /invalidInstances/testAttValQuantInvalidInstance.xml:44:321: error: element "att_quant:test" missing required attribute "req_23" /invalidInstances/testAttValQuantInvalidInstance.xml:45:321: error: element "att_quant:test" missing required attribute "req_23" -/invalidInstances/testAttValQuantInvalidInstance.xml:46:321: error: element "att_quant:test" missing required attribute "req_2Ǖ" -/invalidInstances/testAttValQuantInvalidInstance.xml:47:321: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:46:321: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:47:321: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:54:321: error: value of attribute "req_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:54:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:55:321: error: value of attribute "opt_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" @@ -24,9 +24,9 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:56:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:57:321: error: value of attribute "opt_12" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:57:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: value of attribute "req_1Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: value of attribute "req_1?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: value of attribute "opt_1Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: value of attribute "opt_1?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:60:321: error: value of attribute "req_22" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:60:321: error: element "att_quant:test" missing required attribute "req_01" @@ -36,31 +36,31 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:62:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:63:321: error: value of attribute "opt_23" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:63:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: value of attribute "req_2Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: value of attribute "req_2?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: value of attribute "opt_2Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: value of attribute "opt_2?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: value of attribute "req_01" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: value of attribute "opt_01" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: value of attribute "req_03" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: value of attribute "opt_03" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: value of attribute "req_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: value of attribute "opt_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: value of attribute "req_12" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: value of attribute "opt_12" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: value of attribute "req_22" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: value of attribute "opt_22" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: value of attribute "req_23" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: element "att_quant:test" missing required attribute "req_2?" /invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: value of attribute "opt_23" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: element "att_quant:test" missing required attribute "req_2?" diff --git a/Test2/expected-results/testPure1.rng b/Test2/expected-results/testPure1.rng index 1934b7896..04db355dc 100644 --- a/Test2/expected-results/testPure1.rng +++ b/Test2/expected-results/testPure1.rng @@ -90,7 +90,7 @@ - + address descendants must be in the namespaces @@ -542,52 +542,8 @@ Sample values include: 1] all; 2] most; 3] range - - - - - indicates one or more systems or calendars to which the date represented by the content of this element belongs. - - - - \S+ - - - - - - - - - @calendar indicates one or more - systems or calendars to which the date represented by the content of this element belongs, - but this element has no textual content. - - - - - - - - - - - - - @@ -907,7 +863,7 @@ Suggested values include: 1] internal; 2] external; 3] conjecture + id="testPure1-att.global.source-source-only_1_ODD_source-constraint-rule-4"> + id="testPure1-att.measurement-att-measurement-unitRef-constraint-rule-5"> + id="testPure1-att.typed-subtypeTyped-constraint-rule-6"> + id="testPure1-att.pointing-targetLang-targetLang-constraint-rule-7"> + id="testPure1-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8"> ) must follow + id="testPure1-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9"> + + + + + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -3979,7 +3964,7 @@ Suggested values include: 1] page; 2] column; 3] line; 4] book; 5] poem; 6] cant (paragraph) marks paragraphs in prose. [3.1. Paragraphs 7.2.5. Speech Contents] + id="testPure1-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6"> + id="testPure1-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7"> (description) contains a short description of the purpose, function, or use of its parent element, or when the parent is a documentation element, describes or defines the object being documented. [22.4.1. Description of Components] + id="testPure1-desc-deprecationInfo-only-in-deprecated-constraint-rule-11"> + id="testPure1-rt-target-rt-target-not-span-constraint-report-8"> + id="testPure1-rt-from-rt-from-constraint-assert-7"> + id="testPure1-rt-to-rt-to-constraint-assert-8"> + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -4752,6 +4760,7 @@ Measures] + @@ -4771,6 +4780,7 @@ Measures] + @@ -4809,7 +4819,7 @@ Sample values include: 1] suspension (suspension); 2] contraction (contraction); (pointer) defines a pointer to another location. [3.7. Simple Links and Cross-References 16.1. Links] + id="testPure1-ptr-ptrAtts-constraint-report-9"> . (reference) defines a reference to another location, possibly modified by additional text or comment. [3.7. Simple Links and Cross-References 16.1. Links] + id="testPure1-ref-refAtts-constraint-report-10"> + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5178,6 +5211,29 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5219,6 +5275,29 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5226,6 +5305,17 @@ Elements] (title) contains a title for any kind of work. [3.12.2.2. Titles, Authors, and Editors 2.2.1. The Title Statement 2.2.5. The Series Statement] + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5252,6 +5342,29 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + indicates the bibliographic level for a title, that is, whether it identifies an article, book, journal, series, or unpublished material. @@ -5279,6 +5392,29 @@ Elements] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5444,7 +5580,7 @@ Elements] + id="testPure1-relatedItem-targetorcontent1-constraint-report-11"> + id="testPure1-l-abstractModel-structure-l-in-l-constraint-report-12"> + id="testPure1-lg-atleast1oflggapl-constraint-assert-18"> + id="testPure1-lg-abstractModel-structure-lg-in-l-constraint-report-13"> + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5836,6 +5996,30 @@ Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5846,6 +6030,30 @@ Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5962,6 +6170,30 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -5999,6 +6231,30 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6146,7 +6402,7 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] - (sampling declaration) contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] + (sampling declaration) contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource. [2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements] @@ -6239,7 +6495,7 @@ Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] + id="testPure1-quotation-quotationContents-constraint-report-14"> + id="testPure1-citeStructure-match-citestructure-outer-match-constraint-rule-25"> + id="testPure1-citeStructure-match-citestructure-inner-match-constraint-rule-26"> + @@ -6695,6 +6952,7 @@ Sample values include: 1] book; 2] chapter; 3] entry; 4] poem; 5] letter; 6] lin + @@ -6752,6 +7010,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6776,6 +7058,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6787,6 +7093,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + indicates a source unit of measure that is to be converted into another unit indicated in @toUnit. @@ -6831,6 +7161,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + supplies an identifier for the application, independent of its version number or display name. @@ -6880,6 +7234,30 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -6906,7 +7284,7 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr (identifier) Supplies a language code constructed as defined in BCP 47 which is used to identify the language documented by this element, and which is referenced by the global @xml:lang attribute. + href="https://tools.ietf.org/html/bcp47">BCP 47 which is used to identify the language documented by this element, and which may be referenced by the global @xml:lang attribute. @@ -6917,7 +7295,7 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr - specifies the approximate percentage (by volume) of the text which uses this language. + specifies the approximate percentage of the text which uses this language. @@ -7119,6 +7497,30 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + (target) points to one or more elements that belong to this change. @@ -7267,7 +7669,7 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (s-unit) contains a sentence-like division of a text. [17.1. Linguistic Segment Categories 8.4.1. Segmentation] + id="testPure1-s-noNestedS-constraint-report-15"> associates an interpretative annotation directly with a span of text. [17.3. Spans and Interpretations] + id="testPure1-span-targetfrom-constraint-report-16"> + id="testPure1-span-targetto-constraint-report-17"> + id="testPure1-span-tonotfrom-constraint-report-18"> , @from must be supplied as well + id="testPure1-span-tofrom-constraint-report-19"> may each contain only a single value(link) defines an association or hypertextual link among elements or passages, of some type not more precisely specifiable by other elements. [16.1. Links] + id="testPure1-link-linkTargets3-constraint-assert-32"> may each contain only a single value + id="testPure1-linkGrp-eight_is_enough-constraint-report-20"> may each contain only a single value(anonymous block) contains any component-level unit of text, acting as a container for phrase or inter level elements analogous to, but without the same constraints as, a paragraph. [16.3. Blocks, Segments, and Anchors] + id="testPure1-ab-abstractModel-structure-ab-in-l-or-lg-constraint-report-21"> + id="testPure1-standOff-nested_standOff_should_be_typed-constraint-assert-33"> + + @@ -8417,7 +8829,7 @@ Suggested values include: 1] d (days); 2] h (hours); 3] min (minutes); 4] s (sec + id="testPure1-div-abstractModel-structure-div-in-l-or-lg-constraint-report-22"> + id="testPure1-div-abstractModel-structure-div-in-ab-or-p-constraint-report-23"> + @@ -8892,6 +9305,30 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -8904,6 +9341,30 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + @@ -8916,6 +9377,30 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat + + + indicates one or more systems or calendars to which the date represented by the content of this element belongs. + + + + \S+ + + + + + + + + @calendar indicates one or more + systems or calendars to which the date represented by the content of this element belongs, + but this element has no textual content. + + From dcf4c2fd884827bbd71190ffbf393139499973ed Mon Sep 17 00:00:00 2001 From: "Hugh A. Cayless" Date: Thu, 16 Nov 2023 11:28:52 -0500 Subject: [PATCH 66/70] Fix version number --- Test/expected-results/test-indexes.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Test/expected-results/test-indexes.xml b/Test/expected-results/test-indexes.xml index b40780ce8..3f46f478f 100644 --- a/Test/expected-results/test-indexes.xml +++ b/Test/expected-results/test-indexes.xml @@ -20,7 +20,7 @@ - + From 8edb1414ac2687c52d023f94451f3e254f6be554 Mon Sep 17 00:00:00 2001 From: "Hugh A. Cayless" Date: Thu, 16 Nov 2023 11:31:04 -0500 Subject: [PATCH 67/70] More version number fixes. --- Test/expected-results/hyperlinktest.xml | 2 +- Test/expected-results/test-rtf2tei.xml | 2 +- Test/expected-results/test11.xml | 2 +- Test/expected-results/test11a.xml | 2 +- Test/expected-results/test18.xml | 2 +- Test/expected-results/test19.xml | 2 +- Test/expected-results/test29.xml | 2 +- Test/expected-results/test37.xml | 2 +- Test/expected-results/test39.xml | 2 +- Test/expected-results/test40.xml | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Test/expected-results/hyperlinktest.xml b/Test/expected-results/hyperlinktest.xml index 41c15525a..3e430da83 100644 --- a/Test/expected-results/hyperlinktest.xml +++ b/Test/expected-results/hyperlinktest.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test-rtf2tei.xml b/Test/expected-results/test-rtf2tei.xml index 633694d3d..c10f1d1ae 100644 --- a/Test/expected-results/test-rtf2tei.xml +++ b/Test/expected-results/test-rtf2tei.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test11.xml b/Test/expected-results/test11.xml index 10b51baa2..51d443d18 100644 --- a/Test/expected-results/test11.xml +++ b/Test/expected-results/test11.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test11a.xml b/Test/expected-results/test11a.xml index bb2053bcd..be2e7d04e 100644 --- a/Test/expected-results/test11a.xml +++ b/Test/expected-results/test11a.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test18.xml b/Test/expected-results/test18.xml index da5808b81..dba50a2be 100644 --- a/Test/expected-results/test18.xml +++ b/Test/expected-results/test18.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test19.xml b/Test/expected-results/test19.xml index bf506cea7..2e828a3be 100644 --- a/Test/expected-results/test19.xml +++ b/Test/expected-results/test19.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test29.xml b/Test/expected-results/test29.xml index a56aa8560..91a25f357 100644 --- a/Test/expected-results/test29.xml +++ b/Test/expected-results/test29.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test37.xml b/Test/expected-results/test37.xml index bc070773e..21b786d32 100644 --- a/Test/expected-results/test37.xml +++ b/Test/expected-results/test37.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test39.xml b/Test/expected-results/test39.xml index 2def36d88..cba272342 100644 --- a/Test/expected-results/test39.xml +++ b/Test/expected-results/test39.xml @@ -20,7 +20,7 @@ - + diff --git a/Test/expected-results/test40.xml b/Test/expected-results/test40.xml index 56b6162ab..b3c2e2621 100644 --- a/Test/expected-results/test40.xml +++ b/Test/expected-results/test40.xml @@ -20,7 +20,7 @@ - + From c4990d7b6c5945e7da9a3c3dac48b8db627ce6f0 Mon Sep 17 00:00:00 2001 From: "Hugh A. Cayless" Date: Thu, 16 Nov 2023 11:43:33 -0500 Subject: [PATCH 68/70] More version changes. --- Test2/expected-results/testDocxIndexes1.xml | 2 +- Test2/expected-results/testDocxListsTables1.xml | 2 +- Test2/expected-results/testNotes2.xml | 2 +- Test2/expected-results/testShelfmarkMs.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Test2/expected-results/testDocxIndexes1.xml b/Test2/expected-results/testDocxIndexes1.xml index 4feeeaed3..bf4b69132 100644 --- a/Test2/expected-results/testDocxIndexes1.xml +++ b/Test2/expected-results/testDocxIndexes1.xml @@ -19,7 +19,7 @@ - + diff --git a/Test2/expected-results/testDocxListsTables1.xml b/Test2/expected-results/testDocxListsTables1.xml index bc9617799..4faea9048 100644 --- a/Test2/expected-results/testDocxListsTables1.xml +++ b/Test2/expected-results/testDocxListsTables1.xml @@ -19,7 +19,7 @@ - + diff --git a/Test2/expected-results/testNotes2.xml b/Test2/expected-results/testNotes2.xml index 0a2ed267d..c5f5db0a3 100644 --- a/Test2/expected-results/testNotes2.xml +++ b/Test2/expected-results/testNotes2.xml @@ -19,7 +19,7 @@ - + diff --git a/Test2/expected-results/testShelfmarkMs.xml b/Test2/expected-results/testShelfmarkMs.xml index 1aac080b5..6a37e303c 100644 --- a/Test2/expected-results/testShelfmarkMs.xml +++ b/Test2/expected-results/testShelfmarkMs.xml @@ -19,7 +19,7 @@ - + From 00d9a74e4746946c19f45e959b00e347886e7089 Mon Sep 17 00:00:00 2001 From: "Hugh A. Cayless" Date: Thu, 16 Nov 2023 12:16:06 -0500 Subject: [PATCH 69/70] Revert test file. --- ...tAttValQuantInvalidInstanceRngMessages.txt | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt b/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt index 08c164bcb..676db7a4e 100644 --- a/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt +++ b/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt @@ -2,20 +2,20 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:31:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:32:321: error: element "att_quant:test" missing required attribute "req_03" /invalidInstances/testAttValQuantInvalidInstance.xml:33:321: error: element "att_quant:test" missing required attribute "req_03" -/invalidInstances/testAttValQuantInvalidInstance.xml:34:321: error: element "att_quant:test" missing required attribute "req_0?" -/invalidInstances/testAttValQuantInvalidInstance.xml:35:321: error: element "att_quant:test" missing required attribute "req_0?" +/invalidInstances/testAttValQuantInvalidInstance.xml:34:321: error: element "att_quant:test" missing required attribute "req_0Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:35:321: error: element "att_quant:test" missing required attribute "req_0Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:36:321: error: element "att_quant:test" missing required attribute "req_11" /invalidInstances/testAttValQuantInvalidInstance.xml:37:321: error: element "att_quant:test" missing required attribute "req_11" /invalidInstances/testAttValQuantInvalidInstance.xml:38:321: error: element "att_quant:test" missing required attribute "req_12" /invalidInstances/testAttValQuantInvalidInstance.xml:39:321: error: element "att_quant:test" missing required attribute "req_12" -/invalidInstances/testAttValQuantInvalidInstance.xml:40:321: error: element "att_quant:test" missing required attribute "req_1?" -/invalidInstances/testAttValQuantInvalidInstance.xml:41:321: error: element "att_quant:test" missing required attribute "req_1?" +/invalidInstances/testAttValQuantInvalidInstance.xml:40:321: error: element "att_quant:test" missing required attribute "req_1Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:41:321: error: element "att_quant:test" missing required attribute "req_1Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:42:321: error: element "att_quant:test" missing required attribute "req_22" /invalidInstances/testAttValQuantInvalidInstance.xml:43:321: error: element "att_quant:test" missing required attribute "req_22" /invalidInstances/testAttValQuantInvalidInstance.xml:44:321: error: element "att_quant:test" missing required attribute "req_23" /invalidInstances/testAttValQuantInvalidInstance.xml:45:321: error: element "att_quant:test" missing required attribute "req_23" -/invalidInstances/testAttValQuantInvalidInstance.xml:46:321: error: element "att_quant:test" missing required attribute "req_2?" -/invalidInstances/testAttValQuantInvalidInstance.xml:47:321: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:46:321: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:47:321: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:54:321: error: value of attribute "req_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:54:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:55:321: error: value of attribute "opt_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" @@ -24,9 +24,9 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:56:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:57:321: error: value of attribute "opt_12" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:57:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: value of attribute "req_1?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: value of attribute "req_1Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: value of attribute "opt_1?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: value of attribute "opt_1Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:60:321: error: value of attribute "req_22" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:60:321: error: element "att_quant:test" missing required attribute "req_01" @@ -36,31 +36,31 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:62:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:63:321: error: value of attribute "opt_23" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:63:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: value of attribute "req_2?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: value of attribute "req_2Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: value of attribute "opt_2?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: value of attribute "opt_2Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: value of attribute "req_01" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: value of attribute "opt_01" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: value of attribute "req_03" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: value of attribute "opt_03" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: value of attribute "req_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: value of attribute "opt_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: value of attribute "req_12" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: value of attribute "opt_12" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: value of attribute "req_22" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: value of attribute "opt_22" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: value of attribute "req_23" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: value of attribute "opt_23" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" From 33281d52bc4f7f640d58649e0c1a100fb6100012 Mon Sep 17 00:00:00 2001 From: raffazizzi Date: Thu, 16 Nov 2023 12:17:14 -0500 Subject: [PATCH 70/70] adjusted expected results for test2 --- ...tAttValQuantInvalidInstanceRngMessages.txt | 44 +++++++++---------- debian-tei-xsl/debian/changelog | 6 +++ 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt b/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt index 08c164bcb..676db7a4e 100644 --- a/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt +++ b/Test2/expected-results/testAttValQuantInvalidInstanceRngMessages.txt @@ -2,20 +2,20 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:31:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:32:321: error: element "att_quant:test" missing required attribute "req_03" /invalidInstances/testAttValQuantInvalidInstance.xml:33:321: error: element "att_quant:test" missing required attribute "req_03" -/invalidInstances/testAttValQuantInvalidInstance.xml:34:321: error: element "att_quant:test" missing required attribute "req_0?" -/invalidInstances/testAttValQuantInvalidInstance.xml:35:321: error: element "att_quant:test" missing required attribute "req_0?" +/invalidInstances/testAttValQuantInvalidInstance.xml:34:321: error: element "att_quant:test" missing required attribute "req_0Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:35:321: error: element "att_quant:test" missing required attribute "req_0Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:36:321: error: element "att_quant:test" missing required attribute "req_11" /invalidInstances/testAttValQuantInvalidInstance.xml:37:321: error: element "att_quant:test" missing required attribute "req_11" /invalidInstances/testAttValQuantInvalidInstance.xml:38:321: error: element "att_quant:test" missing required attribute "req_12" /invalidInstances/testAttValQuantInvalidInstance.xml:39:321: error: element "att_quant:test" missing required attribute "req_12" -/invalidInstances/testAttValQuantInvalidInstance.xml:40:321: error: element "att_quant:test" missing required attribute "req_1?" -/invalidInstances/testAttValQuantInvalidInstance.xml:41:321: error: element "att_quant:test" missing required attribute "req_1?" +/invalidInstances/testAttValQuantInvalidInstance.xml:40:321: error: element "att_quant:test" missing required attribute "req_1Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:41:321: error: element "att_quant:test" missing required attribute "req_1Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:42:321: error: element "att_quant:test" missing required attribute "req_22" /invalidInstances/testAttValQuantInvalidInstance.xml:43:321: error: element "att_quant:test" missing required attribute "req_22" /invalidInstances/testAttValQuantInvalidInstance.xml:44:321: error: element "att_quant:test" missing required attribute "req_23" /invalidInstances/testAttValQuantInvalidInstance.xml:45:321: error: element "att_quant:test" missing required attribute "req_23" -/invalidInstances/testAttValQuantInvalidInstance.xml:46:321: error: element "att_quant:test" missing required attribute "req_2?" -/invalidInstances/testAttValQuantInvalidInstance.xml:47:321: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:46:321: error: element "att_quant:test" missing required attribute "req_2Ǖ" +/invalidInstances/testAttValQuantInvalidInstance.xml:47:321: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:54:321: error: value of attribute "req_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:54:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:55:321: error: value of attribute "opt_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" @@ -24,9 +24,9 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:56:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:57:321: error: value of attribute "opt_12" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:57:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: value of attribute "req_1?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: value of attribute "req_1Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:58:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: value of attribute "opt_1?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: value of attribute "opt_1Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:59:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:60:321: error: value of attribute "req_22" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:60:321: error: element "att_quant:test" missing required attribute "req_01" @@ -36,31 +36,31 @@ /invalidInstances/testAttValQuantInvalidInstance.xml:62:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:63:321: error: value of attribute "opt_23" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:63:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: value of attribute "req_2?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: value of attribute "req_2Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:64:321: error: element "att_quant:test" missing required attribute "req_01" -/invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: value of attribute "opt_2?" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" +/invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: value of attribute "opt_2Ǖ" is invalid; missing token; must be a string matching the regular expression "[^\p{C}\p{Z}]+" /invalidInstances/testAttValQuantInvalidInstance.xml:65:321: error: element "att_quant:test" missing required attribute "req_01" /invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: value of attribute "req_01" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:72:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: value of attribute "opt_01" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:73:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: value of attribute "req_03" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:74:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: value of attribute "opt_03" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:75:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: value of attribute "req_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:76:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: value of attribute "opt_11" is invalid; must be a string matching the regular expression "[^\p{C}\p{Z}]+" -/invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:77:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: value of attribute "req_12" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:78:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: value of attribute "opt_12" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:79:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: value of attribute "req_22" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:80:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: value of attribute "opt_22" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:81:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: value of attribute "req_23" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:82:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" /invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: value of attribute "opt_23" is invalid -/invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: element "att_quant:test" missing required attribute "req_2?" +/invalidInstances/testAttValQuantInvalidInstance.xml:83:345: error: element "att_quant:test" missing required attribute "req_2Ǖ" diff --git a/debian-tei-xsl/debian/changelog b/debian-tei-xsl/debian/changelog index 03dc8ade3..0f49e25c4 100644 --- a/debian-tei-xsl/debian/changelog +++ b/debian-tei-xsl/debian/changelog @@ -1,3 +1,9 @@ +tei-xsl (7.56.0) natty; urgency=low + + * new release from upstream + + -- TEI Thu, 16 Nov 2023 12:12:49 -0500 + tei-xsl (7.56.0a) natty; urgency=low * new release from upstream
    - enum  - define la gama de valores de atributos expresados como una única palabra o señal tomada de una lista de posibilidades documentadas.
    - Módulo - tei
    - Usado por - -
    - Elemento: - -
    -
    - Content model - -
    -<content>
    - <dataRef key="teidata.word"/>
    -</content>
    -    
    -
    -
    -
    - Declaración - -
    -teidata.enumerated = 
    -teidata.word
    -
    ->>>>>>> dev
    +
     
    + + att.calendarSystem + : + provides attributes for indicating calendar systems to which a date belongs.[ + 3.6.4. Dates and Times + 13.4. Dates]
    @@ -669,7 +678,7 @@

    : provides attributes common to elements which refer to named persons, places, organizations etc.[ 3.6.1. Referring Strings - 13.3.6. Names and Nyms]

    @@ -3638,7 +3647,7 @@

    samplingDecl : ( sampling declaration) - contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection.[ + contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource.[ 2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements]

    -
    +
    <div  typ=" verse">  @@ -672,7 +673,7 @@

    namesdates: listEvent - listNym + listNym listObject listOrg listPerson @@ -707,7 +708,7 @@

    Ejemplo

    -
    +
    <body>  <div  typ=" @@ -771,7 +772,7 @@

    Content model

    -
    +                  
     <content>
      <sequence minOccurs="1" maxOccurs="1">
       <alternate minOccurs="0"
    @@ -823,7 +824,7 @@ 

    </sequence> </content> - +

    -
    +                  
     element div
     {
        
    @@ -872,7 +873,7 @@ 

    )? ) } - +

    -
    +
    <para>Hallgerd was outside. <q>There is blood on your axe, </q>she said. @@ -1332,12 +1334,12 @@

    Content model

    -
    +                  
     <content>
      <macroRef key="macro.paraContent"/>
     </content>
         
    -
    +
     
    -
    +                  
     element para
     {
        
    @@ -1360,7 +1362,7 @@ 

    macro.paraContent } - +

    -
    It is spelled +
    It is spelled <q>Tübingen </q>— to enter the letter <q>u @@ -1965,12 +1969,12 @@

    Content model

    -
    +                  
     <content>
      <macroRef key="macro.specialPara"/>
     </content>
         
    -
    +
     
    -
    +                  
     element q
     {
        
    @@ -2001,7 +2005,7 @@ 

    macro.specialPara } - +

    + + att.calendarSystem + : + provides attributes for indicating calendar systems to which a date belongs.[ + 3.6.4. Dates and Times + 13.4. Dates]
    @@ -2470,7 +2483,7 @@

    : identifica los atributos comunes a los elementos que se refieren a personas, lugares, organizaciones, etc. indicados por nombre[ 3.6.1. Referring Strings - 13.3.6. Names and Nyms]

    @@ -3273,9 +3286,18 @@

    event : ( event) - cualquier fenómeno o evento no necesariamente vocal o comunicativo, como ruidos accidentales u otros fenómenos que inciden en la comunicación en acto.[ + contiene datos relacionados con cualquier tipo de evento significativo asociado con una persona, lugar u organización.[ 13.3.1. Basic Principles]

    + + eventName + : ( + name of an event) + contains a proper noun or noun phrase used to refer to an event.[ + 13.2.4. Event Names]
    @@ -3805,7 +3827,7 @@

    : ( lista de nombres canónicos) contiene una lista de nyms, es decir, nombres estándard para cualquier cosa.[ - 13.3.6. Names and Nyms]

    @@ -3814,7 +3836,7 @@

    : ( list of objects) contains a list of descriptions, each of which provides information about an identifiable physical object.[ - 13.3.5. Objects]

    @@ -4845,7 +4867,7 @@

    : ( nombre canónico) contiene la definición para un nombre canónico o parte de nombre de cualquier tipo.[ - 13.3.6. Names and Nyms]

    @@ -4853,7 +4875,7 @@

    object : contains a description of a single identifiable physical object.[ - 13.3.5. Objects]

    @@ -4862,7 +4884,7 @@

    : ( object identifier) groups one or more identifiers or pieces of locating information concerning a single object.[ - 13.3.5. Objects]

    @@ -4871,7 +4893,7 @@

    : ( name of an object) contains a proper noun or noun phrase used to refer to an object.[ - 13.2.4. Object Names]

    @@ -5341,7 +5363,7 @@

    samplingDecl : ( declaración de muestra) - contiene una descripción en prosa sobre los fundamentos y métodos usados en textos de muestra en la creación de un corpus o una selección de textos.[ + contiene una descripción en prosa sobre los fundamentos y métodos usados en textos de muestra en la creación de un corpus o una selección de textos.[ 2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements]

    + + att.calendarSystem + : + provides attributes for indicating calendar systems to which a date belongs.[ + 3.6.4. Dates and Times + 13.4. Dates]
    @@ -1365,7 +1374,7 @@

    : provides attributes common to elements which refer to named persons, places, organizations etc.[ 3.6.1. Referring Strings - 13.3.6. Names and Nyms]

    @@ -3735,7 +3744,7 @@

    samplingDecl : ( sampling declaration) - contains a prose description of the rationale and methods used in sampling texts in the creation of a corpus or collection.[ + contains a prose description of the rationale and methods used in selecting texts, or parts of a text, for inclusion in the resource.[ 2.3.2. The Sampling Declaration 2.3. The Encoding Description 15.3.2. Declarable Elements]