From c8d9ac9a961d7eb42adb1abf66be4b64d4c64394 Mon Sep 17 00:00:00 2001 From: Hugh Cayless Date: Tue, 19 Apr 2022 14:46:26 -0400 Subject: [PATCH] Updating tests. --- Test/expected-results/oddbyexample.odd | 5 - Test/expected-results/test.isosch | 78 ++-- Test/expected-results/test.rng | 390 ++++++++++++----- Test/expected-results/test15.odd.html | 41 +- Test/expected-results/test15.odd.rnc | 286 +++++++++---- Test/expected-results/test21.odd.rnc | 415 +++++++++++++------ Test/expected-results/test30.dtd | 8 +- Test/expected-results/test30.rnc | 363 +++++++++++----- Test/expected-results/test33.rnc | 286 +++++++++---- Test/expected-results/test34.combined.json | 14 +- Test/expected-results/test34.rnc | 286 +++++++++---- Test/expected-results/test35.rnc | 286 +++++++++---- Test/expected-results/testdrama.compiled.xml | 246 ++++++----- debian-tei-xsl/debian/changelog | 6 + 14 files changed, 1919 insertions(+), 791 deletions(-) diff --git a/Test/expected-results/oddbyexample.odd b/Test/expected-results/oddbyexample.odd index d5e512107..67fb36f99 100644 --- a/Test/expected-results/oddbyexample.odd +++ b/Test/expected-results/oddbyexample.odd @@ -123,11 +123,6 @@ - - - - - diff --git a/Test/expected-results/test.isosch b/Test/expected-results/test.isosch index 0f1316866..ead22bb9b 100644 --- a/Test/expected-results/test.isosch +++ b/Test/expected-results/test.isosch @@ -37,50 +37,60 @@ element has no textual content. - + + + + + When used on a schema description element (like + ), the @source attribute + should have only 1 value. (This one has .) + + + + 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 @@ -89,43 +99,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 @@ -134,48 +144,48 @@ 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 - + A with a parent must have a @delim attribute. - + An XPath in @match on the outer must start with '/'. - + An XPath in @match must not start with '/' except on the outer . - + , 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: ab may not occur inside paragraphs or other ab elements. - + 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 abbb82a8a..aef35ada9 100644 --- a/Test/expected-results/test.rng +++ b/Test/expected-results/test.rng @@ -103,7 +103,9 @@ (target end) points to the end of the span to which the note is attached, if the note is not embedded in the text at that point. - + + \S+ + @@ -118,7 +120,9 @@ indicates the person, or group of people, to whom the element content is ascribed. - + + \S+ + @@ -134,7 +138,9 @@ indicates the person, or group of people, to whom a speech act or action is directed. - + + \S+ + @@ -158,7 +164,9 @@ (reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs. - + + \S+ + @@ -323,7 +331,9 @@ Sample values include: 1] all; 2] most; 3] range points to a <handNote> element describing the hand considered responsible for the content of the element concerned. - + + \S+ + @@ -515,7 +525,9 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke indicates one or more systems or calendars to which the date represented by the content of this element belongs. - + + \S+ + @@ -534,7 +546,9 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke 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. - + + \S+ + @@ -550,7 +564,9 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. - + + \S+ + @@ -562,7 +578,9 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. - + + \S+ + @@ -593,7 +611,9 @@ Sample values include: 1] rubbing; 2] mildew; 3] smoke identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content. - + + \S+ + @@ -702,7 +722,9 @@ Sample values include: 1] approved; 2] candidate; 3] cleared; 4] deprecated; 5] (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. - + + \S+ + @@ -784,7 +806,9 @@ Suggested values include: 1] internal; 2] external; 3] conjecturepoints to a description of the rendering or presentation used for this element in the source text. - + + \S+ + @@ -799,12 +823,24 @@ Suggested values include: 1] internal; 2] external; 3] conjecturespecifies the source from which some aspect of this element is drawn. - + + \S+ + + + + + + When used on a schema description element (like + ), the @source attribute + should have only 1 value. (This one has .) + + + @@ -852,7 +888,9 @@ Suggested values include: 1] internal; 2] external; 3] conjecture provides a base URI reference with which applications can resolve relative URI references into absolute URI references. - + + \S+ + @@ -891,7 +929,9 @@ Suggested values include: 1] internal; 2] external; 3] conjecturepoints to a full description of the scribe concerned, typically supplied by a <person> element elsewhere in the description. - + + \S+ + @@ -915,7 +955,9 @@ Suggested values include: 1] internal; 2] external; 3] conjecturepoints to a full description of the script or writing style used by this hand, typically supplied by a <scriptNote> element elsewhere in the description. - + + \S+ + @@ -1013,7 +1055,9 @@ Suggested values include: 1] internal; 2] external; 3] conjecture (uniform resource locator) specifies the URL from which the media concerned may be obtained. - + + \S+ + @@ -1077,7 +1121,9 @@ Suggested values include: 1] m (metre); 2] kg (kilogram); 3] s (second); 4] Hz ( points to a unique identifier stored in the @xml:id of a <unitDef> element that defines a unit of measure. - + + \S+ + @@ -1109,7 +1155,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. @@ -1139,7 +1185,9 @@ Suggested values include: 1] m (metre); 2] kg (kilogram); 3] s (second); 4] Hz ( (reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it. - + + \S+ + @@ -1226,7 +1274,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 @@ -1250,7 +1298,7 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf - + @targetLang should only be used on if @target is specified. @@ -1261,7 +1309,9 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf specifies the destination of the reference by supplying one or more URI References - + + \S+ + @@ -1293,10 +1343,16 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf optionally specifies the identifiers of the elements within which all elements indicated by the contents of this element lie. - - + + \S+ + + + \S+ + - + + \S+ + @@ -1374,7 +1430,9 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. - + + \S+ + @@ -1387,11 +1445,13 @@ Suggested values include: 1] top; 2] bottom; 3] margin; 4] opposite; 5] overleaf indicates the end of a span initiated by the element bearing this attribute. - + + \S+ + - + The element indicated by @spanTo () must follow the current element @@ -1429,7 +1489,7 @@ The element indicated by @spanTo () must follow - + @schemeVersion can only be used if @scheme is specified. @@ -1444,7 +1504,9 @@ The element indicated by @spanTo () must follow indicates the location within a temporal alignment at which this element begins. - + + \S+ + @@ -1452,7 +1514,9 @@ The element indicated by @spanTo () must follow indicates the location within a temporal alignment at which this element ends. - + + \S+ + @@ -3271,7 +3335,9 @@ Suggested values include: 1] volume (volume); 2] issue; 3] page (page); 4] line; indicates one or more locations by pointing to a <place> element or other canonical description. - + + \S+ + @@ -3414,14 +3480,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. @@ -3620,7 +3686,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 @@ -3708,10 +3774,12 @@ Suggested values include: 1] deprecationInfo (deprecation information) supplies a pointer to the base being glossed by this ruby text. - + + \S+ + - + When target= is present, neither from= nor to= should be. @@ -3720,7 +3788,9 @@ Suggested values include: 1] deprecationInfo (deprecation information) points to the starting point of the span of text being glossed by this ruby text. - + + \S+ + @@ -3732,7 +3802,9 @@ Suggested values include: 1] deprecationInfo (deprecation information) points to the ending point of the span of text being glossed. - + + \S+ + @@ -4175,7 +4247,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 . @@ -4194,7 +4266,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 @@ -4262,7 +4334,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 @@ -4446,6 +4518,7 @@ Suggested values include: 1] gloss (gloss); 2] index (index); 3] instructions (i + @@ -4946,7 +5019,7 @@ Sample values include: 1] main; 2] sub (subordinate); 3] alt (alternate); 4] sho - + If the @target attribute on is used, the @@ -4960,7 +5033,9 @@ relatedItem element must be empty points to the related bibliographic element by means of an absolute or relative URI reference - + + \S+ + @@ -4978,7 +5053,7 @@ relatedItem element must be empty - + Abstract model violation: Lines may not contain lines or lg elements. @@ -5030,7 +5105,7 @@ relatedItem element must be empty must contain at least one child l, lg, or gap element. - + Abstract model violation: Lines may not contain line groups. @@ -5098,6 +5173,7 @@ relatedItem element must be empty + indicates the kind of stage direction. @@ -5713,9 +5789,9 @@ 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 @@ -5885,7 +5961,9 @@ On , either the @marks attribute should be used, or a paragraph of descri specifies the full formal name of the namespace concerned. - + + \S* + @@ -5972,7 +6050,7 @@ Sample values include: 1] first-line; 2] first-letter; 3] before; 4] after - + A with a parent must have a @delim attribute. @@ -5981,12 +6059,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 . @@ -6011,7 +6089,9 @@ Sample values include: 1] book; 2] chapter; 3] entry; 4] poem; 5] letter; 6] lin (property) A URI indicating a property definition. - + + \S+ + @@ -6246,11 +6326,15 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr indicates a source unit of measure that is to be converted into another unit indicated in @toUnit. - + + \S+ + the target unit of measurement for a conversion from a source unit referenced in @fromUnit. - + + \S+ + @@ -6412,7 +6496,9 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr identifies the controlled vocabulary within which the set of keywords concerned is defined, for example by a <taxonomy> element, or by some other resource. - + + \S+ + @@ -6425,7 +6511,9 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr identifies the classification system in use, as defined by, e.g. a <taxonomy> element, or some other resource. - + + \S+ + @@ -6439,7 +6527,9 @@ Suggested values include: 1] WGS84 (World Geodetic System); 2] MGRS (Military Gr identifies the classification scheme within which the set of categories concerned is defined, for example by a <taxonomy> element, or by some other resource. - + + \S+ + @@ -6575,7 +6665,9 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (target) points to one or more elements that belong to this change. - + + \S+ + @@ -6618,7 +6710,9 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 (facsimile) points to one or more images, portions of an image, or surfaces which correspond to the current element. - + + \S+ + @@ -6633,7 +6727,9 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 points to one or more <change> elements documenting a state or revision campaign to which the element bearing this attribute and its children have been assigned by the encoder. - + + \S+ + @@ -6651,7 +6747,9 @@ Suggested values include: 1] sent; 2] received; 3] transmitted; 4] redirected; 5 indicates the element within a transcription of the text containing at least the start of the writing represented by this zone or surface. - + + \S+ + @@ -6867,7 +6965,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] - + @@ -7034,7 +7132,9 @@ Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNu indicates a <handNote> element describing the hand concerned. - + + \S+ + @@ -7103,7 +7203,9 @@ Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNu (responsible party) (responsible party) indicates the individual responsible for identifying and measuring the space - + + \S+ + @@ -7276,7 +7378,9 @@ Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNu identifies one or more elements to which the metamark applies. - + + \S+ + @@ -7309,7 +7413,9 @@ Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNu points to one or more elements representing the interventions which are being reasserted. - + + \S+ + @@ -7341,7 +7447,9 @@ Sample values include: 1] header; 2] footer; 3] pageNum (page number); 4] lineNu points to one or more elements representing the interventions which are to be reverted or undone. - + + \S+ + @@ -7467,7 +7575,9 @@ Suggested values include: 1] initial; 2] final provides the value of a node, which is a feature structure or other analytic element. - + + \S+ + @@ -7475,7 +7585,9 @@ Suggested values include: 1] initial; 2] final (adjacent to) gives the identifiers of the nodes which are adjacent to the current node. - + + \S+ + @@ -7485,7 +7597,9 @@ Suggested values include: 1] initial; 2] final (adjacent from) gives the identifiers of the nodes which are adjacent from the current node. - + + \S+ + @@ -7495,7 +7609,9 @@ Suggested values include: 1] initial; 2] final (adjacent) gives the identifiers of the nodes which are both adjacent to and adjacent from the current node. - + + \S+ + @@ -7535,11 +7651,15 @@ Suggested values include: 1] initial; 2] final gives the identifier of the node which is adjacent from this arc. - + + \S+ + gives the identifier of the node which is adjacent to this arc. - + + \S+ + @@ -7604,14 +7724,18 @@ Suggested values include: 1] initial; 2] final identifies the root node of the network by pointing to a feature structure or other analytic element. - + + \S+ + identifies the elements which are the children of the root node. - + + \S+ + @@ -7648,21 +7772,27 @@ Suggested values include: 1] initial; 2] final indicates an intermediate node, which is a feature structure or other analytic element. - + + \S+ + provides a list of identifiers of the elements which are the children of the intermediate node. - + + \S+ + provides the identifier of the element which is the parent of this node. - + + \S+ + @@ -7682,7 +7812,9 @@ Suggested values include: 1] initial; 2] final provides the identifier of an element which this node follows. - + + \S+ + @@ -7704,19 +7836,25 @@ Suggested values include: 1] initial; 2] final provides a pointer to a feature structure or other analytic element. - + + \S+ + provides the identifier of parent of a leaf. - + + \S+ + provides an identifier of an element which this leaf follows. - + + \S+ + @@ -7743,7 +7881,9 @@ Suggested values include: 1] initial; 2] final provides the value of an embedding tree, which is a feature structure or other analytic element. - + + \S+ + @@ -7769,7 +7909,9 @@ Suggested values include: 1] initial; 2] final supplies a value for the triangle, in the form of the identifier of a feature structure or other analytic element. - + + \S+ + @@ -7791,7 +7933,9 @@ Suggested values include: 1] initial; 2] final indicates the value of an embedding leaf, which is a feature structure or other analytic element. - + + \S+ + @@ -8143,14 +8287,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. @@ -9050,7 +9194,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (corresponds) points to elements that correspond to the current element in some way. - + + \S+ + @@ -9062,7 +9208,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (synchronous) points to elements that are synchronous with the current element. - + + \S+ + @@ -9072,7 +9220,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat points to an element that is the same as the current element. - + + \S+ + @@ -9080,7 +9230,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat points to an element of which the current element is a copy. - + + \S+ + @@ -9088,7 +9240,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat points to the next element of a virtual aggregate of which the current element is part. - + + \S+ + @@ -9096,7 +9250,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (previous) points to the previous element of a virtual aggregate of which the current element is part. - + + \S+ + @@ -9106,7 +9262,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat points to elements that are in exclusive alternation with the current element. - + + \S+ + @@ -9118,7 +9276,9 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat selects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected. - + + \S+ + @@ -9163,14 +9323,14 @@ Suggested values include: 1] main (main); 2] sub (subordinate); 3] alt (alternat (anonymous block) contains any arbitrary component-level unit of text, acting as an anonymous container for phrase or inter level elements analogous to, but without the semantic baggage of, a paragraph. [16.3. Blocks, Segments, and Anchors] - + Abstract model violation: ab may not occur inside paragraphs or other ab elements. - + 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. @@ -9266,7 +9426,9 @@ Suggested values include: 1] d (days); 2] h (hours); 3] min (minutes); 4] s (sec identifies the reference point for determining the time of the current <when> element, which is obtained by adding the interval to the time of the reference point. - + + \S+ + @@ -9282,7 +9444,9 @@ Suggested values include: 1] d (days); 2] h (hours); 3] min (minutes); 4] s (sec designates the origin of the timeline, i.e. the time at which it begins. - + + \S+ + @@ -9404,10 +9568,16 @@ You must supply at least two values for @target on specifies the destination of the reference by supplying one or more URI References - - + + \S+ + + + \S+ + - + + \S+ + @@ -9560,7 +9730,9 @@ You must supply at least two values for @target on specifies the destination of the reference by supplying one or more URI References - + + \S+ + @@ -9679,7 +9851,9 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) (location) indicates an <anchor> element typically elsewhere in the document, but possibly in another document, which is the original location of this component. - + + \S+ + @@ -9687,7 +9861,9 @@ Suggested values include: 1] main; 2] hom (homograph); 3] xref (cross reference) (merged into) gives a reference to another element, where the original appears as a merged form. - + + \S+ + diff --git a/Test/expected-results/test15.odd.html b/Test/expected-results/test15.odd.html index fc177448a..11ef2d863 100644 --- a/Test/expected-results/test15.odd.html +++ b/Test/expected-results/test15.odd.html @@ -164,6 +164,7 @@

floatingText gb gloss + graphic group head idno @@ -242,7 +243,7 @@

-
+
<div  typ=" verse">  @@ -541,7 +542,7 @@

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

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

</sequence> </content> - +

@@ -666,7 +667,7 @@

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

)? ) } - +

@@ -980,7 +981,7 @@

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

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

Declaración -
+                  
 element para
 {
    
@@ -1052,7 +1053,7 @@ 

macro.paraContent } - +

@@ -1485,7 +1486,7 @@

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

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

Declaración -
+                  
 element q
 {
    
@@ -1537,7 +1538,7 @@ 

macro.specialPara } - +

@@ -1653,12 +1654,12 @@

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

Declaración -
+                  
 teidata.enumerated = 
 teidata.word
-
+
 
