Skip to content

Commit bcfa98f

Browse files
committed
Merge branch 'release-4.10.2' into released
2 parents 3cd82e7 + 8357d83 commit bcfa98f

File tree

8 files changed

+398
-29
lines changed

8 files changed

+398
-29
lines changed

P5/ReleaseNotes/readme-4.10.0.xml

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</titleStmt>
1111
<editionStmt>
1212
<edition>
13-
<date when="2025-01-24">Friday, 15 August 2025</date>
13+
<date when="2025-08-15">Friday, 15 August 2025</date>
1414
</edition>
1515
</editionStmt>
1616
<publicationStmt>
@@ -32,8 +32,8 @@
3232
target="https://github.com/TEIC/TEI/milestone/20?closed=1">4.10.0 milestone</ref>. Many
3333
thanks to the community contributors who reported issues, sent bug fixes, and helped with
3434
the drafting that led to this release, including: GitHub user a1ix2, John Bampton, Piotr
35-
Bański, Lou Burnard, Hugh Cayless, Ash Clark, Tomaz Erjavec, David Maus, Natsuko Nakagawa,
36-
Matija Ogrin, Klaus Rettinghaus, and GitHub user rvdb.</p>
35+
Bański, Lou Burnard, Hugh Cayless, Ash Clark, Tomaž Erjavec, Jan Jokisch, David Maus,
36+
Natsuko Nakagawa, Matija Ogrin, Klaus Rettinghaus, and GitHub user rvdb.</p>
3737
<p>The following changes are particularly worth highlighting in this release:
3838
<!--<list>
3939
<head>New encoding features</head>
@@ -52,6 +52,10 @@
5252
(<ref target="https://github.com/TEIC/TEI/issues/2651">#2651</ref> and
5353
<ref target="https://github.com/TEIC/TEI/pull/2689">PR #2689</ref>).
5454
</item>
55+
<item>The content model of <gi>sp</gi> has changed to allow elements in <name type="class">model.stageLike</name> (which includes <gi>stage</gi>
56+
as well as <gi>camera</gi>, <gi>caption</gi>, <gi>move</gi>, <gi>sound</gi>, <gi>stage</gi>, <gi>tech</gi>,
57+
and <gi>view</gi>) to be set prior to <gi>speaker</gi>
58+
(<ref target="https://github.com/TEIC/TEI/issues/2642">#2642</ref> and <ref target="https://github.com/TEIC/TEI/pull/2698">PR #2698</ref>).</item>
5559
<item>The value of the <att>rotate</att> attribute has been changed from <name type="datatype">teidata.count</name>
5660
to <name type="datatype">teidata.numeric</name> in order to permit negative and non-integer values
5761
(<ref target="https://github.com/TEIC/TEI/issues/2637">#2637</ref>
@@ -86,11 +90,12 @@
8690
<p>
8791
<list>
8892
<head>Improvements of prose and examples</head>
89-
<item>The dedication, introductory note, and acknowledgments have been significantly revised with this release.
90-
The dedication now includes
91-
our founding editor of the TEI consortium and Guidelines, C. Michael SperBerg-McQueen (1954-2024), and
92-
provides <q>about</q> links for each person listed. The introductory note is now updated for the first
93-
time since the launch of P5 in 2007, and the acknowledgments now list TEI Board members who have served over the past two decades
93+
<item>The <ref target="https://tei-c.org/Vault/P5/4.10.0/doc/tei-p5-doc/en/html/dedication.html">Dedication</ref> and the
94+
<ref target="https://tei-c.org/Vault/P5/4.10.0/doc/tei-p5-doc/en/html/FM1.html">Preface and Acknowledgments</ref>
95+
have been significantly revised with this release. The dedication now includes
96+
our founding editor of the TEI consortium and Guidelines, C. Michael Sperberg-McQueen (1954-2024), and
97+
provides <q>about</q> links for each person listed. The Preface and Acknowledgments are now updated for the first
98+
time since the launch of P5 in 2007, and they now list TEI Board members who have served over the past two decades
9499
(<ref target="https://github.com/TEIC/TEI/issues/2741">#2741</ref>, <ref target="https://github.com/TEIC/TEI/issues/2284">#2284</ref>,
95100
<ref target="https://github.com/TEIC/TEI/issues/2688">#2688</ref>, and <ref target="https://github.com/TEIC/TEI/pull/2743">PR #2743</ref>).</item>
96101
<item>This release provides a revision and a new example of dictionary encoding adapted from the TEI Lex-0 specification
@@ -108,7 +113,7 @@
108113
<name type="datatype">teidata.name</name> and its description had been revised
109114
(<ref target="https://github.com/TEIC/TEI/issues/2681">#2681</ref>
110115
and <ref target="https://github.com/TEIC/TEI/pull/2682">PR #2682</ref>).</item>
111-
<item>Many element specifications have been revised to include lists reference locations indicating
116+
<item>Many element specifications have been revised to list reference locations indicating
112117
where they are mentioned in the Guidelines (<ref target="https://github.com/TEIC/TEI/issues/2652">#2652</ref>
113118
and <ref target="https://github.com/TEIC/TEI/pull/2722">PR #2722</ref>).</item>
114119
<item>German translations have been added to glosses and descriptions of global attributes

P5/ReleaseNotes/readme-4.10.1.xml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,20 @@
2323
</teiHeader>
2424
<text>
2525
<body>
26-
<p>Release 4.10.1 is a patch release to remove a Schematron constraint introduced in the 4.10.0 release.
27-
This constraint flagged as an error the case of two or more sibling declarable elements appearing in
28-
the TEI header without the required attributes. Because TEI projects use these elements in the TEI Header
29-
in contexts that do not involve <name type="class">att.declarable</name>, we are removing the Schematron rule
30-
introduced in 4.10.0. For now the language guiding the constraint is still
31-
present in <ref target="https://www.tei-c.org/Vault/P5/4.10.1/doc/tei-p5-doc/en/html/CC.html#CCAS2">the
26+
<p>Release 4.10.1 is a patch release to remove a Schematron
27+
constraint introduced in the <ref
28+
target="https://www.tei-c.org/Vault/P5/4.10.0/doc/tei-p5-doc/readme-4.10.0.html">4.10.0</ref>
29+
release. This constraint flagged as an error the case of two or
30+
more sibling declarable elements appearing in the TEI header
31+
without the required attributes. Because TEI projects use these
32+
elements in the TEI Header in contexts that do not involve <name
33+
type="class">att.declarable</name>, we are removing the
34+
Schematron rule introduced in 4.10.0. For now the language
35+
guiding the constraint is still present in <ref
36+
target="https://www.tei-c.org/Vault/P5/4.10.1/doc/tei-p5-doc/en/html/CC.html#CCAS2">the
3237
prose</ref>, as it has been since P2. (<ref
3338
target="https://github.com/TEIC/TEI/issues/2750">#2750</ref> and
34-
<ref target="https://github.com/TEIC/TEI/pull/2751">PR #
35-
2751</ref>).</p>
39+
<ref target="https://github.com/TEIC/TEI/pull/2751">PR #2751</ref>).</p>
3640
<p>Note: patch releases do not have codenames.</p>
3741
</body>
3842
</text>

P5/ReleaseNotes/readme-4.10.2.xml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!-- © TEI Consortium. Dual-licensed under CC-by and BSD2 licenses; see the file COPYING.txt for details. -->
3+
<?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
4+
<?xml-model href="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
5+
<TEI xmlns="http://www.tei-c.org/ns/1.0">
6+
<teiHeader>
7+
<fileDesc>
8+
<titleStmt>
9+
<title>TEI P5 version 4.10.2 release notes</title>
10+
</titleStmt>
11+
<editionStmt>
12+
<edition>
13+
<date when="2025-09-04">Thursday, 04 September 2025</date>
14+
</edition>
15+
</editionStmt>
16+
<publicationStmt>
17+
<authority>The Text Encoding Initiative</authority>
18+
</publicationStmt>
19+
<sourceDesc>
20+
<p>Born digital</p>
21+
</sourceDesc>
22+
</fileDesc>
23+
</teiHeader>
24+
<text>
25+
<body>
26+
<p>Release 4.10.2 is a patch release to fix a bug in the content
27+
model of <gi>sp</gi>. The patch is needed because in the <ref
28+
target="https://www.tei-c.org/Vault/P5/4.10.0/doc/tei-p5-doc/readme-4.10.0.html">4.10.0</ref>
29+
and <ref
30+
target="https://www.tei-c.org/Vault/P5/4.10.1/doc/tei-p5-doc/readme-4.10.1.html">4.10.1</ref>
31+
releases, the <gi>speaker</gi> element was inadvertently
32+
<emph>required</emph> as a child of <gi>sp</gi>, when previously it was not. (<ref
33+
target="https://github.com/TEIC/TEI/issues/2758">#2758</ref>,
34+
<ref target="https://github.com/TEIC/TEI/pull/2759">PR #2759</ref> (not merged), and <ref
35+
target="https://github.com/TEIC/TEI/pull/2760">PR #2760</ref>). The
36+
<ref target="https://www.tei-c.org/Vault/P5/4.10.0/doc/tei-p5-doc/readme-4.10.0.html">release notes
37+
for release 4.10.0</ref> have also been revised
38+
to include information about the change introduced to the content model of <gi>sp</gi>.</p>
39+
<p>Note: patch releases do not have codenames.</p>
40+
</body>
41+
</text>
42+
</TEI>

P5/Source/Specs/sp.xml

Lines changed: 96 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,30 +31,116 @@
3131
<memberOf key="model.divPart"/>
3232
</classes>
3333
<content>
34+
<!--
35+
In RELAX NG compact syntax, using two extra pattern
36+
declarations:
37+
spPart_sans = ( lg | model.lLike | model.pLike | model.listLike | model.attributable | q )
38+
spPart_con = ( spPart_sans | model.stageLike )
39+
-->
40+
<!--
41+
model.global*,
42+
( model.stageLike, model.global* )*,
43+
(
44+
( ( speaker, model.global*), ( spPart_con, model.global* ) )
45+
|
46+
( spPart_sans, model.global* )
47+
),
48+
( spPart_con, model.global* )*
49+
-->
50+
<!-- However, since this (4.10.2) is just a patch release, we are
51+
not making new classes or macros to make this simpler. We
52+
should do that next regular release, though, IMHO. Thus below
53+
this you will find the same content model but using a class
54+
model.spPart (defined like spPart_sans, above), just to make
55+
updating easier. —Syd, 2025-09-02 -->
3456
<sequence>
35-
<alternate minOccurs="0" maxOccurs="unbounded">
36-
<classRef key="model.global" minOccurs="1" maxOccurs="1"/>
57+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
58+
<sequence minOccurs="0" maxOccurs="unbounded">
3759
<classRef key="model.stageLike" minOccurs="1" maxOccurs="1"/>
38-
</alternate>
39-
<sequence>
40-
<elementRef key="speaker"/>
4160
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
4261
</sequence>
43-
<sequence minOccurs="1" maxOccurs="unbounded">
44-
<alternate>
62+
<alternate minOccurs="1" maxOccurs="1">
63+
<sequence minOccurs="1" maxOccurs="1">
64+
<sequence minOccurs="1" maxOccurs="1">
65+
<elementRef key="speaker" minOccurs="1" maxOccurs="1"/>
66+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
67+
</sequence>
68+
<sequence minOccurs="1" maxOccurs="1">
69+
<alternate minOccurs="1" maxOccurs="1">
70+
<elementRef key="lg"/>
71+
<classRef key="model.lLike"/>
72+
<classRef key="model.pLike"/>
73+
<classRef key="model.listLike"/>
74+
<classRef key="model.attributable"/>
75+
<elementRef key="q"/>
76+
<classRef key="model.stageLike"/>
77+
</alternate>
78+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
79+
</sequence>
80+
</sequence>
81+
<sequence minOccurs="1" maxOccurs="1">
82+
<alternate minOccurs="1" maxOccurs="1">
83+
<elementRef key="lg"/>
84+
<classRef key="model.lLike"/>
85+
<classRef key="model.pLike"/>
86+
<classRef key="model.listLike"/>
87+
<classRef key="model.attributable"/>
88+
<elementRef key="q"/>
89+
</alternate>
90+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
91+
</sequence>
92+
</alternate>
93+
<sequence minOccurs="0" maxOccurs="unbounded">
94+
<alternate minOccurs="1" maxOccurs="1">
4595
<elementRef key="lg"/>
4696
<classRef key="model.lLike"/>
4797
<classRef key="model.pLike"/>
4898
<classRef key="model.listLike"/>
49-
<classRef key="model.stageLike"/>
5099
<classRef key="model.attributable"/>
100+
<elementRef key="q"/>
101+
<classRef key="model.stageLike"/>
51102
</alternate>
52-
<alternate>
103+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
104+
</sequence>
105+
</sequence>
106+
<!-- BELOW -->
107+
<!--
108+
This is the same content model as above, but using the class
109+
model.spPart, which should be defined as
110+
( lg | model.lLike | model.pLike | model.listLike | model.attributable | q)
111+
-->
112+
<!--
113+
<sequence>
114+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
115+
<sequence minOccurs="0" maxOccurs="unbounded">
116+
<classRef key="model.stageLike" minOccurs="1" maxOccurs="1"/>
117+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
118+
</sequence>
119+
<alternate minOccurs="1" maxOccurs="1">
120+
<sequence minOccurs="1" maxOccurs="1">
121+
<sequence minOccurs="1" maxOccurs="1">
122+
<elementRef key="speaker" minOccurs="1" maxOccurs="1"/>
123+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
124+
</sequence>
125+
<sequence minOccurs="1" maxOccurs="1">
126+
<macroRef key="spPart_con"/>
127+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
128+
</sequence>
129+
</sequence>
130+
<sequence minOccurs="1" maxOccurs="1">
131+
<classRef key="model.spPart" minOccurs="1" maxOccurs="1"/>
53132
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
54-
<elementRef key="q"/>
133+
</sequence>
134+
</alternate>
135+
<sequence minOccurs="0" maxOccurs="unbounded">
136+
<alternate minOccurs="1" maxOccurs="1">
137+
<classRef key="model.spPart" minOccurs="1" maxOccurs="1"/>
138+
<classRef key="model.stageLike"/>
55139
</alternate>
140+
<classRef key="model.global" minOccurs="0" maxOccurs="unbounded"/>
56141
</sequence>
57142
</sequence>
143+
-->
58144
</content>
59145
<exemplum xml:lang="en">
60146
<egXML xmlns="http://www.tei-c.org/ns/Examples" xml:id="gi-sp-egXML-vc" source="#CODR-eg-296">

P5/Test/detest.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,24 @@
464464
</floatingText>
465465
</div>
466466

467+
<div n="should_be_invalid">
468+
<sp>
469+
<speaker/><speaker/>
470+
</sp>
471+
<sp>
472+
<stage/><stage/>
473+
</sp>
474+
<sp>
475+
<speaker/><speaker/>
476+
<p/><p/>
477+
</sp>
478+
<sp>
479+
<stage/><stage/>
480+
<speaker/><speaker/>
481+
<p/><p/>
482+
</sp>
483+
</div>
484+
467485
</body>
468486
<back>
469487
<schemaSpec ident="detest_ODD_error_check">

P5/Test/expected-results/detest_xml_relaxng.log

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,16 @@ allowed:
7777
element http://www.tei-c.org/ns/1.0^listRef
7878
element http://www.tei-c.org/ns/1.0^relatedItem
7979
element http://www.tei-c.org/ns/1.0^citedRange
80-
detest.xml:481:12: error: attribute ^target with invalid value ""
80+
detest.xml:469:20: error: element http://www.tei-c.org/ns/1.0^speaker not allowed
81+
required:
82+
after
83+
detest.xml:475:20: error: element http://www.tei-c.org/ns/1.0^speaker not allowed
84+
required:
85+
after
86+
detest.xml:480:20: error: element http://www.tei-c.org/ns/1.0^speaker not allowed
87+
required:
88+
after
89+
detest.xml:499:12: error: attribute ^target with invalid value ""
8190
required:
8291
data http://www.w3.org/2001/XMLSchema-datatypes^anyURI
8392
error: some documents are invalid

0 commit comments

Comments
 (0)