From 611befaa28c3740f501fad783658ccd980b8af69 Mon Sep 17 00:00:00 2001
From: Syd Bauman
Date: Mon, 16 Oct 2023 11:06:34 -0400
Subject: [PATCH 1/2] 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 2/2] 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 3066indica la lengua del contenido del elemento
- utilizando los códigos extraídos de RFC
+ utilizando los códigos extraídos de RFC
3066indica 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).
@@ -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.
ふたつめは、言語タグを、下位タグ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
+
The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier
(URI): Generic Syntax
La gamme des valeurs syntaxiquement valides est définie par RFC 3986 Uniform Resource Identifier
+
La gamme des valeurs syntaxiquement valides est définie par RFC 3986 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
3987Internationalized Resource Identifiers (IRIs) mapping
to URIs. For example,
@@ -6609,14 +6624,14 @@ resource, either within the current document or elsewhere.
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 Version4.7.0a. Last updated on
- 16th July 2023, revision df882688d
+ 12th October 2023, revision c27b080d0TEI 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 3066indica la lengua del contenido del elemento
- utilizando los códigos extraídos de RFC
+ utilizando los códigos extraídos de RFC
3066indica 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).
@@ -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.
ふたつめは、言語タグを、下位タグ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
+
The range of syntactically valid values is defined by RFC 3986 Uniform Resource Identifier
(URI): Generic Syntax
La gamme des valeurs syntaxiquement valides est définie par RFC 3986 Uniform Resource Identifier
+
La gamme des valeurs syntaxiquement valides est définie par RFC 3986 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
3987Internationalized Resource Identifiers (IRIs) mapping
to URIs. For example,
@@ -8418,14 +8440,14 @@ resource, either within the current document or elsewhere.
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.
+
@@ -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 specificationdocuments 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
+