diff --git a/Test/expected-results/test15.odd.rnc b/Test/expected-results/test15.odd.rnc index 028f1150d..c598b500e 100644 --- a/Test/expected-results/test15.odd.rnc +++ b/Test/expected-results/test15.odd.rnc @@ -48,14 +48,18 @@ att.anchoring.attribute.targetEnd = ## (target end) points to the end of the span to which the note is attached, if the note is not embedded in the text at that point. attribute targetEnd { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.ascribed.attributes = att.ascribed.attribute.who att.ascribed.attribute.who = ## indicates the person, or group of people, to whom the element content is ascribed. attribute who { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.ascribed.directed.attributes = att.ascribed.attributes, att.ascribed.directed.attribute.toWhom @@ -63,7 +67,9 @@ att.ascribed.directed.attribute.toWhom = ## indicates the person, or group of people, to whom a speech act or action is directed. attribute toWhom { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.canonical.attributes = att.canonical.attribute.key, att.canonical.attribute.ref @@ -75,7 +81,9 @@ att.canonical.attribute.ref = ## (reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs. attribute ref { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.ranging.attributes = att.ranging.attribute.atLeast, @@ -200,7 +208,9 @@ att.written.attribute.hand = " element describing the hand considered responsible for the content of the element concerned." ] ] - attribute hand { xsd:anyURI }? + attribute hand { + xsd:anyURI { pattern = "\S+" } + }? att.breaking.attributes = att.breaking.attribute.break att.breaking.attribute.break = @@ -354,7 +364,9 @@ att.datable.attribute.calendar = ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. attribute calendar { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? sch:pattern [ id = "test15-att.datable-calendar-calendar-constraint-rule-4" @@ -389,7 +401,9 @@ att.datable.attribute.period = ] ] attribute period { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.datcat.attributes = att.datcat.attribute.datcat, att.datcat.attribute.valueDatcat @@ -397,13 +411,17 @@ att.datcat.attribute.datcat = ## contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. attribute ns2:datcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.datcat.attribute.valueDatcat = ## contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. attribute ns2:valueDatcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.declarable.attributes = att.declarable.attribute.default att.declarable.attribute.default = @@ -423,7 +441,9 @@ att.declaring.attribute.decls = ## identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content. attribute decls { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.fragmentable.attributes = att.fragmentable.attribute.part att.fragmentable.attribute.part = @@ -518,7 +538,9 @@ att.global.responsibility.attribute.resp = ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.editLike.attributes = att.editLike.attribute.evidence, att.editLike.attribute.instant @@ -573,15 +595,53 @@ att.global.rendition.attribute.rendition = ## points to a description of the rendering or presentation used for this element in the source text. attribute rendition { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.source.attributes = att.global.source.attribute.source att.global.source.attribute.source = ## specifies the source from which some aspect of this element is drawn. attribute source { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? +sch:pattern [ + id = + "test15-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*/@source" + "\x{a}" ~ + " " + sch:let [ + name = "srcs" + value = "tokenize( normalize-space(.),' ')" + ] + "\x{a}" ~ + " " + sch:report [ + test = + "( parent::tei:classRef | parent::tei:dataRef | parent::tei:elementRef | parent::tei:macroRef | parent::tei:moduleRef | parent::tei:schemaSpec ) and $srcs[2]" + "\x{a}" ~ + " When used on a schema description element (like\x{a}" ~ + " " + sch:value-of [ select = "name(..)" ] + "), the @source attribute\x{a}" ~ + " should have only 1 value. (This one has " + sch:value-of [ select = "count($srcs)" ] + ".)\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] att.global.attributes = att.global.rendition.attributes, att.global.linking.attributes, @@ -620,7 +680,9 @@ att.global.attribute.xmllang = att.global.attribute.xmlbase = ## provides a base URI reference with which applications can resolve relative URI references into absolute URI references. - attribute xml:base { xsd:anyURI }? + attribute xml:base { + xsd:anyURI { pattern = "\S+" } + }? att.global.attribute.xmlspace = ## signals an intention about how white space should be managed by applications. @@ -645,7 +707,9 @@ att.handFeatures.attribute.scribeRef = ] ] attribute scribeRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.handFeatures.attribute.script = @@ -662,7 +726,9 @@ att.handFeatures.attribute.scriptRef = ] ] attribute scriptRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.handFeatures.attribute.medium = @@ -730,7 +796,9 @@ att.resourced.attributes = att.resourced.attribute.url att.resourced.attribute.url = ## (uniform resource locator) specifies the URL from which the media concerned may be obtained. - attribute url { xsd:anyURI } + attribute url { + xsd:anyURI { pattern = "\S+" } + } att.measurement.attributes = att.measurement.attribute.unit, att.measurement.attribute.unitRef, @@ -810,7 +878,9 @@ att.measurement.attribute.unitRef = " element that defines a unit of measure." ] ] - attribute unitRef { xsd:anyURI }? + attribute unitRef { + xsd:anyURI { pattern = "\S+" } + }? att.measurement.attribute.quantity = ## (quantity) specifies the number of the specified units that comprise the measurement @@ -829,7 +899,7 @@ att.measurement.attribute.commodity = }? sch:pattern [ id = - "test15-att.measurement-att-measurement-unitRef-constraint-rule-5" + "test15-att.measurement-att-measurement-unitRef-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -863,7 +933,9 @@ att.naming.attribute.nymRef = ## (reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it. attribute nymRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.notated.attributes = att.notated.attribute.notation att.notated.attribute.notation = @@ -933,7 +1005,7 @@ att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "test15-att.typed-subtypeTyped-constraint-rule-6" + id = "test15-att.typed-subtypeTyped-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -976,7 +1048,7 @@ att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "test15-att.pointing-targetLang-targetLang-constraint-rule-7" + id = "test15-att.pointing-targetLang-targetLang-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -999,7 +1071,9 @@ att.pointing.attribute.target = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.pointing.attribute.evaluate = @@ -1024,7 +1098,11 @@ att.pointing.group.attribute.domains = ## optionally specifies the identifiers of the elements within which all elements indicated by the contents of this element lie. attribute domains { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }? att.pointing.group.attribute.targFunc = [ @@ -1078,16 +1156,20 @@ att.edition.attribute.edRef = ## (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute edRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.spanning.attributes = att.spanning.attribute.spanTo att.spanning.attribute.spanTo = ## indicates the end of a span initiated by the element bearing this attribute. - attribute spanTo { xsd:anyURI }? + attribute spanTo { + xsd:anyURI { pattern = "\S+" } + }? sch:pattern [ id = - "test15-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" + "test15-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1143,7 +1225,7 @@ att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "test15-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" + "test15-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1167,11 +1249,15 @@ att.timed.attributes = att.timed.attribute.start = ## indicates the location within a temporal alignment at which this element begins. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? att.timed.attribute.end = ## indicates the location within a temporal alignment at which this element ends. - attribute end { xsd:anyURI }? + attribute end { + xsd:anyURI { pattern = "\S+" } + }? att.transcriptional.attributes = att.editLike.attributes, att.written.attributes, @@ -1675,7 +1761,9 @@ att.locatable.attribute.where = ] ] attribute where { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? model.correspActionPart = model.dateLike | model.addressLike | model.nameLike | note | noteGrp @@ -1770,7 +1858,7 @@ p = macro.paraContent >> sch:pattern [ id = - "test15-p-abstractModel-structure-p-in-ab-or-p-constraint-report-5" + "test15-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -1792,7 +1880,7 @@ p = ] >> sch:pattern [ id = - "test15-p-abstractModel-structure-p-in-l-or-lg-constraint-report-6" + "test15-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -1973,7 +2061,7 @@ desc = macro.limitedContent >> sch:pattern [ id = - "test15-desc-deprecationInfo-only-in-deprecated-constraint-rule-10" + "test15-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2057,9 +2145,11 @@ rt = att.transcriptional.attributes, ( ## supplies a pointer to the base being glossed by this ruby text. - attribute target { xsd:anyURI }?) + attribute target { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ - id = "test15-rt-target-rt-target-not-span-constraint-report-7" + id = "test15-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2079,7 +2169,9 @@ rt = ], ( ## points to the starting point of the span of text being glossed by this ruby text. - attribute from { xsd:anyURI }?) + attribute from { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "test15-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ @@ -2103,7 +2195,9 @@ rt = ], ( ## points to the ending point of the span of text being glossed. - attribute to { xsd:anyURI }?) + attribute to { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "test15-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ @@ -2460,7 +2554,7 @@ ptr = element ptr { empty >> sch:pattern [ - id = "test15-ptr-ptrAtts-constraint-report-8" + id = "test15-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2494,7 +2588,7 @@ ref = element ref { macro.paraContent >> sch:pattern [ - id = "test15-ref-refAtts-constraint-report-9" + id = "test15-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2535,7 +2629,7 @@ ref = (model.divBottom, model.global*)*) >> sch:pattern [ id = - "test15-list-gloss-list-must-have-labels-constraint-rule-11" + "test15-list-gloss-list-must-have-labels-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2697,6 +2791,7 @@ graphic = att.media.attributes, att.resourced.attributes, att.declaring.attributes, + att.typed.attributes, empty } binaryObject = @@ -3022,7 +3117,7 @@ relatedItem = element relatedItem { ((model.biblLike | model.ptrLike)?) >> sch:pattern [ - id = "test15-relatedItem-targetorcontent1-constraint-report-10" + id = "test15-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3054,7 +3149,9 @@ relatedItem = att.typed.attributes, ## points to the related bibliographic element by means of an absolute or relative URI reference - attribute target { xsd:anyURI }?, + attribute target { + xsd:anyURI { pattern = "\S+" } + }?, empty } l = @@ -3064,7 +3161,7 @@ l = ((text | model.gLike | model.phrase | model.inter | model.global)*) >> sch:pattern [ id = - "test15-l-abstractModel-structure-l-in-l-constraint-report-11" + "test15-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3122,7 +3219,7 @@ lg = ] >> sch:pattern [ id = - "test15-lg-abstractModel-structure-lg-in-l-constraint-report-12" + "test15-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3177,6 +3274,7 @@ stage = att.ascribed.directed.attributes, att.global.attributes, att.placement.attributes, + att.written.attributes, ## indicates the kind of stage direction. ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed @@ -3643,7 +3741,7 @@ quotation = element quotation { (model.pLike*) >> sch:pattern [ - id = "test15-quotation-quotationContents-constraint-report-13" + id = "test15-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -3816,7 +3914,9 @@ tagUsage = att.global.attributes, ## specifies the full formal name of the namespace concerned. - attribute name { xsd:anyURI }, + attribute name { + xsd:anyURI { pattern = "\S*" } + }, empty } rendition = @@ -3875,7 +3975,7 @@ citeStructure = }?) >> sch:pattern [ id = - "test15-citeStructure-delim-citestructure-inner-delim-constraint-rule-12" + "test15-citeStructure-delim-citestructure-inner-delim-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -3914,7 +4014,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 [ @@ -3935,7 +4035,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 [ @@ -3976,7 +4076,9 @@ citeData = att.citeStructurePart.attributes, ## (property) A URI indicating a property definition. - attribute property { xsd:anyURI }, + attribute property { + xsd:anyURI { pattern = "\S+" } + }, empty } cRefPattern = @@ -4133,7 +4235,9 @@ conversion = "." ] ] - attribute fromUnit { xsd:anyURI }, + attribute fromUnit { + xsd:anyURI { pattern = "\S+" } + }, [ a:documentation [ "the target unit of measurement for a conversion from a source unit referenced in " @@ -4141,7 +4245,9 @@ conversion = "." ] ] - attribute toUnit { xsd:anyURI }, + attribute toUnit { + xsd:anyURI { pattern = "\S+" } + }, empty } appInfo = @@ -4248,7 +4354,9 @@ keywords = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } classCode = @@ -4264,7 +4372,9 @@ classCode = " element, or some other resource." ] ] - attribute scheme { xsd:anyURI }, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }, empty } catRef = @@ -4281,7 +4391,9 @@ catRef = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } calendarDesc = @@ -4375,7 +4487,9 @@ change = ## (target) points to one or more elements that belong to this change. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -4497,7 +4611,7 @@ floatingText = (model.divBottom, model.global*)*)?) >> sch:pattern [ id = - "test15-div-abstractModel-structure-div-in-l-or-lg-constraint-report-14" + "test15-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4519,7 +4633,7 @@ floatingText = ] >> sch:pattern [ id = - "test15-div-abstractModel-structure-div-in-ab-or-p-constraint-report-15" + "test15-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -4919,41 +5033,57 @@ att.global.linking.attribute.corresp = ## (corresponds) points to elements that correspond to the current element in some way. attribute corresp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.linking.attribute.synch = ## (synchronous) points to elements that are synchronous with the current element. attribute synch { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.linking.attribute.sameAs = ## points to an element that is the same as the current element. - attribute sameAs { xsd:anyURI }? + attribute sameAs { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.copyOf = ## points to an element of which the current element is a copy. - attribute copyOf { xsd:anyURI }? + attribute copyOf { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.next = ## points to the next element of a virtual aggregate of which the current element is part. - attribute next { xsd:anyURI }? + attribute next { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.prev = ## (previous) points to the previous element of a virtual aggregate of which the current element is part. - attribute prev { xsd:anyURI }? + attribute prev { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.exclude = ## points to elements that are in exclusive alternation with the current element. attribute exclude { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.linking.attribute.select = ## selects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected. attribute select { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? link = @@ -5002,7 +5132,7 @@ ab = macro.paraContent >> sch:pattern [ id = - "test15-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-16" + "test15-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5024,7 +5154,7 @@ ab = ] >> 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 [ @@ -5136,7 +5266,9 @@ when = " element, which is obtained by adding the interval to the time of the reference point." ] ] - attribute since { xsd:anyURI }?, + attribute since { + xsd:anyURI { pattern = "\S+" } + }?, empty } timeline = @@ -5147,7 +5279,9 @@ timeline = att.global.attributes, ## designates the origin of the timeline, i.e. the time at which it begins. - attribute origin { xsd:anyURI }?, + attribute origin { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "specifies the unit of time corresponding to the " @@ -5282,7 +5416,11 @@ alt = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }?, ## states whether the alternations gathered in this collection are exclusive or inclusive. @@ -5433,7 +5571,9 @@ annotation = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }, ## diff --git a/Test/expected-results/test21.odd.rnc b/Test/expected-results/test21.odd.rnc index 64a3f452f..5aaaaf2d0 100644 --- a/Test/expected-results/test21.odd.rnc +++ b/Test/expected-results/test21.odd.rnc @@ -49,14 +49,18 @@ att.anchoring.attribute.targetEnd = ## (target end) pointe vers la fin d'un passage auquel la note est attachée, si la note n'est pas enchâssée dans le texte à cet endroit attribute targetEnd { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.ascribed.attributes = att.ascribed.attribute.who att.ascribed.attribute.who = ## indique la personne ou le groupe de personnes à qui le contenu de l'élément est attribué. attribute who { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.ascribed.directed.attributes = att.ascribed.attributes, att.ascribed.directed.attribute.toWhom @@ -64,7 +68,9 @@ att.ascribed.directed.attribute.toWhom = ## indicates the person, or group of people, to whom a speech act or action is directed. attribute toWhom { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.canonical.attributes = att.canonical.attribute.key, att.canonical.attribute.ref @@ -76,7 +82,9 @@ att.canonical.attribute.ref = ## (référence) fournit un moyen explicite de localiser une définition complète de l'entité nommée au moyen d'un ou plusieurs URIs. attribute ref { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.ranging.attributes = att.ranging.attribute.atLeast, @@ -196,7 +204,9 @@ att.written.attributes = att.written.attribute.hand att.written.attribute.hand = ## signale la main de celui qui est intervenue. - attribute hand { xsd:anyURI }? + attribute hand { + xsd:anyURI { pattern = "\S+" } + }? att.damaged.attributes = att.dimensions.attributes, att.written.attributes, @@ -394,7 +404,9 @@ att.datable.attribute.calendar = ## indique le système ou le calendrier auquel appartient la date exprimée dans le contenu de l'élément. attribute calendar { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? sch:pattern [ id = "test21-att.datable-calendar-calendar-constraint-rule-4" @@ -422,7 +434,9 @@ 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. attribute period { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.datcat.attributes = att.datcat.attribute.datcat, att.datcat.attribute.valueDatcat @@ -430,13 +444,17 @@ att.datcat.attribute.datcat = ## contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. attribute ns2:datcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.datcat.attribute.valueDatcat = ## contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. attribute ns2:valueDatcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.declarable.attributes = att.declarable.attribute.default att.declarable.attribute.default = @@ -456,7 +474,9 @@ att.declaring.attribute.decls = ## identifie un ou plusieurséléments déclarables dans l'en-tête TEI, qui sont destinés à s'appliquer à l'élément portant cet attribut et à son contenu. attribute decls { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.fragmentable.attributes = att.fragmentable.attribute.part att.fragmentable.attribute.part = @@ -551,7 +571,9 @@ att.global.responsibility.attribute.resp = ## (responsable) indique l'agent responsable de l'intervention ou de l'interprétation, par exemple un éditeur ou un transcripteur. attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.editLike.attributes = att.editLike.attribute.evidence, att.editLike.attribute.instant @@ -606,15 +628,53 @@ att.global.rendition.attribute.rendition = ## pointe vers une description du rendu ou de la présentation utilisés pour cet élément dans le texte source attribute rendition { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.source.attributes = att.global.source.attribute.source att.global.source.attribute.source = ## specifies the source from which some aspect of this element is drawn. attribute source { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? +sch:pattern [ + id = + "test21-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*/@source" + "\x{a}" ~ + " " + sch:let [ + name = "srcs" + value = "tokenize( normalize-space(.),' ')" + ] + "\x{a}" ~ + " " + sch:report [ + test = + "( parent::tei:classRef | parent::tei:dataRef | parent::tei:elementRef | parent::tei:macroRef | parent::tei:moduleRef | parent::tei:schemaSpec ) and $srcs[2]" + "\x{a}" ~ + " When used on a schema description element (like\x{a}" ~ + " " + sch:value-of [ select = "name(..)" ] + "), the @source attribute\x{a}" ~ + " should have only 1 value. (This one has " + sch:value-of [ select = "count($srcs)" ] + ".)\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] att.global.attributes = att.global.rendition.attributes, att.global.linking.attributes, @@ -648,7 +708,9 @@ att.global.attribute.xmllang = att.global.attribute.xmlbase = ## donne une référence URI de base au moyen de laquelle les applications peuvent résoudre des références d'URI relatives en références d'URI absolues - attribute xml:base { xsd:anyURI }? + attribute xml:base { + xsd:anyURI { pattern = "\S+" } + }? att.global.attribute.xmlspace = ## signale que les applications doivent préserver l'espace blanc @@ -680,7 +742,9 @@ att.handFeatures.attribute.scribeRef = ] ] attribute scribeRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.handFeatures.attribute.script = @@ -697,7 +761,9 @@ att.handFeatures.attribute.scriptRef = ] ] attribute scriptRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.handFeatures.attribute.medium = @@ -765,7 +831,9 @@ att.resourced.attributes = att.resourced.attribute.url att.resourced.attribute.url = ## (adresse URL) specifies the URL from which the media concerned may be obtained. - attribute url { xsd:anyURI } + attribute url { + xsd:anyURI { pattern = "\S+" } + } att.measurement.attributes = att.measurement.attribute.unit, att.measurement.attribute.unitRef, @@ -845,7 +913,9 @@ att.measurement.attribute.unitRef = " element that defines a unit of measure." ] ] - attribute unitRef { xsd:anyURI }? + attribute unitRef { + xsd:anyURI { pattern = "\S+" } + }? att.measurement.attribute.quantity = ## (quantité) spécifie le nombre des unités indiquées que comprend la mesure. @@ -864,7 +934,7 @@ att.measurement.attribute.commodity = }? sch:pattern [ id = - "test21-att.measurement-att-measurement-unitRef-constraint-rule-5" + "test21-att.measurement-att-measurement-unitRef-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -903,7 +973,9 @@ att.naming.attribute.nymRef = ## (référence au nom canonique) indique comment localiser la forme canonique (nym) des noms qui sont associés à l'objet nommé par l'élément qui le contient. attribute nymRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.notated.attributes = att.notated.attribute.notation att.notated.attribute.notation = @@ -978,7 +1050,7 @@ att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "test21-att.typed-subtypeTyped-constraint-rule-6" + id = "test21-att.typed-subtypeTyped-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -1021,7 +1093,7 @@ att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "test21-att.pointing-targetLang-targetLang-constraint-rule-7" + id = "test21-att.pointing-targetLang-targetLang-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1044,7 +1116,9 @@ att.pointing.attribute.target = ## précise la cible de la référence en donnant une ou plusieurs références URI attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.pointing.attribute.evaluate = @@ -1069,7 +1143,11 @@ att.pointing.group.attribute.domains = ## spécifie, facultativement, les identifiants des éléments englobant tous les éléments indiqués par le contenu de cet élément. attribute domains { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }? att.pointing.group.attribute.targFunc = [ @@ -1123,16 +1201,20 @@ att.edition.attribute.edRef = ## (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute edRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.spanning.attributes = att.spanning.attribute.spanTo att.spanning.attribute.spanTo = ## indique la fin d'un passage introduit par l'élément portant cet attribut. - attribute spanTo { xsd:anyURI }? + attribute spanTo { + xsd:anyURI { pattern = "\S+" } + }? sch:pattern [ id = - "test21-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" + "test21-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1188,7 +1270,7 @@ att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "test21-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" + "test21-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1212,11 +1294,15 @@ att.timed.attributes = att.timed.attribute.start = ## indique dans un alignement temporel (un ordre chronologique) l'endroit où commence cet élément. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? att.timed.attribute.end = ## indique l'endroit où se termine cet élément dans un alignement temporel. - attribute end { xsd:anyURI }? + attribute end { + xsd:anyURI { pattern = "\S+" } + }? att.transcriptional.attributes = att.editLike.attributes, att.written.attributes, @@ -2069,7 +2155,9 @@ att.locatable.attribute.where = ] ] attribute where { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? model.correspActionPart = model.dateLike | model.addressLike | model.nameLike | note | noteGrp @@ -2169,7 +2257,7 @@ p = }*) >> sch:pattern [ id = - "test21-p-abstractModel-structure-p-in-ab-or-p-constraint-report-5" + "test21-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2191,7 +2279,7 @@ p = ] >> sch:pattern [ id = - "test21-p-abstractModel-structure-p-in-l-or-lg-constraint-report-6" + "test21-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2394,7 +2482,7 @@ desc = macro.limitedContent >> sch:pattern [ id = - "test21-desc-deprecationInfo-only-in-deprecated-constraint-rule-10" + "test21-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2478,9 +2566,11 @@ rt = att.transcriptional.attributes, ( ## supplies a pointer to the base being glossed by this ruby text. - attribute target { xsd:anyURI }?) + attribute target { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ - id = "test21-rt-target-rt-target-not-span-constraint-report-7" + id = "test21-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2500,7 +2590,9 @@ rt = ], ( ## points to the starting point of the span of text being glossed by this ruby text. - attribute from { xsd:anyURI }?) + attribute from { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "test21-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ @@ -2524,7 +2616,9 @@ rt = ], ( ## points to the ending point of the span of text being glossed. - attribute to { xsd:anyURI }?) + attribute to { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "test21-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ @@ -2890,7 +2984,7 @@ ptr = element ptr { empty >> sch:pattern [ - id = "test21-ptr-ptrAtts-constraint-report-8" + id = "test21-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2934,7 +3028,7 @@ ref = element ref { macro.paraContent >> sch:pattern [ - id = "test21-ref-refAtts-constraint-report-9" + id = "test21-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2975,7 +3069,7 @@ ref = (model.divBottom, model.global*)*) >> sch:pattern [ id = - "test21-list-gloss-list-must-have-labels-constraint-rule-11" + "test21-list-gloss-list-must-have-labels-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -3137,6 +3231,7 @@ graphic = att.media.attributes, att.resourced.attributes, att.declaring.attributes, + att.typed.attributes, empty } binaryObject = @@ -3475,7 +3570,7 @@ relatedItem = element relatedItem { ((model.biblLike | model.ptrLike)?) >> sch:pattern [ - id = "test21-relatedItem-targetorcontent1-constraint-report-10" + id = "test21-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3507,7 +3602,9 @@ relatedItem = att.typed.attributes, ## points to the related bibliographic element by means of an absolute or relative URI reference - attribute target { xsd:anyURI }?, + attribute target { + xsd:anyURI { pattern = "\S+" } + }?, empty } l = @@ -3517,7 +3614,7 @@ l = ((text | model.gLike | model.phrase | model.inter | model.global)*) >> sch:pattern [ id = - "test21-l-abstractModel-structure-l-in-l-constraint-report-11" + "test21-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3575,7 +3672,7 @@ lg = ] >> sch:pattern [ id = - "test21-lg-abstractModel-structure-lg-in-l-constraint-report-12" + "test21-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3641,6 +3738,7 @@ stage = att.ascribed.directed.attributes, att.global.attributes, att.placement.attributes, + att.written.attributes, ## indique le type d'indication scénique ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed @@ -3805,7 +3903,9 @@ att.datable.custom.attribute.to-custom = att.datable.custom.attribute.datingPoint = ## supplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred - attribute datingPoint { xsd:anyURI }? + attribute datingPoint { + xsd:anyURI { pattern = "\S+" } + }? att.datable.custom.attribute.datingMethod = [ a:documentation [ @@ -3814,7 +3914,9 @@ att.datable.custom.attribute.datingMethod = " element or other means of interpreting the values of the custom dating attributes." ] ] - attribute datingMethod { xsd:anyURI }? + attribute datingMethod { + xsd:anyURI { pattern = "\S+" } + }? model.persNamePart = surname | forename @@ -4465,7 +4567,9 @@ occupation = " déclaré ailleurs dans l'en-tête." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "contient un code d'activité défini dans le système de classification ou dans la taxonomie déclaré dans l'attribut " @@ -4473,7 +4577,9 @@ occupation = "." ] ] - attribute code { xsd:anyURI }?, + attribute code { + xsd:anyURI { pattern = "\S+" } + }?, empty } org = @@ -4689,7 +4795,7 @@ relation = " " ] >> sch:pattern [ - id = "test21-relation-activemutual-constraint-report-13" + id = "test21-relation-activemutual-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4707,7 +4813,7 @@ relation = " " ] >> sch:pattern [ - id = "test21-relation-activepassive-constraint-report-14" + id = "test21-relation-activepassive-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4738,17 +4844,23 @@ relation = ( ## identifie les participants actifs dans une relation à sens unique, ou tous les participants dans une relation réciproque. attribute active { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? | ## fournit une liste de participants entre lesquels la relation est réciproque. attribute mutual { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?), ## identifie les participants passifs dans une relation non mutuelle. attribute passive { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -4812,7 +4924,9 @@ socecStatus = }?, ## identifie le système de classification ou la taxinomie utilisés. - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "contient un code de statut existant dans le système de classification ou dans la taxonomie déclarés au moyen de l'attribut " @@ -4820,7 +4934,9 @@ socecStatus = "." ] ] - attribute code { xsd:anyURI }?, + attribute code { + xsd:anyURI { pattern = "\S+" } + }?, empty } state = @@ -4919,34 +5035,15 @@ objectIdentifier = ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.5. Objects] element objectIdentifier { - ((model.placeNamePart - | institution - | repository - | collection - | idno - | msName - | objectName - | altIdentifier - | address)*) - >> sch:pattern [ - id = - "test21-objectIdentifier-objectIdentifier_minimal-constraint-report-15" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:objectIdentifier" - "\x{a}" ~ - " " - sch:report [ - test = "not(count(*) gt 0)" - "An objectIdentifier must contain at minimum a single piece of locating or identifying information." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ], + (model.placeNamePart + | institution + | repository + | collection + | idno + | msName + | objectName + | altIdentifier + | address)+, att.global.attributes, empty } @@ -4961,7 +5058,9 @@ nym = ## pointe vers des éléments constituants canoniques. attribute parts { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -5159,7 +5258,7 @@ idno = } availability = - ## (disponibilité) renseigne sur la disponibilité du texte, par exemple sur toutes restrictions quant à son usage ou sa diffusion, son copyright, etc. [2.2.4. Publication, Distribution, Licensing, etc.] + ## (disponibilitédisponibilità) renseigne sur la disponibilité du texte, par exemple sur toutes restrictions quant à son usage ou sa diffusion, son copyright, etc. [2.2.4. Publication, Distribution, Licensing, etc.] element availability { (model.availabilityPart | model.pLike)+, att.global.attributes, @@ -5511,7 +5610,9 @@ tagUsage = att.global.attributes, ## le nom formel complet de l'espace de noms concerné. - attribute name { xsd:anyURI }, + attribute name { + xsd:anyURI { pattern = "\S*" } + }, empty } rendition = @@ -5570,7 +5671,7 @@ citeStructure = }?) >> sch:pattern [ id = - "test21-citeStructure-delim-citestructure-inner-delim-constraint-rule-12" + "test21-citeStructure-delim-citestructure-inner-delim-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -5609,7 +5710,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 [ @@ -5630,7 +5731,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 [ @@ -5671,7 +5772,9 @@ citeData = att.citeStructurePart.attributes, ## (property) A URI indicating a property definition. - attribute property { xsd:anyURI }, + attribute property { + xsd:anyURI { pattern = "\S+" } + }, empty } cRefPattern = @@ -5829,7 +5932,9 @@ conversion = "." ] ] - attribute fromUnit { xsd:anyURI }, + attribute fromUnit { + xsd:anyURI { pattern = "\S+" } + }, [ a:documentation [ "the target unit of measurement for a conversion from a source unit referenced in " @@ -5837,7 +5942,9 @@ conversion = "." ] ] - attribute toUnit { xsd:anyURI }, + attribute toUnit { + xsd:anyURI { pattern = "\S+" } + }, empty } appInfo = @@ -5948,7 +6055,9 @@ keywords = att.global.attributes, ## désigne la liste close de mots dans lequel l'ensemble des mots-clés concernés est défini. - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } classCode = @@ -5959,7 +6068,9 @@ classCode = att.global.attributes, ## identifie le système de classification ou la taxinomie utilisée. - attribute scheme { xsd:anyURI }, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }, empty } catRef = @@ -5971,7 +6082,9 @@ catRef = att.pointing.attributes, ## identifie le schéma de classification dans lequel est défini le jeu de catégories concerné. - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } calendarDesc = @@ -6065,7 +6178,9 @@ change = ## (target) points to one or more elements that belong to this change. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -6110,41 +6225,57 @@ att.global.linking.attribute.corresp = ## (correspond) pointe vers des éléments qui ont une correspondance avec l'élément en question. attribute corresp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.linking.attribute.synch = ## (synchrone) pointe vers des éléments qui sont synchrones avec l'élément en question. attribute synch { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.linking.attribute.sameAs = ## pointe vers un élément identique à l'élément en question. - attribute sameAs { xsd:anyURI }? + attribute sameAs { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.copyOf = ## pointe vers un élément dont l'élément en question est une copie. - attribute copyOf { xsd:anyURI }? + attribute copyOf { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.next = ## pointe vers l'élément suivant d'un ensemble virtuel dont l'élément en question est une partie. - attribute next { xsd:anyURI }? + attribute next { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.prev = ## ( précédent) pointe vers l'élément précédent d'un ensemble virtuel auquel appartient l'élément en question. - attribute prev { xsd:anyURI }? + attribute prev { + xsd:anyURI { pattern = "\S+" } + }? att.global.linking.attribute.exclude = ## pointe vers des éléments qui sont une alternative exclusive à l'élément en question. attribute exclude { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.linking.attribute.select = ## sélectionne une ou plusieurs valeurs alternatives ; si une seule valeur est sélectionnée, l'ambiguïté ou l'incertitude est marquée comme résolue. Si plus d'une valeur alternative est sélectionnée, le degré d'ambiguïté ou d'incertitude est marqué comme réduit par le nombre de valeurs alternatives non sélectionnées. attribute select { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? link = @@ -6353,7 +6484,9 @@ when = " : cette date ou cette heure s'obtiennent en ajoutant la valeur de l'intervalle à la date du point de référence." ] ] - attribute since { xsd:anyURI }?, + attribute since { + xsd:anyURI { pattern = "\S+" } + }?, empty } timeline = @@ -6364,7 +6497,9 @@ timeline = att.global.attributes, ## désigne le début de la frise chronologique, c'est-à-dire le moment où elle commence. - attribute origin { xsd:anyURI }?, + attribute origin { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "spécifie l'unité de temps correspondant à la valeur de l'attribut " @@ -6497,7 +6632,11 @@ alt = ## précise la cible de la référence en donnant une ou plusieurs références URI attribute target { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }?, ## établit si les alternatives rassemblées dans cette collection sont exclusives ou non. @@ -6653,7 +6792,9 @@ annotation = ## précise la cible de la référence en donnant une ou plusieurs références URI attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }, ## @@ -6720,7 +6861,9 @@ att.msClass.attribute.class = ## spécifie la ou les catégories ou classes auxquelles l'item appartient. attribute class { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? msDesc = @@ -6870,7 +7013,9 @@ locus = att.typed.attributes, ## (système) désigne le système de foliotation utilisé pour localiser la subdivision du manuscrit qui est en cours de description. - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, ## (depuis) Spécifie, sous une forme normalisée, le point de départ de la localisation. attribute from { @@ -6891,7 +7036,9 @@ locusGrp = att.global.attributes, ## (système) désigne le système de foliotation selon lequel les emplacements contenus dans le groupe sont définis. - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } material = @@ -6911,7 +7058,9 @@ material = ## identifies one or more elements to which the metamark applies. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -7587,7 +7736,9 @@ att.global.facs.attribute.facs = ## (fac-similé) pointe directement vers une image ou vers une partie d'une image correspondant au contenu de l'élément. attribute facs { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.global.change.attributes = att.global.change.attribute.change att.global.change.attribute.change = @@ -7599,7 +7750,9 @@ att.global.change.attribute.change = ] ] attribute change { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? att.coordinated.attributes = att.coordinated.attribute.start, @@ -7611,7 +7764,9 @@ att.coordinated.attributes = att.coordinated.attribute.start = ## désigne l'élément qui, dans la transcription du texte, contient au moins le début de la section de texte représentée dans la zone ou surface. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? att.coordinated.attribute.ulx = ## donne la valeur x de l'abscisse du coin supérieur gauche d'un rectangle. @@ -7757,7 +7912,7 @@ path = element path { empty >> sch:pattern [ - id = "test21-path-pathmustnotbeclosed-constraint-rule-15" + id = "test21-path-pathmustnotbeclosed-constraint-rule-16" "\x{a}" ~ " " sch:rule [ @@ -7895,10 +8050,12 @@ addSpan = att.dimensions.attributes, ## indique la fin d'un passage introduit par l'élément portant cet attribut. - attribute spanTo { xsd:anyURI } + attribute spanTo { + xsd:anyURI { pattern = "\S+" } + } >> sch:pattern [ id = - "test21-addSpan-spanTo-spanTo-points-to-following-constraint-rule-16" + "test21-addSpan-spanTo-spanTo-points-to-following-constraint-rule-17" "\x{a}" ~ " " sch:rule [ @@ -8082,7 +8239,9 @@ handShift = att.handFeatures.attributes, ## donne l'identifiant de la nouvelle main. - attribute new { xsd:anyURI }?, + attribute new { + xsd:anyURI { pattern = "\S+" } + }?, empty } am = @@ -8135,7 +8294,9 @@ space = ## (responsable) (responsible party) indicates the individual responsible for identifying and measuring the space attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, ## (dimension) indique si l'espace est vertical ou horizontal. @@ -8267,7 +8428,9 @@ metamark = ## identifies one or more elements to which the metamark applies. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -8295,7 +8458,9 @@ redo = ## points to one or more elements representing the interventions which are being reasserted. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -8322,7 +8487,9 @@ undo = ## points to one or more elements representing the interventions which are to be reverted or undone. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } diff --git a/Test/expected-results/test30.dtd b/Test/expected-results/test30.dtd index 7bb2fa2de..273268d9e 100644 --- a/Test/expected-results/test30.dtd +++ b/Test/expected-results/test30.dtd @@ -1545,7 +1545,7 @@ target CDATA #IMPLIED > +property %teidata.pointer; #REQUIRED > @@ -2036,7 +2036,8 @@ datum %teidata.enumerated; "WGS84" > %Tatt.global.attributes; %Tatt.media.attributes; %Tatt.resourced.attributes; - %Tatt.declaring.attributes; > + %Tatt.declaring.attributes; + %Tatt.typed.attributes; > @@ -2524,7 +2525,7 @@ parts CDATA #IMPLIED > %Tatt.docStatus.attributes; %Tatt.canonical.attributes; > - + @@ -3147,6 +3148,7 @@ dim (horizontal|vertical) #IMPLIED > %Tatt.ascribed.directed.attributes; %Tatt.global.attributes; %Tatt.placement.attributes; + %Tatt.written.attributes; type NMTOKENS #IMPLIED > diff --git a/Test/expected-results/test30.rnc b/Test/expected-results/test30.rnc index 7c71d1e79..5fca0f1a6 100644 --- a/Test/expected-results/test30.rnc +++ b/Test/expected-results/test30.rnc @@ -51,14 +51,18 @@ Tatt.anchoring.attribute.targetEnd = ## (target end) points to the end of the span to which the note is attached, if the note is not embedded in the text at that point. attribute targetEnd { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.ascribed.attributes = Tatt.ascribed.attribute.who Tatt.ascribed.attribute.who = ## indicates the person, or group of people, to whom the element content is ascribed. attribute who { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.ascribed.directed.attributes = Tatt.ascribed.attributes, Tatt.ascribed.directed.attribute.toWhom @@ -66,7 +70,9 @@ Tatt.ascribed.directed.attribute.toWhom = ## indicates the person, or group of people, to whom a speech act or action is directed. attribute toWhom { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.canonical.attributes = Tatt.canonical.attribute.key, Tatt.canonical.attribute.ref @@ -78,7 +84,9 @@ Tatt.canonical.attribute.ref = ## (reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs. attribute ref { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.ranging.attributes = Tatt.ranging.attribute.atLeast, @@ -203,7 +211,9 @@ Tatt.written.attribute.hand = " element describing the hand considered responsible for the content of the element concerned." ] ] - attribute hand { xsd:anyURI }? + attribute hand { + xsd:anyURI { pattern = "\S+" } + }? Tatt.damaged.attributes = Tatt.dimensions.attributes, Tatt.written.attributes, @@ -405,7 +415,9 @@ Tatt.datable.attribute.calendar = ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. attribute calendar { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? sch:pattern [ id = "testbasic-att.datable-calendar-calendar-constraint-rule-4" @@ -440,7 +452,9 @@ Tatt.datable.attribute.period = ] ] attribute period { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.datcat.attributes = Tatt.datcat.attribute.datcat, Tatt.datcat.attribute.valueDatcat @@ -448,13 +462,17 @@ Tatt.datcat.attribute.datcat = ## contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. attribute ns2:datcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.datcat.attribute.valueDatcat = ## contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. attribute ns2:valueDatcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.declarable.attributes = Tatt.declarable.attribute.default Tatt.declarable.attribute.default = @@ -474,7 +492,9 @@ Tatt.declaring.attribute.decls = ## identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content. attribute decls { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.fragmentable.attributes = Tatt.fragmentable.attribute.part Tatt.fragmentable.attribute.part = @@ -569,7 +589,9 @@ Tatt.global.responsibility.attribute.resp = ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.editLike.attributes = Tatt.editLike.attribute.evidence, Tatt.editLike.attribute.instant @@ -638,15 +660,53 @@ Tatt.global.rendition.attribute.rendition = ## points to a description of the rendering or presentation used for this element in the source text. attribute rendition { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.global.source.attributes = Tatt.global.source.attribute.source Tatt.global.source.attribute.source = ## specifies the source from which some aspect of this element is drawn. attribute source { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? +sch:pattern [ + id = + "testbasic-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*/@source" + "\x{a}" ~ + " " + sch:let [ + name = "srcs" + value = "tokenize( normalize-space(.),' ')" + ] + "\x{a}" ~ + " " + sch:report [ + test = + "( parent::tei:classRef | parent::tei:dataRef | parent::tei:elementRef | parent::tei:macroRef | parent::tei:moduleRef | parent::tei:schemaSpec ) and $srcs[2]" + "\x{a}" ~ + " When used on a schema description element (like\x{a}" ~ + " " + sch:value-of [ select = "name(..)" ] + "), the @source attribute\x{a}" ~ + " should have only 1 value. (This one has " + sch:value-of [ select = "count($srcs)" ] + ".)\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] Tatt.handFeatures.attributes = Tatt.handFeatures.attribute.scribe, Tatt.handFeatures.attribute.scribeRef, @@ -667,7 +727,9 @@ Tatt.handFeatures.attribute.scribeRef = ] ] attribute scribeRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.handFeatures.attribute.script = @@ -684,7 +746,9 @@ Tatt.handFeatures.attribute.scriptRef = ] ] attribute scriptRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.handFeatures.attribute.medium = @@ -752,7 +816,9 @@ Tatt.resourced.attributes = Tatt.resourced.attribute.url Tatt.resourced.attribute.url = ## (uniform resource locator) specifies the URL from which the media concerned may be obtained. - attribute url { xsd:anyURI } + attribute url { + xsd:anyURI { pattern = "\S+" } + } Tatt.measurement.attributes = Tatt.measurement.attribute.unit, Tatt.measurement.attribute.unitRef, @@ -832,7 +898,9 @@ Tatt.measurement.attribute.unitRef = " element that defines a unit of measure." ] ] - attribute unitRef { xsd:anyURI }? + attribute unitRef { + xsd:anyURI { pattern = "\S+" } + }? Tatt.measurement.attribute.quantity = ## (quantity) specifies the number of the specified units that comprise the measurement @@ -851,7 +919,7 @@ Tatt.measurement.attribute.commodity = }? sch:pattern [ id = - "testbasic-att.measurement-att-measurement-unitRef-constraint-rule-5" + "testbasic-att.measurement-att-measurement-unitRef-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -885,7 +953,9 @@ Tatt.naming.attribute.nymRef = ## (reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it. attribute nymRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.notated.attributes = Tatt.notated.attribute.notation Tatt.notated.attribute.notation = @@ -955,7 +1025,7 @@ Tatt.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "testbasic-att.typed-subtypeTyped-constraint-rule-6" + id = "testbasic-att.typed-subtypeTyped-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -998,7 +1068,7 @@ Tatt.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "testbasic-att.pointing-targetLang-targetLang-constraint-rule-7" + id = "testbasic-att.pointing-targetLang-targetLang-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1021,7 +1091,9 @@ Tatt.pointing.attribute.target = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.pointing.attribute.evaluate = @@ -1046,7 +1118,11 @@ Tatt.pointing.group.attribute.domains = ## optionally specifies the identifiers of the elements within which all elements indicated by the contents of this element lie. attribute domains { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }? Tatt.pointing.group.attribute.targFunc = [ @@ -1100,16 +1176,20 @@ Tatt.edition.attribute.edRef = ## (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute edRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.spanning.attributes = Tatt.spanning.attribute.spanTo Tatt.spanning.attribute.spanTo = ## indicates the end of a span initiated by the element bearing this attribute. - attribute spanTo { xsd:anyURI }? + attribute spanTo { + xsd:anyURI { pattern = "\S+" } + }? sch:pattern [ id = - "testbasic-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" + "testbasic-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1165,7 +1245,7 @@ Tatt.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "testbasic-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" + "testbasic-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1189,11 +1269,15 @@ Tatt.timed.attributes = Tatt.timed.attribute.start = ## indicates the location within a temporal alignment at which this element begins. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? Tatt.timed.attribute.end = ## indicates the location within a temporal alignment at which this element ends. - attribute end { xsd:anyURI }? + attribute end { + xsd:anyURI { pattern = "\S+" } + }? Tatt.transcriptional.attributes = Tatt.editLike.attributes, Tatt.written.attributes, @@ -2039,7 +2123,9 @@ Tatt.locatable.attribute.where = ] ] attribute where { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tmodel.correspActionPart = Tmodel.dateLike @@ -2142,7 +2228,7 @@ Tp = Tmacro.paraContent >> sch:pattern [ id = - "testbasic-p-abstractModel-structure-p-in-ab-or-p-constraint-report-5" + "testbasic-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -2164,7 +2250,7 @@ Tp = ] >> sch:pattern [ id = - "testbasic-p-abstractModel-structure-p-in-l-or-lg-constraint-report-6" + "testbasic-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2342,7 +2428,7 @@ Tdesc = Tmacro.limitedContent >> sch:pattern [ id = - "testbasic-desc-deprecationInfo-only-in-deprecated-constraint-rule-10" + "testbasic-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2429,10 +2515,12 @@ Trt = Tatt.transcriptional.attributes, ( ## supplies a pointer to the base being glossed by this ruby text. - attribute target { xsd:anyURI }?) + attribute target { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = - "testbasic-rt-target-rt-target-not-span-constraint-report-7" + "testbasic-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2452,7 +2540,9 @@ Trt = ], ( ## points to the starting point of the span of text being glossed by this ruby text. - attribute from { xsd:anyURI }?) + attribute from { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "testbasic-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ @@ -2476,7 +2566,9 @@ Trt = ], ( ## points to the ending point of the span of text being glossed. - attribute to { xsd:anyURI }?) + attribute to { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "testbasic-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ @@ -2833,7 +2925,7 @@ Tptr = element ptr { empty >> sch:pattern [ - id = "testbasic-ptr-ptrAtts-constraint-report-8" + id = "testbasic-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2867,7 +2959,7 @@ Tref = element ref { Tmacro.paraContent >> sch:pattern [ - id = "testbasic-ref-refAtts-constraint-report-9" + id = "testbasic-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2908,7 +3000,7 @@ Tlist = (Tmodel.divBottom, Tmodel.global*)*) >> sch:pattern [ id = - "testbasic-list-gloss-list-must-have-labels-constraint-rule-11" + "testbasic-list-gloss-list-must-have-labels-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -3070,6 +3162,7 @@ Tgraphic = Tatt.media.attributes, Tatt.resourced.attributes, Tatt.declaring.attributes, + Tatt.typed.attributes, empty } TbinaryObject = @@ -3423,7 +3516,7 @@ TrelatedItem = ((Tmodel.biblLike | Tmodel.ptrLike)?) >> sch:pattern [ id = - "testbasic-relatedItem-targetorcontent1-constraint-report-10" + "testbasic-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3455,7 +3548,9 @@ TrelatedItem = Tatt.typed.attributes, ## points to the related bibliographic element by means of an absolute or relative URI reference - attribute target { xsd:anyURI }?, + attribute target { + xsd:anyURI { pattern = "\S+" } + }?, empty } Tl = @@ -3469,7 +3564,7 @@ Tl = | Tmodel.global)*) >> sch:pattern [ id = - "testbasic-l-abstractModel-structure-l-in-l-constraint-report-11" + "testbasic-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3527,7 +3622,7 @@ Tlg = ] >> sch:pattern [ id = - "testbasic-lg-abstractModel-structure-lg-in-l-constraint-report-12" + "testbasic-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3582,6 +3677,7 @@ Tstage = Tatt.ascribed.directed.attributes, Tatt.global.attributes, Tatt.placement.attributes, + Tatt.written.attributes, ## indicates the kind of stage direction. ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed @@ -4049,7 +4145,7 @@ Tquotation = (Tmodel.pLike*) >> sch:pattern [ id = - "testbasic-quotation-quotationContents-constraint-report-13" + "testbasic-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -4222,7 +4318,9 @@ Tnamespace = Tatt.global.attributes, ## specifies the full formal name of the namespace concerned. - attribute name { xsd:anyURI }, + attribute name { + xsd:anyURI { pattern = "\S*" } + }, empty } Trendition = @@ -4281,7 +4379,7 @@ TciteStructure = }?) >> sch:pattern [ id = - "testbasic-citeStructure-delim-citestructure-inner-delim-constraint-rule-12" + "testbasic-citeStructure-delim-citestructure-inner-delim-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -4320,7 +4418,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 [ @@ -4341,7 +4439,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 [ @@ -4382,7 +4480,9 @@ TciteData = Tatt.citeStructurePart.attributes, ## (property) A URI indicating a property definition. - attribute property { xsd:anyURI }, + attribute property { + xsd:anyURI { pattern = "\S+" } + }, empty } TcRefPattern = @@ -4539,7 +4639,9 @@ Tconversion = "." ] ] - attribute fromUnit { xsd:anyURI }, + attribute fromUnit { + xsd:anyURI { pattern = "\S+" } + }, [ a:documentation [ "the target unit of measurement for a conversion from a source unit referenced in " @@ -4547,7 +4649,9 @@ Tconversion = "." ] ] - attribute toUnit { xsd:anyURI }, + attribute toUnit { + xsd:anyURI { pattern = "\S+" } + }, empty } TappInfo = @@ -4663,7 +4767,9 @@ Tkeywords = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } TclassCode = @@ -4679,7 +4785,9 @@ TclassCode = " element, or some other resource." ] ] - attribute scheme { xsd:anyURI }, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }, empty } TcatRef = @@ -4696,7 +4804,9 @@ TcatRef = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } TcalendarDesc = @@ -4793,7 +4903,9 @@ Tchange = ## (target) points to one or more elements that belong to this change. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -4867,7 +4979,9 @@ Tatt.datable.custom.attribute.to-custom = Tatt.datable.custom.attribute.datingPoint = ## supplies a pointer to some location defining a named point in time with reference to which the datable item is understood to have occurred - attribute datingPoint { xsd:anyURI }? + attribute datingPoint { + xsd:anyURI { pattern = "\S+" } + }? Tatt.datable.custom.attribute.datingMethod = [ a:documentation [ @@ -4876,7 +4990,9 @@ Tatt.datable.custom.attribute.datingMethod = " element or other means of interpreting the values of the custom dating attributes." ] ] - attribute datingMethod { xsd:anyURI }? + attribute datingMethod { + xsd:anyURI { pattern = "\S+" } + }? Tmodel.persNamePart = Tsurname | Tforename @@ -5539,7 +5655,9 @@ Toccupation = " element, or pointing to some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "identifies an occupation code defined within the classification system or taxonomy defined by the " @@ -5547,7 +5665,9 @@ Toccupation = " attribute." ] ] - attribute code { xsd:anyURI }?, + attribute code { + xsd:anyURI { pattern = "\S+" } + }?, empty } Torg = @@ -5763,7 +5883,7 @@ Trelation = " " ] >> sch:pattern [ - id = "testbasic-relation-activemutual-constraint-report-14" + id = "testbasic-relation-activemutual-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -5781,7 +5901,7 @@ Trelation = " " ] >> sch:pattern [ - id = "testbasic-relation-activepassive-constraint-report-15" + id = "testbasic-relation-activepassive-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5812,17 +5932,23 @@ Trelation = ( ## identifies the active participants in a non-mutual relationship, or all the participants in a mutual one. attribute active { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? | ## supplies a list of participants amongst all of whom the relationship holds equally. attribute mutual { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?), ## identifies the passive participants in a non-mutual relationship. attribute passive { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -5891,7 +6017,9 @@ TsocecStatus = " element or by supplying a URI for an externally-defined system." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "identifies a status code defined within the classification system or taxonomy defined by the " @@ -5899,7 +6027,9 @@ TsocecStatus = " attribute." ] ] - attribute code { xsd:anyURI }?, + attribute code { + xsd:anyURI { pattern = "\S+" } + }?, empty } Tstate = @@ -5998,26 +6128,7 @@ TobjectIdentifier = ## (object identifier) groups one or more identifiers or pieces of locating information concerning a single object. [13.3.5. Objects] element objectIdentifier { - ((Tmodel.placeNamePart | Tidno | TobjectName | Taddress)*) - >> sch:pattern [ - id = - "testbasic-objectIdentifier-objectIdentifier_minimal-constraint-report-16" - "\x{a}" ~ - " " - sch:rule [ - context = "tei:objectIdentifier" - "\x{a}" ~ - " " - sch:report [ - test = "not(count(*) gt 0)" - "An objectIdentifier must contain at minimum a single piece of locating or identifying information." - ] - "\x{a}" ~ - " " - ] - "\x{a}" ~ - " " - ], + (Tmodel.placeNamePart | Tidno | TobjectName | Taddress)+, Tatt.global.attributes, empty } @@ -6032,7 +6143,9 @@ Tnym = ## points to constituent nyms attribute parts { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -6055,7 +6168,9 @@ Tatt.global.facs.attribute.facs = ## (facsimile) points to one or more images, portions of an image, or surfaces which correspond to the current element. attribute facs { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.global.change.attributes = Tatt.global.change.attribute.change Tatt.global.change.attribute.change = @@ -6067,7 +6182,9 @@ Tatt.global.change.attribute.change = ] ] attribute change { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.coordinated.attributes = Tatt.coordinated.attribute.start, @@ -6079,7 +6196,9 @@ Tatt.coordinated.attributes = Tatt.coordinated.attribute.start = ## indicates the element within a transcription of the text containing at least the start of the writing represented by this zone or surface. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? Tatt.coordinated.attribute.ulx = ## gives the x coordinate value for the upper left corner of a rectangular space. @@ -6226,7 +6345,7 @@ Tpath = element path { empty >> sch:pattern [ - id = "testbasic-path-pathmustnotbeclosed-constraint-rule-15" + id = "testbasic-path-pathmustnotbeclosed-constraint-rule-16" "\x{a}" ~ " " sch:rule [ @@ -6528,7 +6647,9 @@ ThandShift = " element describing the hand concerned." ] ] - attribute new { xsd:anyURI }?, + attribute new { + xsd:anyURI { pattern = "\S+" } + }?, empty } Tam = @@ -6577,7 +6698,9 @@ Tspace = ## (responsible party) (responsible party) indicates the individual responsible for identifying and measuring the space attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, ## (dimension) indicates whether the space is horizontal or vertical. @@ -6716,7 +6839,9 @@ Tmetamark = ## identifies one or more elements to which the metamark applies. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -6744,7 +6869,9 @@ Tredo = ## points to one or more elements representing the interventions which are being reasserted. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -6771,7 +6898,9 @@ Tundo = ## points to one or more elements representing the interventions which are to be reverted or undone. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -7062,7 +7191,9 @@ Twhen = " element, which is obtained by adding the interval to the time of the reference point." ] ] - attribute since { xsd:anyURI }?, + attribute since { + xsd:anyURI { pattern = "\S+" } + }?, empty } Ttimeline = @@ -7073,7 +7204,9 @@ Ttimeline = Tatt.global.attributes, ## designates the origin of the timeline, i.e. the time at which it begins. - attribute origin { xsd:anyURI }?, + attribute origin { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "specifies the unit of time corresponding to the " @@ -7208,7 +7341,11 @@ Talt = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }?, ## states whether the alternations gathered in this collection are exclusive or inclusive. @@ -7359,7 +7496,9 @@ Tannotation = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }, ## @@ -7838,22 +7977,30 @@ Tatt.global.linking.attributes = Tatt.global.linking.attribute.sameAs = ## points to an element that is the same as the current element. - attribute sameAs { xsd:anyURI }? + attribute sameAs { + xsd:anyURI { pattern = "\S+" } + }? Tatt.global.linking.attribute.copyOf = ## points to an element of which the current element is a copy. - attribute copyOf { xsd:anyURI }? + attribute copyOf { + xsd:anyURI { pattern = "\S+" } + }? Tatt.global.linking.attribute.exclude = ## points to elements that are in exclusive alternation with the current element. attribute exclude { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.global.linking.attribute.select = ## selects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected. attribute select { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? Tatt.global.attributes = Tatt.global.rendition.attributes, @@ -7890,7 +8037,9 @@ Tatt.global.attribute.xmllang = Tatt.global.attribute.xmlbase = ## provides a base URI reference with which applications can resolve relative URI references into absolute URI references. - attribute xml:base { xsd:anyURI }? + attribute xml:base { + xsd:anyURI { pattern = "\S+" } + }? Tatt.global.attribute.xmlspace = ## signals an intention about how white space should be managed by applications. @@ -7962,7 +8111,7 @@ TMenu = } start = TTEI | Tdiv sch:pattern [ - id = "testbasic-outerconstraint-constraint-rule-16" + id = "testbasic-outerconstraint-constraint-rule-17" "\x{a}" ~ " " sch:rule [ diff --git a/Test/expected-results/test33.rnc b/Test/expected-results/test33.rnc index e7c0a3bb2..b057bfa73 100644 --- a/Test/expected-results/test33.rnc +++ b/Test/expected-results/test33.rnc @@ -53,14 +53,18 @@ tei_att.anchoring.attribute.targetEnd = ## (target end) points to the end of the span to which the note is attached, if the note is not embedded in the text at that point. attribute targetEnd { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ascribed.attributes = tei_att.ascribed.attribute.who tei_att.ascribed.attribute.who = ## indicates the person, or group of people, to whom the element content is ascribed. attribute who { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ascribed.directed.attributes = tei_att.ascribed.attributes, @@ -69,7 +73,9 @@ tei_att.ascribed.directed.attribute.toWhom = ## indicates the person, or group of people, to whom a speech act or action is directed. attribute toWhom { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.canonical.attributes = tei_att.canonical.attribute.key, tei_att.canonical.attribute.ref @@ -81,7 +87,9 @@ tei_att.canonical.attribute.ref = ## (reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs. attribute ref { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ranging.attributes = tei_att.ranging.attribute.atLeast, @@ -206,7 +214,9 @@ tei_att.written.attribute.hand = " element describing the hand considered responsible for the content of the element concerned." ] ] - attribute hand { xsd:anyURI }? + attribute hand { + xsd:anyURI { pattern = "\S+" } + }? tei_att.breaking.attributes = tei_att.breaking.attribute.break tei_att.breaking.attribute.break = @@ -360,7 +370,9 @@ tei_att.datable.attribute.calendar = ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. attribute calendar { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? sch:pattern [ id = "foo-att.datable-calendar-calendar-constraint-rule-4" @@ -395,7 +407,9 @@ tei_att.datable.attribute.period = ] ] attribute period { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.datcat.attributes = tei_att.datcat.attribute.datcat, tei_att.datcat.attribute.valueDatcat @@ -403,13 +417,17 @@ tei_att.datcat.attribute.datcat = ## contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. attribute ns2:datcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.datcat.attribute.valueDatcat = ## contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. attribute ns2:valueDatcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.declarable.attributes = tei_att.declarable.attribute.default tei_att.declarable.attribute.default = @@ -429,7 +447,9 @@ tei_att.declaring.attribute.decls = ## identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content. attribute decls { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.fragmentable.attributes = tei_att.fragmentable.attribute.part tei_att.fragmentable.attribute.part = @@ -524,7 +544,9 @@ tei_att.global.responsibility.attribute.resp = ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.editLike.attributes = tei_att.editLike.attribute.evidence, @@ -580,7 +602,9 @@ tei_att.global.rendition.attribute.rendition = ## points to a description of the rendering or presentation used for this element in the source text. attribute rendition { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.source.attributes = tei_att.global.source.attribute.source @@ -588,8 +612,44 @@ tei_att.global.source.attribute.source = ## specifies the source from which some aspect of this element is drawn. attribute source { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? +sch:pattern [ + id = + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*/@source" + "\x{a}" ~ + " " + sch:let [ + name = "srcs" + value = "tokenize( normalize-space(.),' ')" + ] + "\x{a}" ~ + " " + sch:report [ + test = + "( parent::tei:classRef | parent::tei:dataRef | parent::tei:elementRef | parent::tei:macroRef | parent::tei:moduleRef | parent::tei:schemaSpec ) and $srcs[2]" + "\x{a}" ~ + " When used on a schema description element (like\x{a}" ~ + " " + sch:value-of [ select = "name(..)" ] + "), the @source attribute\x{a}" ~ + " should have only 1 value. (This one has " + sch:value-of [ select = "count($srcs)" ] + ".)\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.global.attributes = tei_att.global.rendition.attributes, tei_att.global.linking.attributes, @@ -628,7 +688,9 @@ tei_att.global.attribute.xmllang = tei_att.global.attribute.xmlbase = ## provides a base URI reference with which applications can resolve relative URI references into absolute URI references. - attribute xml:base { xsd:anyURI }? + attribute xml:base { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.attribute.xmlspace = ## signals an intention about how white space should be managed by applications. @@ -653,7 +715,9 @@ tei_att.handFeatures.attribute.scribeRef = ] ] attribute scribeRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.handFeatures.attribute.script = @@ -670,7 +734,9 @@ tei_att.handFeatures.attribute.scriptRef = ] ] attribute scriptRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.handFeatures.attribute.medium = @@ -739,7 +805,9 @@ tei_att.resourced.attributes = tei_att.resourced.attribute.url tei_att.resourced.attribute.url = ## (uniform resource locator) specifies the URL from which the media concerned may be obtained. - attribute url { xsd:anyURI } + attribute url { + xsd:anyURI { pattern = "\S+" } + } tei_att.measurement.attributes = tei_att.measurement.attribute.unit, tei_att.measurement.attribute.unitRef, @@ -819,7 +887,9 @@ tei_att.measurement.attribute.unitRef = " element that defines a unit of measure." ] ] - attribute unitRef { xsd:anyURI }? + attribute unitRef { + xsd:anyURI { pattern = "\S+" } + }? tei_att.measurement.attribute.quantity = ## (quantity) specifies the number of the specified units that comprise the measurement @@ -837,7 +907,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-5" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -871,7 +941,9 @@ tei_att.naming.attribute.nymRef = ## (reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it. attribute nymRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.notated.attributes = tei_att.notated.attribute.notation tei_att.notated.attribute.notation = @@ -941,7 +1013,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-6" + id = "foo-att.typed-subtypeTyped-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -984,7 +1056,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-7" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1007,7 +1079,9 @@ tei_att.pointing.attribute.target = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.pointing.attribute.evaluate = @@ -1032,7 +1106,11 @@ tei_att.pointing.group.attribute.domains = ## optionally specifies the identifiers of the elements within which all elements indicated by the contents of this element lie. attribute domains { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }? tei_att.pointing.group.attribute.targFunc = [ @@ -1086,16 +1164,20 @@ tei_att.edition.attribute.edRef = ## (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute edRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.spanning.attributes = tei_att.spanning.attribute.spanTo tei_att.spanning.attribute.spanTo = ## indicates the end of a span initiated by the element bearing this attribute. - attribute spanTo { xsd:anyURI }? + attribute spanTo { + xsd:anyURI { pattern = "\S+" } + }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1152,7 +1234,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1176,11 +1258,15 @@ tei_att.timed.attributes = tei_att.timed.attribute.start = ## indicates the location within a temporal alignment at which this element begins. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? tei_att.timed.attribute.end = ## indicates the location within a temporal alignment at which this element ends. - attribute end { xsd:anyURI }? + attribute end { + xsd:anyURI { pattern = "\S+" } + }? tei_att.transcriptional.attributes = tei_att.editLike.attributes, tei_att.written.attributes, @@ -1772,7 +1858,9 @@ tei_att.locatable.attribute.where = ] ] attribute where { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_model.correspActionPart = tei_model.dateLike @@ -1873,7 +1961,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-5" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -1895,7 +1983,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-6" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2084,7 +2172,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-10" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2174,9 +2262,11 @@ tei_rt = tei_att.transcriptional.attributes, ( ## supplies a pointer to the base being glossed by this ruby text. - attribute target { xsd:anyURI }?) + attribute target { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-7" + id = "foo-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2196,7 +2286,9 @@ tei_rt = ], ( ## points to the starting point of the span of text being glossed by this ruby text. - attribute from { xsd:anyURI }?) + attribute from { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "foo-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ @@ -2220,7 +2312,9 @@ tei_rt = ], ( ## points to the ending point of the span of text being glossed. - attribute to { xsd:anyURI }?) + attribute to { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "foo-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ @@ -2589,7 +2683,7 @@ tei_ptr = element tei:ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-8" + id = "foo-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2623,7 +2717,7 @@ tei_ref = element tei:ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-9" + id = "foo-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2663,7 +2757,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-11" + id = "foo-list-gloss-list-must-have-labels-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2829,6 +2923,7 @@ tei_graphic = tei_att.media.attributes, tei_att.resourced.attributes, tei_att.declaring.attributes, + tei_att.typed.attributes, empty } tei_binaryObject = @@ -3179,7 +3274,7 @@ tei_relatedItem = element tei:relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-10" + id = "foo-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3211,7 +3306,9 @@ tei_relatedItem = tei_att.typed.attributes, ## points to the related bibliographic element by means of an absolute or relative URI reference - attribute target { xsd:anyURI }?, + attribute target { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_l = @@ -3225,7 +3322,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-11" + "foo-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3286,7 +3383,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-12" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3343,6 +3440,7 @@ tei_stage = tei_att.ascribed.directed.attributes, tei_att.global.attributes, tei_att.placement.attributes, + tei_att.written.attributes, ## indicates the kind of stage direction. ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed @@ -3820,7 +3918,7 @@ tei_quotation = element tei:quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-13" + id = "foo-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -3993,7 +4091,9 @@ tei_namespace = tei_att.global.attributes, ## specifies the full formal name of the namespace concerned. - attribute name { xsd:anyURI }, + attribute name { + xsd:anyURI { pattern = "\S*" } + }, empty } tei_rendition = @@ -4055,7 +4155,7 @@ tei_citeStructure = }?) >> sch:pattern [ id = - "foo-citeStructure-delim-citestructure-inner-delim-constraint-rule-12" + "foo-citeStructure-delim-citestructure-inner-delim-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -4094,7 +4194,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 [ @@ -4115,7 +4215,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 [ @@ -4156,7 +4256,9 @@ tei_citeData = tei_att.citeStructurePart.attributes, ## (property) A URI indicating a property definition. - attribute property { xsd:anyURI }, + attribute property { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_cRefPattern = @@ -4319,7 +4421,9 @@ tei_conversion = "." ] ] - attribute fromUnit { xsd:anyURI }, + attribute fromUnit { + xsd:anyURI { pattern = "\S+" } + }, [ a:documentation [ "the target unit of measurement for a conversion from a source unit referenced in " @@ -4327,7 +4431,9 @@ tei_conversion = "." ] ] - attribute toUnit { xsd:anyURI }, + attribute toUnit { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_appInfo = @@ -4436,7 +4542,9 @@ tei_keywords = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_classCode = @@ -4452,7 +4560,9 @@ tei_classCode = " element, or some other resource." ] ] - attribute scheme { xsd:anyURI }, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_catRef = @@ -4469,7 +4579,9 @@ tei_catRef = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_calendarDesc = @@ -4568,7 +4680,9 @@ tei_change = ## (target) points to one or more elements that belong to this change. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -4696,7 +4810,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-14" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4718,7 +4832,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-15" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5140,41 +5254,57 @@ tei_att.global.linking.attribute.corresp = ## (corresponds) points to elements that correspond to the current element in some way. attribute corresp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.synch = ## (synchronous) points to elements that are synchronous with the current element. attribute synch { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.sameAs = ## points to an element that is the same as the current element. - attribute sameAs { xsd:anyURI }? + attribute sameAs { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.copyOf = ## points to an element of which the current element is a copy. - attribute copyOf { xsd:anyURI }? + attribute copyOf { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.next = ## points to the next element of a virtual aggregate of which the current element is part. - attribute next { xsd:anyURI }? + attribute next { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.prev = ## (previous) points to the previous element of a virtual aggregate of which the current element is part. - attribute prev { xsd:anyURI }? + attribute prev { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.exclude = ## points to elements that are in exclusive alternation with the current element. attribute exclude { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.select = ## selects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected. attribute select { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_link = @@ -5223,7 +5353,7 @@ tei_ab = tei_macro.paraContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-16" + "foo-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5245,7 +5375,7 @@ tei_ab = ] >> 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 [ @@ -5357,7 +5487,9 @@ tei_when = " element, which is obtained by adding the interval to the time of the reference point." ] ] - attribute since { xsd:anyURI }?, + attribute since { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_timeline = @@ -5368,7 +5500,9 @@ tei_timeline = tei_att.global.attributes, ## designates the origin of the timeline, i.e. the time at which it begins. - attribute origin { xsd:anyURI }?, + attribute origin { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "specifies the unit of time corresponding to the " @@ -5503,7 +5637,11 @@ tei_alt = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }?, ## states whether the alternations gathered in this collection are exclusive or inclusive. @@ -5657,7 +5795,9 @@ tei_annotation = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }, ## diff --git a/Test/expected-results/test34.combined.json b/Test/expected-results/test34.combined.json index e5328bf91..003c0a238 100644 --- a/Test/expected-results/test34.combined.json +++ b/Test/expected-results/test34.combined.json @@ -2280,7 +2280,7 @@ { "min" : "1", "max" : "1", "dataRef" : - { "name" : "anyURI" } } } ], + { "key" : "teidata.pointer" } } } ], "content" : [ { "type" : "empty" } ] }, @@ -5507,7 +5507,8 @@ [ "att.global", "att.media", "att.resourced", - "att.declaring" ], + "att.declaring", + "att.typed" ], "unknown" : [ ] }, "attributes" : @@ -10029,7 +10030,8 @@ "atts" : [ "att.ascribed.directed", "att.global", - "att.placement" ], + "att.placement", + "att.written" ], "unknown" : [ ] }, "attributes" : @@ -17354,7 +17356,8 @@ "content" : [ { "type" : "dataRef", - "name" : "anyURI" } ] }, + "name" : "anyURI", + "restriction" : "\\S*" } ] }, { "ident" : "teidata.numeric", "ns" : "http:\/\/foo.foo\/foo", @@ -17431,7 +17434,8 @@ "content" : [ { "type" : "dataRef", - "name" : "anyURI" } ] }, + "name" : "anyURI", + "restriction" : "\\S+" } ] }, { "ident" : "teidata.prefix", "ns" : "http:\/\/foo.foo\/foo", diff --git a/Test/expected-results/test34.rnc b/Test/expected-results/test34.rnc index 2f758b292..ac89511a6 100644 --- a/Test/expected-results/test34.rnc +++ b/Test/expected-results/test34.rnc @@ -54,14 +54,18 @@ tei_att.anchoring.attribute.targetEnd = ## (target end) points to the end of the span to which the note is attached, if the note is not embedded in the text at that point. attribute targetEnd { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ascribed.attributes = tei_att.ascribed.attribute.who tei_att.ascribed.attribute.who = ## indicates the person, or group of people, to whom the element content is ascribed. attribute who { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ascribed.directed.attributes = tei_att.ascribed.attributes, @@ -70,7 +74,9 @@ tei_att.ascribed.directed.attribute.toWhom = ## indicates the person, or group of people, to whom a speech act or action is directed. attribute toWhom { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.canonical.attributes = tei_att.canonical.attribute.key, tei_att.canonical.attribute.ref @@ -82,7 +88,9 @@ tei_att.canonical.attribute.ref = ## (reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs. attribute ref { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ranging.attributes = tei_att.ranging.attribute.atLeast, @@ -207,7 +215,9 @@ tei_att.written.attribute.hand = " element describing the hand considered responsible for the content of the element concerned." ] ] - attribute hand { xsd:anyURI }? + attribute hand { + xsd:anyURI { pattern = "\S+" } + }? tei_att.breaking.attributes = tei_att.breaking.attribute.break tei_att.breaking.attribute.break = @@ -361,7 +371,9 @@ tei_att.datable.attribute.calendar = ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. attribute calendar { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? sch:pattern [ id = "foo-att.datable-calendar-calendar-constraint-rule-4" @@ -396,7 +408,9 @@ tei_att.datable.attribute.period = ] ] attribute period { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.datcat.attributes = tei_att.datcat.attribute.datcat, tei_att.datcat.attribute.valueDatcat @@ -404,13 +418,17 @@ tei_att.datcat.attribute.datcat = ## contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. attribute ns2:datcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.datcat.attribute.valueDatcat = ## contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. attribute ns2:valueDatcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.declarable.attributes = tei_att.declarable.attribute.default tei_att.declarable.attribute.default = @@ -430,7 +448,9 @@ tei_att.declaring.attribute.decls = ## identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content. attribute decls { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.fragmentable.attributes = tei_att.fragmentable.attribute.part tei_att.fragmentable.attribute.part = @@ -525,7 +545,9 @@ tei_att.global.responsibility.attribute.resp = ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.editLike.attributes = tei_att.editLike.attribute.evidence, @@ -581,7 +603,9 @@ tei_att.global.rendition.attribute.rendition = ## points to a description of the rendering or presentation used for this element in the source text. attribute rendition { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.source.attributes = tei_att.global.source.attribute.source @@ -589,8 +613,44 @@ tei_att.global.source.attribute.source = ## specifies the source from which some aspect of this element is drawn. attribute source { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? +sch:pattern [ + id = + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*/@source" + "\x{a}" ~ + " " + sch:let [ + name = "srcs" + value = "tokenize( normalize-space(.),' ')" + ] + "\x{a}" ~ + " " + sch:report [ + test = + "( parent::tei:classRef | parent::tei:dataRef | parent::tei:elementRef | parent::tei:macroRef | parent::tei:moduleRef | parent::tei:schemaSpec ) and $srcs[2]" + "\x{a}" ~ + " When used on a schema description element (like\x{a}" ~ + " " + sch:value-of [ select = "name(..)" ] + "), the @source attribute\x{a}" ~ + " should have only 1 value. (This one has " + sch:value-of [ select = "count($srcs)" ] + ".)\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.global.attributes = tei_att.global.rendition.attributes, tei_att.global.linking.attributes, @@ -629,7 +689,9 @@ tei_att.global.attribute.xmllang = tei_att.global.attribute.xmlbase = ## provides a base URI reference with which applications can resolve relative URI references into absolute URI references. - attribute xml:base { xsd:anyURI }? + attribute xml:base { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.attribute.xmlspace = ## signals an intention about how white space should be managed by applications. @@ -654,7 +716,9 @@ tei_att.handFeatures.attribute.scribeRef = ] ] attribute scribeRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.handFeatures.attribute.script = @@ -671,7 +735,9 @@ tei_att.handFeatures.attribute.scriptRef = ] ] attribute scriptRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.handFeatures.attribute.medium = @@ -740,7 +806,9 @@ tei_att.resourced.attributes = tei_att.resourced.attribute.url tei_att.resourced.attribute.url = ## (uniform resource locator) specifies the URL from which the media concerned may be obtained. - attribute url { xsd:anyURI } + attribute url { + xsd:anyURI { pattern = "\S+" } + } tei_att.measurement.attributes = tei_att.measurement.attribute.unit, tei_att.measurement.attribute.unitRef, @@ -820,7 +888,9 @@ tei_att.measurement.attribute.unitRef = " element that defines a unit of measure." ] ] - attribute unitRef { xsd:anyURI }? + attribute unitRef { + xsd:anyURI { pattern = "\S+" } + }? tei_att.measurement.attribute.quantity = ## (quantity) specifies the number of the specified units that comprise the measurement @@ -838,7 +908,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-5" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -872,7 +942,9 @@ tei_att.naming.attribute.nymRef = ## (reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it. attribute nymRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.notated.attributes = tei_att.notated.attribute.notation tei_att.notated.attribute.notation = @@ -942,7 +1014,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-6" + id = "foo-att.typed-subtypeTyped-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -985,7 +1057,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-7" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1008,7 +1080,9 @@ tei_att.pointing.attribute.target = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.pointing.attribute.evaluate = @@ -1033,7 +1107,11 @@ tei_att.pointing.group.attribute.domains = ## optionally specifies the identifiers of the elements within which all elements indicated by the contents of this element lie. attribute domains { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }? tei_att.pointing.group.attribute.targFunc = [ @@ -1087,16 +1165,20 @@ tei_att.edition.attribute.edRef = ## (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute edRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.spanning.attributes = tei_att.spanning.attribute.spanTo tei_att.spanning.attribute.spanTo = ## indicates the end of a span initiated by the element bearing this attribute. - attribute spanTo { xsd:anyURI }? + attribute spanTo { + xsd:anyURI { pattern = "\S+" } + }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1153,7 +1235,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1177,11 +1259,15 @@ tei_att.timed.attributes = tei_att.timed.attribute.start = ## indicates the location within a temporal alignment at which this element begins. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? tei_att.timed.attribute.end = ## indicates the location within a temporal alignment at which this element ends. - attribute end { xsd:anyURI }? + attribute end { + xsd:anyURI { pattern = "\S+" } + }? tei_att.transcriptional.attributes = tei_att.editLike.attributes, tei_att.written.attributes, @@ -1777,7 +1863,9 @@ tei_att.locatable.attribute.where = ] ] attribute where { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_model.correspActionPart = tei_model.dateLike @@ -1878,7 +1966,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-5" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -1900,7 +1988,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-6" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2089,7 +2177,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-10" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2179,9 +2267,11 @@ tei_rt = tei_att.transcriptional.attributes, ( ## supplies a pointer to the base being glossed by this ruby text. - attribute target { xsd:anyURI }?) + attribute target { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-7" + id = "foo-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2201,7 +2291,9 @@ tei_rt = ], ( ## points to the starting point of the span of text being glossed by this ruby text. - attribute from { xsd:anyURI }?) + attribute from { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "foo-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ @@ -2225,7 +2317,9 @@ tei_rt = ], ( ## points to the ending point of the span of text being glossed. - attribute to { xsd:anyURI }?) + attribute to { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "foo-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ @@ -2594,7 +2688,7 @@ tei_ptr = element ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-8" + id = "foo-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2628,7 +2722,7 @@ tei_ref = element ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-9" + id = "foo-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2668,7 +2762,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-11" + id = "foo-list-gloss-list-must-have-labels-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2834,6 +2928,7 @@ tei_graphic = tei_att.media.attributes, tei_att.resourced.attributes, tei_att.declaring.attributes, + tei_att.typed.attributes, empty } tei_binaryObject = @@ -3184,7 +3279,7 @@ tei_relatedItem = element relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-10" + id = "foo-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3216,7 +3311,9 @@ tei_relatedItem = tei_att.typed.attributes, ## points to the related bibliographic element by means of an absolute or relative URI reference - attribute target { xsd:anyURI }?, + attribute target { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_l = @@ -3230,7 +3327,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-11" + "foo-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3291,7 +3388,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-12" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3348,6 +3445,7 @@ tei_stage = tei_att.ascribed.directed.attributes, tei_att.global.attributes, tei_att.placement.attributes, + tei_att.written.attributes, ## indicates the kind of stage direction. ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed @@ -3825,7 +3923,7 @@ tei_quotation = element quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-13" + id = "foo-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -3998,7 +4096,9 @@ tei_namespace = tei_att.global.attributes, ## specifies the full formal name of the namespace concerned. - attribute name { xsd:anyURI }, + attribute name { + xsd:anyURI { pattern = "\S*" } + }, empty } tei_rendition = @@ -4060,7 +4160,7 @@ tei_citeStructure = }?) >> sch:pattern [ id = - "foo-citeStructure-delim-citestructure-inner-delim-constraint-rule-12" + "foo-citeStructure-delim-citestructure-inner-delim-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -4099,7 +4199,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 [ @@ -4120,7 +4220,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 [ @@ -4161,7 +4261,9 @@ tei_citeData = tei_att.citeStructurePart.attributes, ## (property) A URI indicating a property definition. - attribute property { xsd:anyURI }, + attribute property { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_cRefPattern = @@ -4322,7 +4424,9 @@ tei_conversion = "." ] ] - attribute fromUnit { xsd:anyURI }, + attribute fromUnit { + xsd:anyURI { pattern = "\S+" } + }, [ a:documentation [ "the target unit of measurement for a conversion from a source unit referenced in " @@ -4330,7 +4434,9 @@ tei_conversion = "." ] ] - attribute toUnit { xsd:anyURI }, + attribute toUnit { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_appInfo = @@ -4439,7 +4545,9 @@ tei_keywords = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_classCode = @@ -4455,7 +4563,9 @@ tei_classCode = " element, or some other resource." ] ] - attribute scheme { xsd:anyURI }, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_catRef = @@ -4472,7 +4582,9 @@ tei_catRef = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_calendarDesc = @@ -4571,7 +4683,9 @@ tei_change = ## (target) points to one or more elements that belong to this change. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -4699,7 +4813,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-14" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4721,7 +4835,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-15" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5143,41 +5257,57 @@ tei_att.global.linking.attribute.corresp = ## (corresponds) points to elements that correspond to the current element in some way. attribute corresp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.synch = ## (synchronous) points to elements that are synchronous with the current element. attribute synch { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.sameAs = ## points to an element that is the same as the current element. - attribute sameAs { xsd:anyURI }? + attribute sameAs { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.copyOf = ## points to an element of which the current element is a copy. - attribute copyOf { xsd:anyURI }? + attribute copyOf { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.next = ## points to the next element of a virtual aggregate of which the current element is part. - attribute next { xsd:anyURI }? + attribute next { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.prev = ## (previous) points to the previous element of a virtual aggregate of which the current element is part. - attribute prev { xsd:anyURI }? + attribute prev { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.exclude = ## points to elements that are in exclusive alternation with the current element. attribute exclude { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.select = ## selects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected. attribute select { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_link = @@ -5226,7 +5356,7 @@ tei_ab = tei_macro.paraContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-16" + "foo-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5248,7 +5378,7 @@ tei_ab = ] >> 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 [ @@ -5360,7 +5490,9 @@ tei_when = " element, which is obtained by adding the interval to the time of the reference point." ] ] - attribute since { xsd:anyURI }?, + attribute since { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_timeline = @@ -5371,7 +5503,9 @@ tei_timeline = tei_att.global.attributes, ## designates the origin of the timeline, i.e. the time at which it begins. - attribute origin { xsd:anyURI }?, + attribute origin { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "specifies the unit of time corresponding to the " @@ -5506,7 +5640,11 @@ tei_alt = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }?, ## states whether the alternations gathered in this collection are exclusive or inclusive. @@ -5660,7 +5798,9 @@ tei_annotation = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }, ## diff --git a/Test/expected-results/test35.rnc b/Test/expected-results/test35.rnc index 6355721c6..08b3e995c 100644 --- a/Test/expected-results/test35.rnc +++ b/Test/expected-results/test35.rnc @@ -52,14 +52,18 @@ tei_att.anchoring.attribute.targetEnd = ## (target end) points to the end of the span to which the note is attached, if the note is not embedded in the text at that point. attribute targetEnd { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ascribed.attributes = tei_att.ascribed.attribute.who tei_att.ascribed.attribute.who = ## indicates the person, or group of people, to whom the element content is ascribed. attribute who { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ascribed.directed.attributes = tei_att.ascribed.attributes, @@ -68,7 +72,9 @@ tei_att.ascribed.directed.attribute.toWhom = ## indicates the person, or group of people, to whom a speech act or action is directed. attribute toWhom { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.canonical.attributes = tei_att.canonical.attribute.key, tei_att.canonical.attribute.ref @@ -80,7 +86,9 @@ tei_att.canonical.attribute.ref = ## (reference) provides an explicit means of locating a full definition or identity for the entity being named by means of one or more URIs. attribute ref { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.ranging.attributes = tei_att.ranging.attribute.atLeast, @@ -205,7 +213,9 @@ tei_att.written.attribute.hand = " element describing the hand considered responsible for the content of the element concerned." ] ] - attribute hand { xsd:anyURI }? + attribute hand { + xsd:anyURI { pattern = "\S+" } + }? tei_att.breaking.attributes = tei_att.breaking.attribute.break tei_att.breaking.attribute.break = @@ -359,7 +369,9 @@ tei_att.datable.attribute.calendar = ## indicates one or more systems or calendars to which the date represented by the content of this element belongs. attribute calendar { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? sch:pattern [ id = "foo-att.datable-calendar-calendar-constraint-rule-4" @@ -394,7 +406,9 @@ tei_att.datable.attribute.period = ] ] attribute period { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.datcat.attributes = tei_att.datcat.attribute.datcat, tei_att.datcat.attribute.valueDatcat @@ -402,13 +416,17 @@ tei_att.datcat.attribute.datcat = ## contains a PID (persistent identifier) that aligns the given element with the appropriate Data Category (or categories) in ISOcat. attribute ns2:datcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.datcat.attribute.valueDatcat = ## contains a PID (persistent identifier) that aligns the content of the given element or the value of the given attribute with the appropriate simple Data Category (or categories) in ISOcat. attribute ns2:valueDatcat { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.declarable.attributes = tei_att.declarable.attribute.default tei_att.declarable.attribute.default = @@ -428,7 +446,9 @@ tei_att.declaring.attribute.decls = ## identifies one or more declarable elements within the header, which are understood to apply to the element bearing this attribute and its content. attribute decls { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.fragmentable.attributes = tei_att.fragmentable.attribute.part tei_att.fragmentable.attribute.part = @@ -523,7 +543,9 @@ tei_att.global.responsibility.attribute.resp = ## (responsible party) indicates the agency responsible for the intervention or interpretation, for example an editor or transcriber. attribute resp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.editLike.attributes = tei_att.editLike.attribute.evidence, @@ -579,7 +601,9 @@ tei_att.global.rendition.attribute.rendition = ## points to a description of the rendering or presentation used for this element in the source text. attribute rendition { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.source.attributes = tei_att.global.source.attribute.source @@ -587,8 +611,44 @@ tei_att.global.source.attribute.source = ## specifies the source from which some aspect of this element is drawn. attribute source { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? +sch:pattern [ + id = + "foo-att.global.source-source-only_1_ODD_source-constraint-rule-5" + "\x{a}" ~ + " " + sch:rule [ + context = "tei:*/@source" + "\x{a}" ~ + " " + sch:let [ + name = "srcs" + value = "tokenize( normalize-space(.),' ')" + ] + "\x{a}" ~ + " " + sch:report [ + test = + "( parent::tei:classRef | parent::tei:dataRef | parent::tei:elementRef | parent::tei:macroRef | parent::tei:moduleRef | parent::tei:schemaSpec ) and $srcs[2]" + "\x{a}" ~ + " When used on a schema description element (like\x{a}" ~ + " " + sch:value-of [ select = "name(..)" ] + "), the @source attribute\x{a}" ~ + " should have only 1 value. (This one has " + sch:value-of [ select = "count($srcs)" ] + ".)\x{a}" ~ + " " + ] + "\x{a}" ~ + " " + ] + "\x{a}" ~ + " " +] tei_att.global.attributes = tei_att.global.rendition.attributes, tei_att.global.linking.attributes, @@ -627,7 +687,9 @@ tei_att.global.attribute.xmllang = tei_att.global.attribute.xmlbase = ## provides a base URI reference with which applications can resolve relative URI references into absolute URI references. - attribute xml:base { xsd:anyURI }? + attribute xml:base { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.attribute.xmlspace = ## signals an intention about how white space should be managed by applications. @@ -652,7 +714,9 @@ tei_att.handFeatures.attribute.scribeRef = ] ] attribute scribeRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.handFeatures.attribute.script = @@ -669,7 +733,9 @@ tei_att.handFeatures.attribute.scriptRef = ] ] attribute scriptRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.handFeatures.attribute.medium = @@ -738,7 +804,9 @@ tei_att.resourced.attributes = tei_att.resourced.attribute.url tei_att.resourced.attribute.url = ## (uniform resource locator) specifies the URL from which the media concerned may be obtained. - attribute url { xsd:anyURI } + attribute url { + xsd:anyURI { pattern = "\S+" } + } tei_att.measurement.attributes = tei_att.measurement.attribute.unit, tei_att.measurement.attribute.unitRef, @@ -818,7 +886,9 @@ tei_att.measurement.attribute.unitRef = " element that defines a unit of measure." ] ] - attribute unitRef { xsd:anyURI }? + attribute unitRef { + xsd:anyURI { pattern = "\S+" } + }? tei_att.measurement.attribute.quantity = ## (quantity) specifies the number of the specified units that comprise the measurement @@ -836,7 +906,7 @@ tei_att.measurement.attribute.commodity = } }? sch:pattern [ - id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-5" + id = "foo-att.measurement-att-measurement-unitRef-constraint-rule-6" "\x{a}" ~ " " sch:rule [ @@ -870,7 +940,9 @@ tei_att.naming.attribute.nymRef = ## (reference to the canonical name) provides a means of locating the canonical form (nym) of the names associated with the object named by the element bearing it. attribute nymRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.notated.attributes = tei_att.notated.attribute.notation tei_att.notated.attribute.notation = @@ -940,7 +1012,7 @@ tei_att.typed.attribute.subtype = xsd:token { pattern = "[^\p{C}\p{Z}]+" } }? sch:pattern [ - id = "foo-att.typed-subtypeTyped-constraint-rule-6" + id = "foo-att.typed-subtypeTyped-constraint-rule-7" "\x{a}" ~ " " sch:rule [ @@ -983,7 +1055,7 @@ tei_att.pointing.attribute.targetLang = "") }? sch:pattern [ - id = "foo-att.pointing-targetLang-targetLang-constraint-rule-7" + id = "foo-att.pointing-targetLang-targetLang-constraint-rule-8" "\x{a}" ~ " " sch:rule [ @@ -1006,7 +1078,9 @@ tei_att.pointing.attribute.target = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.pointing.attribute.evaluate = @@ -1031,7 +1105,11 @@ tei_att.pointing.group.attribute.domains = ## optionally specifies the identifiers of the elements within which all elements indicated by the contents of this element lie. attribute domains { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }? tei_att.pointing.group.attribute.targFunc = [ @@ -1085,16 +1163,20 @@ tei_att.edition.attribute.edRef = ## (edition reference) provides a pointer to the source edition in which the associated feature (for example, a page, column, or line break) occurs at this point in the text. attribute edRef { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.spanning.attributes = tei_att.spanning.attribute.spanTo tei_att.spanning.attribute.spanTo = ## indicates the end of a span initiated by the element bearing this attribute. - attribute spanTo { xsd:anyURI }? + attribute spanTo { + xsd:anyURI { pattern = "\S+" } + }? sch:pattern [ id = - "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-8" + "foo-att.spanning-spanTo-spanTo-points-to-following-constraint-rule-9" "\x{a}" ~ " " sch:rule [ @@ -1151,7 +1233,7 @@ tei_att.styleDef.attribute.schemeVersion = }? sch:pattern [ id = - "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-9" + "foo-att.styleDef-schemeVersion-schemeVersionRequiresScheme-constraint-rule-10" "\x{a}" ~ " " sch:rule [ @@ -1175,11 +1257,15 @@ tei_att.timed.attributes = tei_att.timed.attribute.start = ## indicates the location within a temporal alignment at which this element begins. - attribute start { xsd:anyURI }? + attribute start { + xsd:anyURI { pattern = "\S+" } + }? tei_att.timed.attribute.end = ## indicates the location within a temporal alignment at which this element ends. - attribute end { xsd:anyURI }? + attribute end { + xsd:anyURI { pattern = "\S+" } + }? tei_att.transcriptional.attributes = tei_att.editLike.attributes, tei_att.written.attributes, @@ -1771,7 +1857,9 @@ tei_att.locatable.attribute.where = ] ] attribute where { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_model.correspActionPart = tei_model.dateLike @@ -1871,7 +1959,7 @@ tei_p = tei_macro.paraContent >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-5" + "foo-p-abstractModel-structure-p-in-ab-or-p-constraint-report-6" "\x{a}" ~ " " sch:rule [ @@ -1893,7 +1981,7 @@ tei_p = ] >> sch:pattern [ id = - "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-6" + "foo-p-abstractModel-structure-p-in-l-or-lg-constraint-report-7" "\x{a}" ~ " " sch:rule [ @@ -2082,7 +2170,7 @@ tei_desc = tei_macro.limitedContent >> sch:pattern [ id = - "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-10" + "foo-desc-deprecationInfo-only-in-deprecated-constraint-rule-11" "\x{a}" ~ " " sch:rule [ @@ -2172,9 +2260,11 @@ tei_rt = tei_att.transcriptional.attributes, ( ## supplies a pointer to the base being glossed by this ruby text. - attribute target { xsd:anyURI }?) + attribute target { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ - id = "foo-rt-target-rt-target-not-span-constraint-report-7" + id = "foo-rt-target-rt-target-not-span-constraint-report-8" "\x{a}" ~ " " sch:rule [ @@ -2194,7 +2284,9 @@ tei_rt = ], ( ## points to the starting point of the span of text being glossed by this ruby text. - attribute from { xsd:anyURI }?) + attribute from { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "foo-rt-from-rt-from-constraint-assert-7" "\x{a}" ~ @@ -2218,7 +2310,9 @@ tei_rt = ], ( ## points to the ending point of the span of text being glossed. - attribute to { xsd:anyURI }?) + attribute to { + xsd:anyURI { pattern = "\S+" } + }?) >> sch:pattern [ id = "foo-rt-to-rt-to-constraint-assert-8" "\x{a}" ~ @@ -2587,7 +2681,7 @@ tei_ptr = element tei:ptr { empty >> sch:pattern [ - id = "foo-ptr-ptrAtts-constraint-report-8" + id = "foo-ptr-ptrAtts-constraint-report-9" "\x{a}" ~ " " sch:rule [ @@ -2621,7 +2715,7 @@ tei_ref = element tei:ref { tei_macro.paraContent >> sch:pattern [ - id = "foo-ref-refAtts-constraint-report-9" + id = "foo-ref-refAtts-constraint-report-10" "\x{a}" ~ " " sch:rule [ @@ -2661,7 +2755,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-11" + id = "foo-list-gloss-list-must-have-labels-constraint-rule-12" "\x{a}" ~ " " sch:rule [ @@ -2827,6 +2921,7 @@ tei_graphic = tei_att.media.attributes, tei_att.resourced.attributes, tei_att.declaring.attributes, + tei_att.typed.attributes, empty } tei_binaryObject = @@ -3177,7 +3272,7 @@ tei_relatedItem = element tei:relatedItem { ((tei_model.biblLike | tei_model.ptrLike)?) >> sch:pattern [ - id = "foo-relatedItem-targetorcontent1-constraint-report-10" + id = "foo-relatedItem-targetorcontent1-constraint-report-11" "\x{a}" ~ " " sch:rule [ @@ -3209,7 +3304,9 @@ tei_relatedItem = tei_att.typed.attributes, ## points to the related bibliographic element by means of an absolute or relative URI reference - attribute target { xsd:anyURI }?, + attribute target { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_l = @@ -3223,7 +3320,7 @@ tei_l = | tei_model.global)*) >> sch:pattern [ id = - "foo-l-abstractModel-structure-l-in-l-constraint-report-11" + "foo-l-abstractModel-structure-l-in-l-constraint-report-12" "\x{a}" ~ " " sch:rule [ @@ -3284,7 +3381,7 @@ tei_lg = ] >> sch:pattern [ id = - "foo-lg-abstractModel-structure-lg-in-l-constraint-report-12" + "foo-lg-abstractModel-structure-lg-in-l-constraint-report-13" "\x{a}" ~ " " sch:rule [ @@ -3341,6 +3438,7 @@ tei_stage = tei_att.ascribed.directed.attributes, tei_att.global.attributes, tei_att.placement.attributes, + tei_att.written.attributes, ## indicates the kind of stage direction. ## Suggested values include: 1] setting; 2] entrance; 3] exit; 4] business; 5] novelistic; 6] delivery; 7] modifier; 8] location; 9] mixed @@ -3799,7 +3897,7 @@ tei_quotation = element tei:quotation { (tei_model.pLike*) >> sch:pattern [ - id = "foo-quotation-quotationContents-constraint-report-13" + id = "foo-quotation-quotationContents-constraint-report-14" "\x{a}" ~ " " sch:rule [ @@ -3972,7 +4070,9 @@ tei_namespace = tei_att.global.attributes, ## specifies the full formal name of the namespace concerned. - attribute name { xsd:anyURI }, + attribute name { + xsd:anyURI { pattern = "\S*" } + }, empty } tei_rendition = @@ -4034,7 +4134,7 @@ tei_citeStructure = }?) >> sch:pattern [ id = - "foo-citeStructure-delim-citestructure-inner-delim-constraint-rule-12" + "foo-citeStructure-delim-citestructure-inner-delim-constraint-rule-13" "\x{a}" ~ " " sch:rule [ @@ -4073,7 +4173,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 [ @@ -4094,7 +4194,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 [ @@ -4135,7 +4235,9 @@ tei_citeData = tei_att.citeStructurePart.attributes, ## (property) A URI indicating a property definition. - attribute property { xsd:anyURI }, + attribute property { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_cRefPattern = @@ -4298,7 +4400,9 @@ tei_conversion = "." ] ] - attribute fromUnit { xsd:anyURI }, + attribute fromUnit { + xsd:anyURI { pattern = "\S+" } + }, [ a:documentation [ "the target unit of measurement for a conversion from a source unit referenced in " @@ -4306,7 +4410,9 @@ tei_conversion = "." ] ] - attribute toUnit { xsd:anyURI }, + attribute toUnit { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_appInfo = @@ -4415,7 +4521,9 @@ tei_keywords = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_classCode = @@ -4431,7 +4539,9 @@ tei_classCode = " element, or some other resource." ] ] - attribute scheme { xsd:anyURI }, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }, empty } tei_catRef = @@ -4448,7 +4558,9 @@ tei_catRef = " element, or by some other resource." ] ] - attribute scheme { xsd:anyURI }?, + attribute scheme { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_calendarDesc = @@ -4547,7 +4659,9 @@ tei_change = ## (target) points to one or more elements that belong to this change. attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }?, empty } @@ -4675,7 +4789,7 @@ tei_div = (tei_model.divBottom, tei_model.global*)*)?) >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-14" + "foo-div-abstractModel-structure-div-in-l-or-lg-constraint-report-15" "\x{a}" ~ " " sch:rule [ @@ -4697,7 +4811,7 @@ tei_div = ] >> sch:pattern [ id = - "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-15" + "foo-div-abstractModel-structure-div-in-ab-or-p-constraint-report-16" "\x{a}" ~ " " sch:rule [ @@ -5119,41 +5233,57 @@ tei_att.global.linking.attribute.corresp = ## (corresponds) points to elements that correspond to the current element in some way. attribute corresp { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.synch = ## (synchronous) points to elements that are synchronous with the current element. attribute synch { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.sameAs = ## points to an element that is the same as the current element. - attribute sameAs { xsd:anyURI }? + attribute sameAs { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.copyOf = ## points to an element of which the current element is a copy. - attribute copyOf { xsd:anyURI }? + attribute copyOf { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.next = ## points to the next element of a virtual aggregate of which the current element is part. - attribute next { xsd:anyURI }? + attribute next { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.prev = ## (previous) points to the previous element of a virtual aggregate of which the current element is part. - attribute prev { xsd:anyURI }? + attribute prev { + xsd:anyURI { pattern = "\S+" } + }? tei_att.global.linking.attribute.exclude = ## points to elements that are in exclusive alternation with the current element. attribute exclude { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_att.global.linking.attribute.select = ## selects one or more alternants; if one alternant is selected, the ambiguity or uncertainty is marked as resolved. If more than one alternant is selected, the degree of ambiguity or uncertainty is marked as reduced by the number of alternants not selected. attribute select { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }? tei_link = @@ -5202,7 +5332,7 @@ tei_ab = tei_macro.paraContent >> sch:pattern [ id = - "foo-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-16" + "foo-ab-abstractModel-structure-ab-in-ab-or-p-constraint-report-17" "\x{a}" ~ " " sch:rule [ @@ -5224,7 +5354,7 @@ tei_ab = ] >> 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 [ @@ -5336,7 +5466,9 @@ tei_when = " element, which is obtained by adding the interval to the time of the reference point." ] ] - attribute since { xsd:anyURI }?, + attribute since { + xsd:anyURI { pattern = "\S+" } + }?, empty } tei_timeline = @@ -5347,7 +5479,9 @@ tei_timeline = tei_att.global.attributes, ## designates the origin of the timeline, i.e. the time at which it begins. - attribute origin { xsd:anyURI }?, + attribute origin { + xsd:anyURI { pattern = "\S+" } + }?, [ a:documentation [ "specifies the unit of time corresponding to the " @@ -5482,7 +5616,11 @@ tei_alt = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI, xsd:anyURI, xsd:anyURI* } + list { + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }, + xsd:anyURI { pattern = "\S+" }* + } }?, ## states whether the alternations gathered in this collection are exclusive or inclusive. @@ -5636,7 +5774,9 @@ tei_annotation = ## specifies the destination of the reference by supplying one or more URI References attribute target { - list { xsd:anyURI+ } + list { + xsd:anyURI { pattern = "\S+" }+ + } }, ## diff --git a/Test/expected-results/testdrama.compiled.xml b/Test/expected-results/testdrama.compiled.xml index 62a036218..6b5029d59 100644 --- a/Test/expected-results/testdrama.compiled.xml +++ b/Test/expected-results/testdrama.compiled.xml @@ -1048,7 +1048,7 @@ Elements 9.5.2. Lexical View 18.3. Other Atomic Feature Values - + provides attributes for those elements in the TEI header which may be independently selected by means of the special purpose decls attribute. 특별한 목적의 decls 속성을 통해서 독립적으로 선택될 수 있는 TEI 헤더의 요소에 대한 속성을 제공한다. @@ -1132,7 +1132,7 @@ Information with a Textにおいて詳しく規定されている. 15.3. Associating Contextual Information with a Text - + provides attributes for elements which may be independently associated with a particular declarable element within the header, thus overriding the inherited default for that element. 헤더에서 선언 가능한 어떤 요소와 독립적으로 연관될 수 있는 속성을 제공한다. 이를 통해 그 요소의 상속된 기본값은 무효가 된다. 提供元素屬性,這些元素可單獨與標頭中一特定可宣告元素相關連,因此超越該特定元素本身的預設值。 @@ -1438,7 +1438,6 @@ associated with a dated element, at the time indicated. signifies the degree of certainty associated with the intervention or interpretation. 간섭 또는 해석과 연관된 확실성의 정도를 나타낸다. 表示該更動或詮釋的相關正確度。 - 当該解釈や調整の確信度を示す. donne le degré de certitude associée à l'intervention ou à l'interprétation. significa el grado de certeza asociado con la @@ -1776,7 +1775,7 @@ the TEI header.

