From 3748371418fe43478cc0a712c20cff71eab32ccb Mon Sep 17 00:00:00 2001 From: rvdb Date: Wed, 3 Jul 2024 21:06:20 +0200 Subject: [PATCH 01/38] skip //name, since it is not supported in the OpenEdition schema --- profiles/jtei/openedition/to.xsl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/profiles/jtei/openedition/to.xsl b/profiles/jtei/openedition/to.xsl index 316bed27a..f671aca11 100644 --- a/profiles/jtei/openedition/to.xsl +++ b/profiles/jtei/openedition/to.xsl @@ -985,6 +985,10 @@ + + + + From eb536a101631ccd720edb2308f09a36c620bcd6a Mon Sep 17 00:00:00 2001 From: rvdb Date: Wed, 3 Jul 2024 23:46:21 +0200 Subject: [PATCH 02/38] provide fallback output for "skippable" elements with a @rendition attribute --- profiles/jtei/openedition/to.xsl | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/profiles/jtei/openedition/to.xsl b/profiles/jtei/openedition/to.xsl index f671aca11..38ebf8905 100644 --- a/profiles/jtei/openedition/to.xsl +++ b/profiles/jtei/openedition/to.xsl @@ -797,7 +797,7 @@ - + @@ -810,6 +810,14 @@ + + + + + + + + @@ -841,7 +849,7 @@ - + @@ -850,7 +858,7 @@ - + @@ -978,15 +986,15 @@ - + - + - + From 1cc38c1a8ddebcf3d9b0e2a360faa09479fdb9fa Mon Sep 17 00:00:00 2001 From: helenasabel Date: Mon, 8 Jul 2024 15:20:22 +0200 Subject: [PATCH 03/38] bump version --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 354b185fb..c2ffd9c93 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -7.57.0 +7.58.0a From 01dbbe76f032f9f867e783e1e503b09a8bf4f2b4 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 17 Jul 2024 16:51:13 +0100 Subject: [PATCH 04/38] TOC updated p5 subset --- source/p5subset.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/p5subset.xml b/source/p5subset.xml index d6090495e..6b2bf9ee2 100644 --- a/source/p5subset.xml +++ b/source/p5subset.xml @@ -6,8 +6,8 @@ The TEI Guidelines - P5 Version 4.8.0a. Last updated on - 7th July 2024, revision bbf5eb2ef + P5 Version 4.9.0a. Last updated on + 8th July 2024, revision 2e33676b1 TEI Consortium From c30704ade7aed773971aec845d3d59b3710c3572 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 18 Jul 2024 16:56:08 -0400 Subject: [PATCH 05/38] fix path in output transform pgm (#691) * Changed to in Makefile #552 * Forgot to delete no-longer needed comment :-) --------- Co-authored-by: Elli Bleeker --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a81b097f7..484be886f 100644 --- a/Makefile +++ b/Makefile @@ -132,8 +132,7 @@ installxsl: build teioo.jar (cd release/xsl; tar cf - .) | (cd ${PREFIX}/share; tar xf -) cp --preserve=timestamps bin/transformtei ${PREFIX}/bin cp --preserve=timestamps source/p5subset.xml ${PREFIX}/source - # Shouldn't the "/usr" in the following line be ${PREFIX} ? —Syd & Martin, 2020-07-03 - perl -p -i -e 's+^APPHOME=.*+APPHOME=/usr/share/xml/tei/stylesheet+' ${PREFIX}/bin/transformtei + perl -p -i -e 's+^APPHOME=.*+APPHOME=${PREFIX}/share/xml/tei/stylesheet+' ${PREFIX}/bin/transformtei chmod 755 ${PREFIX}/bin/transformtei for i in $(SCRIPTS); do (cd ${PREFIX}/bin; rm -f `basename $$i`; ln -s transformtei `basename $$i`); done From a9319da69509186c77221ef94ff58368955be8a5 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Fri, 20 Sep 2024 19:24:05 -0400 Subject: [PATCH 06/38] Process constraintDecl element: use its queryBinding= attr, copy over its sch:ns elements into declared NS section, and all other child elements into a new declarations section. --- odds/extract-isosch.xsl | 38 +++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/odds/extract-isosch.xsl b/odds/extract-isosch.xsl index 831e310fc..028895399 100644 --- a/odds/extract-isosch.xsl +++ b/odds/extract-isosch.xsl @@ -116,7 +116,7 @@ of this software, even if advised of the possibility of such damage. is a direct child of <schemaSpec. - + @@ -129,7 +129,9 @@ of this software, even if advised of the possibility of such damage. http://www.w3.org/1999/XSL/Transform - + + + Note on keys: should not really need the "[not(ancestor::teix:egXML)]" predicate on DEPRECATEDs and CONSTRAINTs, as the elements matched (tei:* and @@ -170,12 +172,6 @@ of this software, even if advised of the possibility of such damage. - - - - - - First pass ... outermost element gets a new @xml:lang iff it doesn't have one already @@ -183,7 +179,7 @@ of this software, even if advised of the possibility of such damage. - + @@ -232,21 +228,13 @@ of this software, even if advised of the possibility of such damage. - - First pass ... everything else just gets copied - - - - - - - Second pass does most the work ... - + + ISO Schematron rules This file generated by 'extract-isosch.xsl'. @@ -274,8 +262,8 @@ of this software, even if advised of the possibility of such damage. - - + + @@ -308,6 +296,14 @@ of this software, even if advised of the possibility of such damage. schema that does not perform the desired constraint tests properly. + + + + + + + From 2516a1e2d58dbc3680b623e0ac03d1fa1211588a Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Sat, 21 Sep 2024 19:41:26 -0400 Subject: [PATCH 07/38] Fix tiny expected difference --- Test/expected-results/test.isosch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Test/expected-results/test.isosch b/Test/expected-results/test.isosch index 8359f3043..12230d94e 100644 --- a/Test/expected-results/test.isosch +++ b/Test/expected-results/test.isosch @@ -1,4 +1,4 @@ - + ISO Schematron rules From 47dbea67bb648931203a575beae10cdd210dc0d2 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Mon, 23 Sep 2024 12:29:01 -0400 Subject: [PATCH 08/38] bug fix and mild improvements per suggestion @joeytakeda --- odds/extract-isosch.xsl | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/odds/extract-isosch.xsl b/odds/extract-isosch.xsl index 028895399..f763bc592 100644 --- a/odds/extract-isosch.xsl +++ b/odds/extract-isosch.xsl @@ -233,7 +233,7 @@ of this software, even if advised of the possibility of such damage. - + ISO Schematron rules This file generated by 'extract-isosch.xsl'. @@ -262,8 +262,9 @@ of this software, even if advised of the possibility of such damage. - - + + @@ -546,11 +547,11 @@ of this software, even if advised of the possibility of such damage. + select="( $scheme, + 'constraint', + ancestor-or-self::*[@ident]/@ident/translate( .,':',''), + $num )" + separator="-"/> From c07e8d630ad4cbfc5fd102a40971ac7a863f09ac Mon Sep 17 00:00:00 2001 From: "Hugh A. Cayless" Date: Sun, 6 Oct 2024 11:20:59 -0300 Subject: [PATCH 09/38] Remove link to obsolete website page. --- README.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index d86c17e0a..00f890717 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,17 @@ -# Stylesheets +# TEI XSLT Stylesheets [![GitHub release](https://img.shields.io/github/release/TEIC/Stylesheets.svg)](https://github.com/TEIC/Stylesheets/releases) [![Stylesheets Tests](https://github.com/TEIC/Stylesheets/actions/workflows/test.yml/badge.svg)](https://github.com/TEIC/Stylesheets/actions/workflows/test.yml) -TEI XSL Stylesheets - This is a family of XSLT 3.0 stylesheets to transform TEI XML documents to various formats, including XHTML, LaTeX, XSL Formatting Objects, ePub, plain text, RDF, JSON; and to/from Word OOXML (docx) and OpenOffice (odt). They concentrate on the core TEI modules which are used for simple transcription and "born digital" writing. It is important to understand that they do _not_: -* cover all TEI elements and possible attribute values -* attempt to define a standard TEI processing or rendering model +* cover all TEI elements and possible attribute values +* attempt to define a standard TEI processing or rendering model and should not be treated as the definitive view of the TEI Consortium. -For more information, see https://tei-c.org/tools/stylesheets/ - ## Prerequisites + The package assumes that you have several additional tools installed. Their availability on your system can be verified by issuing the command `make check`. In particular, Stylesheets assume that you use `ant` version 1.9.x+. If for some reason, you need to use `ant` 1.8.x, you should remove all occurences of the attribute `@zip64Mode` from the file `common/teianttasks.xml`. From a6b0ecdbe0da039f71297254701e64aa8f92bf3c Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Tue, 15 Oct 2024 18:15:28 -0400 Subject: [PATCH 10/38] Improve 2 comments. --- odds/extract-isosch.xsl | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/odds/extract-isosch.xsl b/odds/extract-isosch.xsl index f763bc592..8f04791a9 100644 --- a/odds/extract-isosch.xsl +++ b/odds/extract-isosch.xsl @@ -254,16 +254,21 @@ of this software, even if advised of the possibility of such damage. - - - + - + From 8047eedea8aac2507e7e043b9790b696366ea139 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 24 Oct 2024 19:59:16 -0400 Subject: [PATCH 11/38] In addressing #702, pass the language on from Ant to XSL, and re-work how languages and Schematron Quick Fixes are handled in extract-isosch.xsl. --- bin/transformtei | 2 +- odds/extract-isosch.xsl | 278 ++++++++++++++++++++++------------------ schematron/build-to.xml | 7 +- 3 files changed, 163 insertions(+), 124 deletions(-) diff --git a/bin/transformtei b/bin/transformtei index c26c2ebea..0759f5aab 100755 --- a/bin/transformtei +++ b/bin/transformtei @@ -248,7 +248,7 @@ case $format in ;; esac -echo Convert ${indir}/${infilename} 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 lang=$lang ant $antflag -f "$APPHOME/$format/build-$direction.xml" \ -lib "${SAXONJAR}" $debug \ $fileperpage $cssFile $splitLevel $viewportwidth $viewportheight $summaryDoc $mediaoverlay $nocompress \ diff --git a/odds/extract-isosch.xsl b/odds/extract-isosch.xsl index 8f04791a9..aacacefac 100644 --- a/odds/extract-isosch.xsl +++ b/odds/extract-isosch.xsl @@ -118,7 +118,43 @@ of this software, even if advised of the possibility of such damage. - + + + The parameter $lang is the language tag for which we will extract + constraints (ignoring constraints in other languages). To determine a + default we check to see what language(s) the constraints are in. If there + is only 1, that is the default. If there are none we presume "en". If + there are more than 1, throw an error, advising the user that $lang has + to be specified. + + + + + + + + + + + + + Internal fatal ERROR: Unable to determine the language (i.e., @xml:lang) of any constraints. + + + + + + + + + For the prefix for prefixes the default “esp” stands for “Extract Schematron Prefix”. Silly, I know, but my first thought @@ -129,17 +165,22 @@ of this software, even if advised of the possibility of such damage. http://www.w3.org/1999/XSL/Transform + Note on keys: should not really need the "[not(ancestor::teix:egXML)]" - predicate on DEPRECATEDs and CONSTRAINTs, as the elements matched (tei:* and - constraintSpec/constraint, respectively) should never be inside a <teix:egXML>. + predicate on DEPRECATEDs, CONSTRAINTs, and SCHQCKFIXs, as the elements matched + (tei:*, tei:constraintSpec/tei:constraint, and tei:constraintSpec//sqf:fixes, + respectively) should never be inside a <teix:egXML>. + match="constraintDecl//sch:ns[ not( ancestor::teix:egXML ) ]" + use="'*'"/> + + match="constraintSpec[ @scheme eq 'schematron' ]/constraint + [ not( ancestor::teix:egXML ) ]" + use="( ancestor-or-self::*[@xml:lang][1]/@xml:lang, 'en')[1] => normalize-space()"/> + + @@ -171,20 +217,7 @@ of this software, even if advised of the possibility of such damage. - - - First pass ... outermost element gets a new @xml:lang iff it doesn't - have one already - - - - - - - - - - + First pass ... elements that might have an ns= attribute get new nsu= (namespace URI) and nsp= (namespace prefix) attributes @@ -203,17 +236,22 @@ of this software, even if advised of the possibility of such damage. + tei: teix: - - - + + + + + @@ -238,71 +276,72 @@ of this software, even if advised of the possibility of such damage. ISO Schematron rules This file generated by 'extract-isosch.xsl'. - - - - - - - - - - - - + + + + + + + + - - - - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - + + + + - - - - - - - - - - WARNING: You have <key> - elements in the ISO Schematron namespace — but ISO Schematron does not have a <key> - element, so they are being summarily ignored. This will likely result in an ISO Schematron + + WARNING: You have <key> elements in the ISO Schematron + namespace — but ISO Schematron does not have a <key> element, so they + are being summarily ignored. This will likely result in an ISO Schematron schema that does not perform the desired constraint tests properly. - + @@ -310,54 +349,53 @@ of this software, even if advised of the possibility of such damage. select="//tei:constraintDecl[ @scheme eq 'schematron']/*[not(self::sch:ns)]"/> - + + - + - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + - + @@ -441,11 +479,11 @@ of this software, even if advised of the possibility of such damage. - + schematron quick fixes: - + @@ -463,10 +501,6 @@ of this software, even if advised of the possibility of such damage. - - - - diff --git a/schematron/build-to.xml b/schematron/build-to.xml index 8c1038b39..80f84b032 100644 --- a/schematron/build-to.xml +++ b/schematron/build-to.xml @@ -28,8 +28,13 @@ + - + From 2bfecb715f53f04a86cbfd4d9d647fc8514339e7 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Thu, 24 Oct 2024 23:27:09 -0400 Subject: [PATCH 12/38] Try to get Test/ and Test2/ to work with improved Schematron extraction routine. Test2/ seems to work, but Test/ does not, however the problem does not seem to have anything to do with Schematron extraction, and exists in the released branch as well. --- Test/Makefile | 2 +- Test/expected-results/test.isosch | 148 ++++++++---------------------- Test2/build_odd.xml | 11 ++- debian-tei-xsl/debian/changelog | 6 ++ 4 files changed, 53 insertions(+), 114 deletions(-) diff --git a/Test/Makefile b/Test/Makefile index 79d8cdf0a..15b8d887a 100644 --- a/Test/Makefile +++ b/Test/Makefile @@ -571,7 +571,7 @@ test-oddity: actual css else echo "==deferring: \` diff $(AR)/test.odd.html $(ER)/test.odd.html \`"; fi $(BINDIR)/teitoodd $(FLAGS) test.odd $(AR)/test.processedodd - $(SAXON) $(AR)/test.processedodd ../odds/extract-isosch.xsl > $(AR)/test.isosch + $(SAXON) $(AR)/test.processedodd ../odds/extract-isosch.xsl lang=en > $(AR)/test.isosch perl -i -p -e 's/This file generated [0-9T:Z-]+ by .extract-isosch.xsl./DELETED TIMESTAMP/' $(AR)/test.isosch if [ $(DIFFNOW) -eq 1 ]; \ then diff $(AR)/test.isosch $(ER)/test.isosch; \ diff --git a/Test/expected-results/test.isosch b/Test/expected-results/test.isosch index 12230d94e..684d03a05 100644 --- a/Test/expected-results/test.isosch +++ b/Test/expected-results/test.isosch @@ -11,12 +11,9 @@ - - - - - - + + + The @generatedBy attribute is for use within a <post> element. @@ -40,11 +37,7 @@ - - When used on a schema description element (like - ), the @source attribute - should have only 1 value. (This one has .) - + When used on a schema description element (like ), the @source attribute should have only 1 value. (This one has .) @@ -64,46 +57,33 @@ - -The element indicated by @spanTo () must follow the current element + The element indicated by @spanTo () must follow the current element - - @schemeVersion can only be used if @scheme is specified. - + @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. + @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: 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. - + 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 - that is being deprecated: that is, only an element that has a - @validUntil attribute should have a child <desc - type="deprecationInfo">. + Information about a deprecation should only be present in a specification element that is being deprecated: that is, only an element that has a @validUntil attribute should have a child <desc type="deprecationInfo">. @@ -123,9 +103,7 @@ The element indicated by @spanTo () must follow the - @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. @@ -146,37 +124,27 @@ The element indicated by @spanTo () must follow the - @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. - @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. @@ -202,44 +170,32 @@ The element indicated by @spanTo () must follow the - @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. - @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 - + On , either the @marks attribute should be used, or a paragraph of description provided @@ -254,52 +210,37 @@ The element indicated by @spanTo () must follow the - @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. - @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 - 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. @@ -311,9 +252,7 @@ The element indicated by @spanTo () must follow the - The first and - last elements of this path are the same. To specify a closed polygon, use - the zone element rather than the path element. + The first and last elements of this path are the same. To specify a closed polygon, use the zone element rather than the path element. @@ -339,49 +278,40 @@ The element indicated by @spanTo () must follow the - - Abstract model violation: Lines may not contain higher-level structural elements such as div, unless div is a descendant of floatingText. - + 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. - + 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 + 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. - + 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 + You must supply at least two values for @target on - This - element must have a @type attribute, since it is - nested inside a + This element must have a @type attribute, since it is nested inside a - - - + + + WARNING: use of deprecated attribute — @calendar of the name element will be removed from the TEI on 2024-11-11. diff --git a/Test2/build_odd.xml b/Test2/build_odd.xml index e06c9c4e3..282f2637c 100644 --- a/Test2/build_odd.xml +++ b/Test2/build_odd.xml @@ -164,10 +164,12 @@ TARGET extractSchematronFromOdd - This target uses Stylesheets/odds/extract-isosch.xsl to - extract the Schematron embedded in an ODD file. It takes - a single parameter inFile, the name of the ODD file, and creates - a single Schematron file, outputFiles/[oddFileNameWithoutExtension]FromOdd.sch. + This target uses Stylesheets/odds/extract-isosch.xsl to extract + the Schematron embedded in an ODD file. It takes two parameters: + inFile, the name of the ODD file, and lang, the natural language + of the constraints from which to extract Schematron. It creates + a single Schematron file: + outputFiles/[oddFileNameWithoutExtension]FromOdd.sch. @@ -178,6 +180,7 @@ + diff --git a/debian-tei-xsl/debian/changelog b/debian-tei-xsl/debian/changelog index 225d8ef30..53b771c7c 100644 --- a/debian-tei-xsl/debian/changelog +++ b/debian-tei-xsl/debian/changelog @@ -1,3 +1,9 @@ +tei-xsl (7.58.0a) natty; urgency=low + + * new release from upstream + + -- TEI Thu, 24 Oct 2024 20:09:41 -0400 + tei-xsl (7.57.0a) natty; urgency=low * new release from upstream From 6f3896298523eb77b5b0fa09ed05398ed003f366 Mon Sep 17 00:00:00 2001 From: Syd Bauman Date: Tue, 29 Oct 2024 12:47:39 -0400 Subject: [PATCH 13/38] Stylesheets group fix: When merging class attributes, treat missing mode attribute as mode=add. --- Test/expected-results/test.rng | 208 ++++++++++++++---- Test/expected-results/test15.odd.rnc | 136 +++++++++++- Test/expected-results/test21.odd.rnc | 240 ++++++++++++--------- Test/expected-results/test30.rnc | 153 ++++++++++++- Test/expected-results/test33.rnc | 125 ++++++++++- Test/expected-results/test34.rnc | 125 ++++++++++- Test/expected-results/test35.rnc | 125 ++++++++++- Test2/expected-results/testAttValQuant.rng | 136 +++++++++--- Test2/expected-results/testPure1.rng | 115 +++++++--- debian-tei-xsl/debian/changelog | 6 + odds/classatts.xsl | 7 +- 11 files changed, 1139 insertions(+), 237 deletions(-) diff --git a/Test/expected-results/test.rng b/Test/expected-results/test.rng index a0576f31d..9171479e7 100644 --- a/Test/expected-results/test.rng +++ b/Test/expected-results/test.rng @@ -4408,10 +4408,16 @@ Suggested values include: 1] spoken (spoken); 2] thought (thought); 3] written ( - characterizes the element in some sense, using any convenient classification scheme or typology. - - [^\p{C}\p{Z}]+ - + characterizes the element in some sense, using any convenient classification scheme or typology. +Suggested values include: 1] deprecationInfo (deprecation information) + + deprecationInfo + (deprecation + information) This element describes why or how its parent element is being deprecated, typically including recommendations for alternate encoding. + + [^\p{C}\p{Z}]+ + + @@ -4840,10 +4846,21 @@ Measures] - indicates the type of numeric value. - - [^\p{C}\p{Z}]+ - + indicates the type of numeric value. +Suggested values include: 1] cardinal; 2] ordinal; 3] fraction; 4] percentage + + cardinal + absolute number, e.g. 21, 21.5 + ordinal + ordinal number, e.g. 21st + fraction + fraction, e.g. one half or three-quarters + percentage + a percentage + + [^\p{C}\p{Z}]+ + + @@ -4964,7 +4981,8 @@ Measures] - (type) allows the encoder to classify the abbreviation according to some convenient typology. + (type) allows the encoder to classify the abbreviation according to some convenient typology. +Sample values include: 1] suspension (suspension); 2] contraction (contraction); 3] brevigraph; 4] superscription (superscription); 5] acronym (acronym); 6] title (title); 7] organization (organization); 8] geographic (geographic) [^\p{C}\p{Z}]+ @@ -5079,10 +5097,23 @@ Measures] - (type) describes the nature of the items in the list. - - [^\p{C}\p{Z}]+ - + (type) describes the nature of the items in the list. +Suggested values include: 1] gloss (gloss); 2] index (index); 3] instructions (instructions); 4] litany (litany); 5] syllogism (syllogism) + + gloss + (gloss) each list item glosses some term or concept, which is given by a <label> element preceding the list item. + index + (index) each list item is an entry in an index such as the alphabetical topical index at the back of a print volume. + instructions + (instructions) each list item is a step in a sequence of instructions, as in a recipe. + litany + (litany) each list item is one of a sequence of petitions, supplications or invocations, typically in a religious ritual. + syllogism + (syllogism) each list item is part of an argument consisting of two or more propositions and a final conclusion derived from them. + + [^\p{C}\p{Z}]+ + + @@ -5605,7 +5636,8 @@ Elements] - classifies the title according to some convenient typology. + classifies the title according to some convenient typology. +Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] short; 5] desc (descriptive) [^\p{C}\p{Z}]+ @@ -6062,7 +6094,8 @@ Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] nove - specifies what type of generated text division (e.g. index, table of contents, etc.) is to appear. + specifies what type of generated text division (e.g. index, table of contents, etc.) is to appear. +Sample values include: 1] index; 2] toc; 3] figlist; 4] tablist [^\p{C}\p{Z}]+ @@ -6365,10 +6398,28 @@ Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] nove - categorizes the identifier, for example as an ISBN, Social Security number, etc. - - [^\p{C}\p{Z}]+ - + categorizes the identifier, for example as an ISBN, Social Security number, etc. +Suggested values include: 1] ISBN; 2] ISSN; 3] DOI; 4] URI; 5] VIAF; 6] ESTC; 7] OCLC + + ISBN + International Standard Book Number: a 13- or (if assigned prior to 2007) 10-digit identifying number assigned by the publishing industry to a published book or similar item, registered with the International ISBN Agency. + + ISSN + International Standard Serial Number: an eight-digit number to uniquely identify a serial publication. + DOI + Digital Object Identifier: a unique string of letters and numbers assigned to an electronic document. + URI + Uniform Resource Identifier: a string of characters to uniquely identify a resource, following the syntax of RFC 3986. + VIAF + A data number in the Virtual Internet Authority File assigned to link different names in catalogs around the world for the same entity. + ESTC + English Short-Title Catalogue number: an identifying number assigned to a document in English printed in the British Isles or North America before 1801. + OCLC + OCLC control number (record number) for the union catalog record in WorldCat, a union catalog for member libraries in the Online Computer Library Center global cooperative. + + [^\p{C}\p{Z}]+ + + @@ -7581,10 +7632,23 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr - describes the nature of the action. - - [^\p{C}\p{Z}]+ - + describes the nature of the action. +Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5] forwarded + + sent + information concerning the sending or dispatch of a message. + received + information concerning the receipt of a message. + transmitted + information concerning the transmission of a message, i.e. between the dispatch and the next receipt, redirect or forwarding. + redirected + information concerning the redirection of an unread message. + forwarded + information concerning the forwarding of a message. + + [^\p{C}\p{Z}]+ + + @@ -8109,7 +8173,8 @@ Sample values include: 1] glued; 2] pinned; 3] sewn - classifies the material encoded according to some useful typology. + classifies the material encoded according to some useful typology. +Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNum (line number); 5] sig (signature); 6] catch (catchword) [^\p{C}\p{Z}]+ @@ -8526,10 +8591,21 @@ Sample values include: 1] glued; 2] pinned; 3] sewn - describes the type of graph. - - [^\p{C}\p{Z}]+ - + describes the type of graph. +Suggested values include: 1] undirected; 2] directed; 3] transitionNetwork; 4] transducer + + undirected + undirected graph + directed + directed graph + transitionNetwork + a directed graph with distinguished initial and final nodes + transducer + a transition network with up to two labels on each arc + + [^\p{C}\p{Z}]+ + + @@ -8562,10 +8638,17 @@ Sample values include: 1] glued; 2] pinned; 3] sewn - provides a type for a node. - - [^\p{C}\p{Z}]+ - + provides a type for a node. +Suggested values include: 1] initial; 2] final + + initial + initial node in a transition network + final + final node in a transition network + + [^\p{C}\p{Z}]+ + + @@ -9897,10 +9980,23 @@ Sample values include: 1] glued; 2] pinned; 3] sewn - (type) specifies the role of this subdivision of the title. - - [^\p{C}\p{Z}]+ - + (type) specifies the role of this subdivision of the title. +Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternate); 4] short (short); 5] desc (descriptive) + + main + (main) main title of the work + sub + (subordinate) subtitle of the work + alt + (alternate) alternative title of the work + short + (short) abbreviated form of title + desc + (descriptive) descriptive paraphrase of the work + + [^\p{C}\p{Z}]+ + + @@ -11168,10 +11264,27 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) - classifies form as simple, compound, etc. - - [^\p{C}\p{Z}]+ - + classifies form as simple, compound, etc. +Suggested values include: 1] simple; 2] lemma; 3] variant; 4] compound; 5] derivative; 6] inflected; 7] phrase + + simple + single free lexical item + lemma + the headword itself + variant + a variant form + compound + word formed from simple lexical items + derivative + word derived from headword + inflected + word in other than usual dictionary form + phrase + multiple-word lexical item + + [^\p{C}\p{Z}]+ + + @@ -11248,7 +11361,8 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) classifies grammatical information provided by <gram> according to some convenient and shared typology, ideally one defined in an external reference taxonomy, such as the CLARIN Concept - Registry. + Registry. +Sample values include: 1] pos (part of speech); 2] gen (gender); 3] num (number); 4] animate; 5] proper [^\p{C}\p{Z}]+ @@ -11320,7 +11434,8 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) - indicates the type of indicator used to specify the inflection class, when it is necessary to distinguish between the usual abbreviated indications (e.g. inv) and other kinds of indicators, such as special codes referring to conjugation patterns, etc. + indicates the type of indicator used to specify the inflection class, when it is necessary to distinguish between the usual abbreviated indications (e.g. inv) and other kinds of indicators, such as special codes referring to conjugation patterns, etc. +Sample values include: 1] abbrev; 2] verbTable [^\p{C}\p{Z}]+ @@ -11427,7 +11542,8 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) - classifies the usage information using any convenient typology. + classifies the usage information using any convenient typology. +Sample values include: 1] geo (geographic); 2] time; 3] dom (domain); 4] register (register); 5] style; 6] plev (preference level); 7] lang (language); 8] gram (grammatical); 9] syn (synonym); 10] hyper (hypernym); 11] colloc (collocation); 12] comp (complement); 13] obj (object); 14] subj (subject); 15] verb; 16] hint [^\p{C}\p{Z}]+ @@ -11473,7 +11589,8 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) - indicates the type of cross reference, using any convenient typology. + indicates the type of cross reference, using any convenient typology. +Sample values include: 1] syn (synonym); 2] etym (etymological); 3] cf (compare or consult); 4] illus (illustration) [^\p{C}\p{Z}]+ @@ -11518,7 +11635,8 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) - indicates the kind of typographic modification made to the headword in the reference. + indicates the kind of typographic modification made to the headword in the reference. +Sample values include: 1] cap (capital); 2] noHyph (no hyphen) [^\p{C}\p{Z}]+ diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index 22e7b6e68..227559346 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -2466,8 +2466,13 @@ desc = att.cmc.attributes, ## characterizes the element in some sense, using any convenient classification scheme or typology. + ## Suggested values include: 1] deprecationInfo (deprecation information) attribute type { - xsd:token { pattern = "[^\p{C}\p{Z}]+" } + + ## (deprecation + ## information) This element describes why or how its parent element is being deprecated, typically including recommendations for alternate encoding. + "deprecationInfo" + | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, empty } @@ -2865,8 +2870,21 @@ num = att.cmc.attributes, ## indicates the type of numeric value. + ## Suggested values include: 1] cardinal; 2] ordinal; 3] fraction; 4] percentage attribute type { - xsd:token { pattern = "[^\p{C}\p{Z}]+" } + + ## absolute number, e.g. 21, 21.5 + "cardinal" + | + ## ordinal number, e.g. 21st + "ordinal" + | + ## fraction, e.g. one half or three-quarters + "fraction" + | + ## a percentage + "percentage" + | xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, ## supplies the value of the number in standard form. @@ -2958,6 +2976,7 @@ abbr = att.cmc.attributes, ## (type) allows the encoder to classify the abbreviation according to some convenient typology. + ## Sample values include: 1] suspension (suspension); 2] contraction (contraction); 3] brevigraph; 4] superscription (superscription); 5] acronym (acronym); 6] title (title); 7] organization (organization); 8] geographic (geographic) attribute type { xsd:token { pattern = "[^\p{C}\p{Z}]+" } }?, @@ -3077,8 +3096,29 @@ ref = att.cmc.attributes, ## (type) describes the nature of the items in the list. + ## Suggested values include: 1] gloss (gloss); 2] index (index); 3] instructions (instructions); 4] litany (litany); 5] syllogism (syllogism) attribute type { - xsd:token { pattern = "[^\p{C}\p{Z}]+" } + [ + a:documentation [ + "(gloss) each list item glosses some term or concept, which is given by a " + ns1:code [ "