1.3.1.1.3. Rendition Indicators -
+ provides attributes used by elements to point to an external source. 外部ソースを参照する要素によって用いられる属性を示す。 @@ -1788,18 +1787,40 @@ the TEI header.

+ + + + + + When used on a schema description element (like + ), the @source attribute + should have only 1 value. (This one has .) + + + + -

The source attribute points to an external source. When used on elements - describing schema components such as schemaSpec or moduleRef it - identifies the source from which declarations for the components of the object being - defined may be obtained.

-

On other elements it provides a pointer to the bibliographical source from which a - quotation or citation is drawn.

-

In either case, the location may be provided using any form of URI, for example an - absolute URI, a relative URI, or private scheme URI that is expanded to an absolute URI as - documented in a prefixDef.

-

If more than one location is specified, the default assumption is that the required - source should be obtained by combining the resources indicated.

+

The source attribute points to an external + source. When used on an element describing a schema component + (classRef, dataRef, elementRef, + macroRef, moduleRef, or + + schemaSpec), it identifies the source from which + declarations for the components should be obtained.

+

On other elements it provides a pointer to the + bibliographical source from which a quotation or citation is + drawn.

+

In either case, the location may be provided using any form + of URI, for example an absolute URI, a relative URI, a private + scheme URI of the form tei:x.y.z, where + x.y.z indicates the version number, e.g. + tei:4.3.2 for TEI P5 release 4.3.2 or (as a + special case) tei:current for whatever is the + latest release, or a private scheme URI that is expanded to an + absolute URI as documented in a prefixDef.

+

When used on elements describing schema components, + source should have only one value; when used on + other elements multiple values are permitted.

@@ -6183,7 +6204,7 @@ 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 @@ -6335,7 +6356,7 @@ resource, either within the current document or elsewhere.</desc> <desc xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" versionDate="2007-05-04" xml:lang="es">define una gama de valores de atributos usados para proporcionar un indicador de cualquier recurso, bien en el documento corriente o en otro.</desc> <desc xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" versionDate="2007-01-21" xml:lang="it">definisce la gamma di valori di attributi usati per indicare un unico puntatore rispetto a qualsiasi altra risorsa all'interno del documento corrente o altrove</desc> <content xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xi="http://www.w3.org/2001/XInclude"> - <dataRef name="anyURI"/> + <dataRef restriction="\S+" name="anyURI"/> </content> <remarks xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" versionDate="2011-12-12" xml:lang="en"> <p>The range of syntactically valid values is defined by @@ -12862,21 +12883,22 @@ psychological significance. elektronische Verarbeitung automatisch rekonstruiert werden kann, kann es als unnötig angesehen werden, die Nummerierung anzugeben.</p> </exemplum> - <remarks xml:lang="fr" versionDate="2007-06-12"> + <exemplum xml:lang="fr" versionDate="2007-06-12"> <p>L'attribut global<att>n</att> indique le - symbole ou le nombre utilisé pour marquer le point d'insertion - dans le texte source, comme dans l'exemple suivant : -<egXML xmlns="http://www.tei-c.org/ns/Examples" xml:lang="en">Mevorakh b. Saadya's - mother, the matriarch of the family during the second half of the - eleventh century, <note n="126" anchored="true"> The alleged - mention of Judah Nagid's mother in a letter from 1071 is, in fact, - a reference to Judah's children; cf. above, nn. 111 and - 54. </note> is well known from Geniza documents published by Jacob - Mann.</egXML> Cependant, si les notes sont ordonnées et numérotées - et qu’on veuille reconstruire automatiquement leur numérotation - par un traitement informatique, il est inutile d’enregistrer le - numéro des notes.</p> - </remarks> + symbole ou le nombre utilisé pour marquer le point d'insertion + dans le texte source, comme dans l'exemple suivant :</p> + <egXML xmlns="http://www.tei-c.org/ns/Examples" xml:lang="en">Mevorakh b. Saadya's + mother, the matriarch of the family during the second half of the + eleventh century, <note n="126" anchored="true"> The alleged + mention of Judah Nagid's mother in a letter from 1071 is, in fact, + a reference to Judah's children; cf. above, nn. 111 and + 54. </note> is well known from Geniza documents published by Jacob + Mann.</egXML> + <p>Cependant, si les notes sont ordonnées et numérotées + et qu’on veuille reconstruire automatiquement leur numérotation + par un traitement informatique, il est inutile d’enregistrer le + numéro des notes.</p> + </exemplum> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CO.html#CONONO">3.9.1. Notes and Simple Annotation</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD27">2.2.6. The Notes Statement</ref> @@ -13092,6 +13114,7 @@ the resource specified by the <att>url</att> attribute.</p> <memberOf key="att.media"/> <memberOf key="att.resourced"/> <memberOf key="att.declaring"/> + <memberOf key="att.typed"/> </classes> <content> <classRef key="model.descLike" minOccurs="0" maxOccurs="unbounded"/> @@ -13139,6 +13162,35 @@ the resource specified by the <att>url</att> attribute.</p> </facsimile> </egXML> </exemplum> + <exemplum versionDate="2022-04-08" xml:lang="en"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" xml:lang="und" source="#UND"> + <facsimile> + <surfaceGrp n="leaf1" xml:id="spi001"> + <surface xml:id="spi001r"> + <graphic type="normal" subtype="thumbnail" url="spi/thumb/001r.jpg"/> + <graphic type="normal" subtype="low-res" url="spi/normal/lowRes/001r.jpg"/> + <graphic type="normal" subtype="high-res" url="spi/normal/highRes/001r.jpg"/> + <graphic type="high-contrast" subtype="low-res" url="spi/contrast/lowRes/001r.jpg"/> + <graphic type="high-contrast" subtype="high-res" url="spi/contrast/highRes/001r.jpg"/> + </surface> + <surface xml:id="spi001v"> + <graphic type="normal" subtype="thumbnail" url="spi/thumb/001v.jpg"/> + <graphic type="normal" subtype="low-res" url="spi/normal/lowRes/001v.jpg"/> + <graphic type="normal" subtype="high-res" url="spi/normal/highRes/001v.jpg"/> + <graphic type="high-contrast" subtype="low-res" url="spi/contrast/lowRes/001v.jpg"/> + <graphic type="high-contrast" subtype="high-res" url="spi/contrast/highRes/001v.jpg"/> + <zone xml:id="spi001v_detail01"> + <graphic type="normal" subtype="thumbnail" url="spi/thumb/001v-detail01.jpg"/> + <graphic type="normal" subtype="low-res" url="spi/normal/lowRes/001v-detail01.jpg"/> + <graphic type="normal" subtype="high-res" url="spi/normal/highRes/001v-detail01.jpg"/> + <graphic type="high-contrast" subtype="low-res" url="spi/contrast/lowRes/001v-detail01.jpg"/> + <graphic type="high-contrast" subtype="high-res" url="spi/contrast/highRes/001v-detail01.jpg"/> + </zone> + </surface> + </surfaceGrp> + </facsimile> + </egXML> + </exemplum> <remarks versionDate="2016-03-07" xml:lang="en"> <p>The <att>mimeType</att> attribute should be used to supply the MIME media type of the image specified by the <att>url</att> attribute.</p><p>Within the body of a text, a <gi>graphic</gi> element indicates the @@ -15226,7 +15278,7 @@ epistemology, methodology and history of <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CO.html#COBICOI">3.12.2.4. Imprint, Size of a Document, and Reprint Information</ref> </listRef> -</elementSpec><elementSpec module="core" ident="bibl"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" module="core" ident="bibl"> <gloss versionDate="2005-01-14" xml:lang="en">bibliographic citation</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">서지 인용</gloss> <gloss versionDate="2007-05-02" xml:lang="zh-TW">書目資料</gloss> @@ -15347,7 +15399,7 @@ epistemology, methodology and history of <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD3">2.2.7. The Source Description</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec module="core" ident="biblStruct"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" module="core" ident="biblStruct"> <gloss versionDate="2005-04-15" xml:lang="en">structured bibliographic citation</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">구조화된 서지 인용</gloss> <gloss versionDate="2007-05-02" xml:lang="zh-TW">結構次要書目</gloss> @@ -15447,7 +15499,7 @@ epistemology, methodology and history of <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD3">2.2.7. The Source Description</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec module="core" ident="listBibl"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" module="core" ident="listBibl"> <gloss versionDate="2005-01-14" xml:lang="en">citation list</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">인용 목록</gloss> <gloss versionDate="2007-05-02" xml:lang="zh-TW">書目列表</gloss> @@ -15949,7 +16001,7 @@ relatedItem element must be empty</sch:report> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n23"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n23-24"> <sp> <speaker>祝英台</speaker> <p>我就是英台。三年前我想出外求學,故而改扮男裝,不期与梁兄相遇,三載同窗多蒙照顧,英台感激不盡。</p> @@ -16054,7 +16106,7 @@ relatedItem element must be empty</sch:report> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n24"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n23-24"> <sp who="#zh-tw_ni #zh-tw_rsa"> <speaker>梁山伯與祝英台t</speaker> <stage type="演講或歌唱">(同時)</stage> @@ -16097,6 +16149,7 @@ relatedItem element must be empty</sch:report> <memberOf key="att.ascribed.directed"/> <memberOf key="att.global"/> <memberOf key="att.placement"/> + <memberOf key="att.written"/> <memberOf key="model.stageLike"/> </classes> <content> @@ -18083,9 +18136,10 @@ distribution of a text.</desc> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD26">2.2.5. The Series Statement</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CO.html#COBICOI">3.12.2.4. Imprint, Size of a Document, and Reprint Information</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="availability"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="availability"> <gloss xml:lang="en" versionDate="2007-06-12">availability</gloss> <gloss versionDate="2007-06-12" xml:lang="fr">disponibilité</gloss> + <gloss versionDate="2021-02-02" xml:lang="fr">disponibilità</gloss> <gloss versionDate="2016-11-17" xml:lang="de">Verfügbarkeit</gloss> <desc versionDate="2011-11-17" xml:lang="en">supplies information about the availability of a text, for example any restrictions on its use or distribution, its copyright status, any licence applying to it, etc.</desc> @@ -18489,7 +18543,7 @@ définissant les droits d'utilisation.</desc> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD27">2.2.6. The Notes Statement</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD2">2.2. The File Description</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="sourceDesc"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="sourceDesc"> <gloss versionDate="2007-07-04" xml:lang="en">source description</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">description de la source</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">원전 기술</gloss> @@ -18511,8 +18565,8 @@ définissant les droits d'utilisation.</desc> "born digital" für einen nur in elektronischer Form vorliegenden Text. </desc> <desc versionDate="2007-05-04" xml:lang="es">proporciona una descripción del texto (o textos) fuente del que un texto electrónico deriva o ha sido generado.</desc> - <desc versionDate="2007-01-21" xml:lang="it"> fornisce una descrizionei relativa alla o alle fonti da - cui è derivato o generato un documento elettronico.</desc> + <desc versionDate="2007-01-21" xml:lang="it"> fornisce una descrizione relativa alla o alle fonti da + cui è derivato o generato un documento elettronico.</desc> <classes> <memberOf key="att.global"/> <memberOf key="att.declarable"/> @@ -18560,7 +18614,7 @@ définissant les droits d'utilisation.</desc> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD3">2.2.7. The Source Description</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="biblFull"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="biblFull"> <gloss versionDate="2007-07-04" xml:lang="en">fully-structured bibliographic citation</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">완전히 구조화된 서지 인용 정보</gloss> <gloss versionDate="2007-05-02" xml:lang="zh-TW"/> @@ -18774,7 +18828,7 @@ formatting or layout information preserved.</p> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HDSCHSPEC">2.3.10. The Schema Specification</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="projectDesc"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="projectDesc"> <gloss versionDate="2005-01-14" xml:lang="en">project description</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">description du projet</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">프로젝트 기술</gloss> @@ -18852,7 +18906,7 @@ formatting or layout information preserved.</p> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD5">2.3. The Encoding Description</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="samplingDecl"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="samplingDecl"> <gloss versionDate="2005-01-14" xml:lang="en">sampling declaration</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">déclaration d'échantillonnage</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">표본 추출 선언</gloss> @@ -18935,7 +18989,7 @@ formatting or layout information preserved.</p> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD5">2.3. The Encoding Description</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="editorialDecl"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="editorialDecl"> <gloss versionDate="2005-01-14" xml:lang="en">editorial practice declaration</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">déclaration des pratiques éditoriales</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">편집 실행 선언</gloss> @@ -19011,7 +19065,7 @@ during the encoding of a text.</desc> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD5">2.3. The Encoding Description</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="correction"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="correction"> <gloss versionDate="2005-01-14" xml:lang="en">correction principles</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">règles de correction</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">수정 원리</gloss> @@ -19183,7 +19237,7 @@ during the encoding of a text.</desc> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD53">2.3.3. The Editorial Practices Declaration</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="normalization"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="normalization"> <gloss xml:lang="en" versionDate="2009-01-05">normalization</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">normalisation</gloss> <desc versionDate="2005-01-14" xml:lang="en">indicates the extent of normalization or regularization of the original source carried out @@ -19312,7 +19366,7 @@ during the encoding of a text.</desc> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD53">2.3.3. The Editorial Practices Declaration</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="quotation"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="quotation"> <gloss xml:lang="en" versionDate="2007-06-12">quotation</gloss> <gloss versionDate="2007-06-12" xml:lang="fr">citation</gloss> <desc versionDate="2005-01-14" xml:lang="en">specifies editorial practice adopted with respect to quotation marks in the original.</desc> @@ -19451,7 +19505,7 @@ On <name/>, either the @marks attribute should be used, or a paragraph of descri <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD53">2.3.3. The Editorial Practices Declaration</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="hyphenation"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="hyphenation"> <gloss xml:lang="en" versionDate="2009-04-27">hyphenation</gloss> <gloss versionDate="2009-04-27" xml:lang="fr">césurage</gloss> <desc versionDate="2005-01-14" xml:lang="en">summarizes the way in which hyphenation in a source text has been treated in an encoded @@ -19582,7 +19636,7 @@ On <name/>, either the @marks attribute should be used, or a paragraph of descri <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD53">2.3.3. The Editorial Practices Declaration</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="segmentation"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="segmentation"> <gloss xml:lang="en" versionDate="2007-06-12">segmentation</gloss> <gloss versionDate="2007-06-12" xml:lang="fr">segmentation</gloss> <desc versionDate="2005-01-14" xml:lang="en">describes the principles according to which the text has been segmented, for example into @@ -19629,7 +19683,7 @@ On <name/>, either the @marks attribute should be used, or a paragraph of descri <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD53">2.3.3. The Editorial Practices Declaration</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="stdVals"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="stdVals"> <gloss versionDate="2007-07-04" xml:lang="en">standard values</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">valeurs normalisées</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">표준 값</gloss> @@ -19647,7 +19701,7 @@ On <name/>, either the @marks attribute should be used, or a paragraph of descri oder Zahlenwerte genutzt wird.</desc> <desc versionDate="2007-05-04" xml:lang="es">indica el formato usado cuando aparecen fechas estandarizadas o valores numéricos.</desc> - <desc versionDate="2007-01-21" xml:lang="it">specidica il formato usato quando vengono fornite date e + <desc versionDate="2007-01-21" xml:lang="it">specifica il formato usato quando vengono fornite date e altri valori numerici standardizzati.</desc> <classes> <memberOf key="att.global"/> @@ -19684,7 +19738,7 @@ On <name/>, either the @marks attribute should be used, or a paragraph of descri <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD53">2.3.3. The Editorial Practices Declaration</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CC.html#CCAS2">15.3.2. Declarable Elements</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="interpretation"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="interpretation"> <gloss xml:lang="en" versionDate="2007-06-12">interpretation</gloss> <gloss versionDate="2007-06-12" xml:lang="fr">Interprétation</gloss> <desc versionDate="2005-01-14" xml:lang="en">describes the scope of any analytic or interpretive information added to the text in @@ -19698,7 +19752,7 @@ On <name/>, either the @marks attribute should be used, or a paragraph of descri die zusätzlich zur Transkription dem Text hinzugefügt wurde.</desc> <desc versionDate="2007-05-04" xml:lang="es">describe la finalidad de cualquier información analítica o descriptiva añadida al texto en la transcripción.</desc> - <desc versionDate="2007-01-21" xml:lang="it">descrive l'estenione di qualsiasi informazione analitica + <desc versionDate="2007-01-21" xml:lang="it">descrive l'estensione di qualsiasi informazione analitica o interpretativa inserita nel testo, in aggiunta alla trascrizione</desc> <classes> <memberOf key="att.global"/> @@ -19736,7 +19790,7 @@ On <name/>, either the @marks attribute should be used, or a paragraph of descri <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD53">2.3.3. The Editorial Practices Declaration</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="punctuation"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="punctuation"> <desc versionDate="2013-06-20" xml:lang="en">specifies editorial practice adopted with respect to punctuation marks in the original.</desc> <classes> <memberOf key="att.declarable"/> @@ -20170,7 +20224,7 @@ the target element</desc> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD57">2.3.4. The Tagging Declaration</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="styleDefDecl"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="styleDefDecl"> <gloss versionDate="2012-10-06" xml:lang="en">style definition language declaration</gloss> <desc versionDate="2013-04-12" xml:lang="en">specifies the name of the formal language in which style or renditional information is supplied elsewhere in the document. The @@ -20199,7 +20253,7 @@ the target element</desc> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD57-1a">2.3.5. The Default Style Definition Language Declaration</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="refsDecl"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="refsDecl"> <gloss versionDate="2005-01-14" xml:lang="en">references declaration</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">Déclaration du système de références</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">참조 선언</gloss> @@ -20391,7 +20445,7 @@ the target element</desc> <gloss versionDate="2020-02-03" xml:lang="en">property</gloss> <desc versionDate="2020-02-03" xml:lang="en">A URI indicating a property definition.</desc> <datatype> - <dataRef name="anyURI"/> + <dataRef key="teidata.pointer"/> </datatype> </attDef> </attList> @@ -20401,8 +20455,7 @@ the target element</desc> <citeData property="http://purl.org/dc/terms/title" use="head"/> </citeStructure> </egXML> - </exemplum> - + </exemplum> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/CO.html#CORS6">3.11.4. Declaring Reference Systems</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/SA.html#SACRCS">16.2.5.4. Citation Structures</ref> @@ -21184,7 +21237,7 @@ codes used elsewhere in the text.</desc> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD55">2.3.7. The Classification Declaration</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="geoDecl"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="geoDecl"> <gloss versionDate="2007-09-23" xml:lang="en">geographic coordinates declaration</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">지리적 좌표 선언</gloss> <gloss versionDate="2008-04-06" xml:lang="es">declaración de las coordenadas geográficas</gloss> @@ -21885,7 +21938,7 @@ elements of <gi>profileDesc</gi> unless these are documenting multiple texts.</ <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD4C">2.4.1. Creation</ref> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD4">2.4. The Profile Description</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="langUsage"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="langUsage"> <gloss versionDate="2005-01-14" xml:lang="en">language usage</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">langue utilisée</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">언어 사용</gloss> @@ -22068,7 +22121,7 @@ langues, registres, dialectes, etc. présents à l’intérieur d’un texte.</d <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD41">2.4.2. Language Usage</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="textClass"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="textClass"> <gloss versionDate="2005-01-14" xml:lang="en">text classification</gloss> <gloss versionDate="2009-01-05" xml:lang="fr">classification du texte</gloss> <gloss versionDate="2007-12-20" xml:lang="ko">텍스트 분류</gloss> @@ -22640,11 +22693,13 @@ should be supplied for the <att>scheme</att> attribute.</p> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD44">2.4.5. Calendar Description</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="correspDesc"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="correspDesc"> <gloss versionDate="2014-01-13" xml:lang="en">correspondence description</gloss> + <gloss versionDate="2021-02-02" xml:lang="it">descrizione di corrispondenza epistolare</gloss> <desc versionDate="2015-01-29" xml:lang="en">contains a description of the actions related to one act of correspondence.</desc> + <desc versionDate="2021-02-02" xml:lang="it">contiene una descrizione delle azioni intorno a un atto di corrispondenza epistolare.</desc> <classes> <memberOf key="model.profileDescPart"/> <memberOf key="att.declarable"/> @@ -22795,7 +22850,7 @@ should be supplied for the <att>scheme</att> attribute.</p> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/HD.html#HD44CD">2.4.6. Correspondence Description</ref> </listRef> -</elementSpec><elementSpec xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="xenoData"> +</elementSpec><elementSpec xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:xi="http://www.w3.org/2001/XInclude" module="header" ident="xenoData"> <gloss versionDate="2015-05-30" xml:lang="en">non-TEI metadata</gloss> <desc versionDate="2015-05-30" xml:lang="en">provides a container element into which metadata in non-TEI formats may be @@ -23384,11 +23439,11 @@ during the evolution of the encoded representation of that text.</p> <sequence> <elementRef key="teiHeader"/> <alternate> - <sequence> - <classRef key="model.resource" minOccurs="1" maxOccurs="unbounded"/> - <elementRef key="TEI" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <elementRef key="TEI" minOccurs="1" maxOccurs="unbounded"/> + <sequence> + <classRef key="model.resource" minOccurs="1" maxOccurs="unbounded"/> + <elementRef key="TEI" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <elementRef key="TEI" minOccurs="1" maxOccurs="unbounded"/> </alternate> </sequence> </content> @@ -23421,7 +23476,7 @@ during the evolution of the encoded representation of that text.</p> releases of the fifth major edition of the Guidelines, known as P5. This attribute may be used to associate a TEI document with a specific release of the P5 Guidelines, in the absence of a more precise association provided by the <att>source</att> attribute on the associated - <gi>schemaSpec</gi>. </p> + <gi>schemaSpec</gi>.</p> </remarks> <remarks versionDate="2018-07-18" xml:lang="de"> <p>Hauptausgaben der TEI-Richtlinien werden seit langem informell mit einem Namen bezeichnet, der sich aus dem Buchstaben P (für proposal) @@ -23445,7 +23500,7 @@ during the evolution of the encoded representation of that text.</p> </titleStmt> <publicationStmt> <p>First published as part of TEI P2, this is the P5 - version using a name space.</p> + version using a namespace.</p> </publicationStmt> <sourceDesc> <p>No source: this is an original work.</p> @@ -23476,12 +23531,12 @@ during the evolution of the encoded representation of that text.</p> </sourceDesc> </fileDesc> </teiHeader> - <facsimile> - <graphic url="page1.png"/> - <graphic url="page2.png"/> - <graphic url="page3.png"/> - <graphic url="page4.png"/> - </facsimile> + <facsimile> + <graphic url="page1.png"/> + <graphic url="page2.png"/> + <graphic url="page3.png"/> + <graphic url="page4.png"/> + </facsimile> </TEI> </egXML> </exemplum> @@ -23534,10 +23589,11 @@ during the evolution of the encoded representation of that text.</p> </TEI> </egXML> </exemplum> - <remarks versionDate="2015-03-10" xml:lang="en"> - <p>This element is required. It is customary to specify the - TEI namespace <code>http://www.tei-c.org/ns/1.0</code> on it, using - the <att>xmlns</att> attribute.</p> + <remarks versionDate="2022-04-04" xml:lang="en"> + <p>This element is required. It is customary to specify the TEI + namespace <ident type="ns">http://www.tei-c.org/ns/1.0</ident> on + it, for example: <tag type="start">TEI version="4.4.0" + xml:lang="it" xmlns="http://www.tei-c.org/ns/1.0"</tag>.</p> </remarks> <remarks xml:lang="fr" versionDate="2007-06-12"> <p>Cet élément est obligatoire.</p> @@ -23547,9 +23603,11 @@ during the evolution of the encoded representation of that text.</p> 当該要素は必須であり,<att>xmlns</att> 属性を用いてTEIの名前空間 <code>http://www.tei-c.org/ns/1.0</code> を指定することになっている. </p> </remarks> - <remarks versionDate="2017-06-13" xml:lang="de"> - <p>Dieses Element ist obligatorisch. Es ist notwendig, darin den TEI-Namensraum <ident type="ns">http://www.tei-c.org/ns/1.0</ident> mithilfe des <att>xmlns</att>-Attributs zu - spezifizieren.</p> + <remarks versionDate="2022-04-07" xml:lang="de"> + <p>Dieses Element ist obligatorisch. Es ist notwendig, + auch den TEI-Namensraum <ident type="ns">http://www.tei-c.org/ns/1.0</ident> anzugeben, z.B. + <tag type="start">TEI version="4.4.0" xml:lang="it" + xmlns="http://www.tei-c.org/ns/1.0"</tag>.</p> </remarks> <listRef> <ref target="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/DS.html#DS">4. Default Text Structure</ref> @@ -24258,7 +24316,7 @@ during the evolution of the encoded representation of that text.</p> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n51"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n51-55"> <body> <div type="part"> <head>對話的喧囂:巴赫汀文化理論述評</head> @@ -24546,7 +24604,7 @@ during the evolution of the encoded representation of that text.</p> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n53"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n51-55"> <div1 n="3" type="part"> <head>第三章:對話性—文化理論的基石</head> <div2 n="3.1" type="section"> @@ -24693,7 +24751,7 @@ during the evolution of the encoded representation of that text.</p> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n54"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n51-55"> <div2 n="3.2" type="section"> <div3 n="3.2.1" type="member"> <head>打破內在/外在、主觀/客觀的二元對立</head> @@ -24825,7 +24883,7 @@ during the evolution of the encoded representation of that text.</p> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n55"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n51-55"> <div3 n="3.2.1" type="member"> <head>打破內在/外在、主觀/客觀的二元對立</head> <div4 n="3.2.1.1" type="subsection"> @@ -25680,7 +25738,7 @@ Tubes formed by Lightning — House struck</p> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n56"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n56-57"> <epigraph xml:lang="zh"> <cit> <bibl>俞平伯</bibl> @@ -27070,7 +27128,7 @@ the date of the entire document, not for any subset or part of it.</p> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n57"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n56-57"> <front> <epigraph> <quote>小燕子其實也無所愛,只是沉浸在朦朧而飄忽的夏夜夢里罷了。 </quote> @@ -29434,7 +29492,7 @@ You must supply at least two values for @target on <name/> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n35"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n35-36"> <prologue> <sp> <l>何時姊妹再相逢,雷電轟轟雨蒙蒙?</l> @@ -30168,7 +30226,7 @@ elements within a cast list.</desc> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n30"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n30-31"> <castGroup rend="braced"> <castItem> <role>程蝶衣</role> @@ -30304,7 +30362,7 @@ either a single role or a list of non-speaking roles.</desc> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n31"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n30-31"> <castItem type="list">張國榮、張豐毅、鞏俐…等等</castItem> </egXML> </exemplum> @@ -30349,7 +30407,7 @@ either a single role or a list of non-speaking roles.</desc> </egXML> </exemplum> <exemplum xml:lang="zh-TW"> - <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n36"> + <egXML xmlns="http://www.tei-c.org/ns/Examples" source="#biblzh-tw_n35-36"> <role xml:id="zh-tw_王">鄧肯</role> <roleDesc>蘇格蘭國王</roleDesc> </egXML> diff --git a/debian-tei-xsl/debian/changelog b/debian-tei-xsl/debian/changelog index 15e5fd593..0b0bc06c8 100644 --- a/debian-tei-xsl/debian/changelog +++ b/debian-tei-xsl/debian/changelog @@ -1,3 +1,9 @@ +tei-xsl (7.53.0) natty; urgency=low + + * new release from upstream + + -- TEI <editors@www.tei-c.org> Tue, 19 Apr 2022 13:24:49 -0400 + tei-xsl (7.53.0a) natty; urgency=low * new release from upstream