diff --git a/P5/Source/Specs/attList.xml b/P5/Source/Specs/attList.xml index 06f0db90cf..60a4fcfa9a 100644 --- a/P5/Source/Specs/attList.xml +++ b/P5/Source/Specs/attList.xml @@ -1,32 +1,86 @@ - + attribute list liste d'attributs - contains documentation for all the attributes associated with this element, as a series of - attDef elements. + contains documentation for all the attributes associated with this element, as a series of attDef elements. 일련의 attDef 요소로서, 이 요소와 연관된 모든 속성에 대한 기록을 포함한다. 包含所有和此元素相關的屬性記錄,使用一連串的元素attDef 当該要素に関する全ての属性に関する文書を、一連の要素attDef で示す。 - contient la documentation pour tous les attributs - associés à cet élément comme une série d'éléments attDef. - contiene documentación relativa a todos los atributos - asociados con este elemento bajo forma de series de elementos attDef. - contiene la documentazione relativa agli attributi - associati all'elemento in questione sotto forma di una serie di elementi attDef + contient la documentation pour tous les attributs associés à cet élément comme une série d'éléments attDef. + contiene documentación relativa a todos los atributos asociados con este elemento bajo forma de series de elementos attDef. + contiene la documentazione relativa agli attributi associati all'elemento in questione sotto forma di una serie di elementi attDef - - - - - - - + + + + + + + Because it is illegal in XML to have two attributes with the + same name on the same element instance, it is illegal in TEI to + have two attDef elements with the same values of + ns and ident in a single attList, + unless the parent attList has an org of + choice. This applies regardless of the mode + of each attDef. + + + + + + + + + + + + + + + Within the attribute list defined in , + the following attributes have been defined multiple times: . + + + + organization @@ -36,15 +90,11 @@ organizzazione specifies whether only one (choice) or all (group) of the attributes in the list are available 목록의 모든 속성이 이용가능하거나(org="group") 그 중 하나만 이용가능한지를 명시한다. - 標明是否列表中的全部屬性皆可使用 (org="group") 、或是僅可使用其中一個 - (org="choice")。 - リスト中の属性が全て使用できるか(org="group")、またはその1つだけ - が使用できるか(org="choice")を示す。 - précise si les attributs dans la liste sont tous - disponibles (org="group") ou seulement l'un d'entre eux (org="choice"). + 標明是否列表中的全部屬性皆可使用 (org="group") 、或是僅可使用其中一個 (org="choice")。 + リスト中の属性が全て使用できるか(org="group")、またはその1つだけ が使用できるか(org="choice")を示す。 + précise si les attributs dans la liste sont tous disponibles (org="group") ou seulement l'un d'entre eux (org="choice"). indica si solo uno (choice) o todos (group) los atributos de la lista están disponibles - indica se gli attributi contenuti nella lista sono - tutti disponibili (group) o se ne è disponibile solo uno (choice) + indica se gli attributi contenuti nella lista sono tutti disponibili (group) o se ne è disponibile solo uno (choice) group @@ -109,12 +159,15 @@ - identifies the active participants in a non-mutual relationship, or all the participants in a mutual - one. + identifies the + active participants in a non-mutual + relationship, or all the participants in a mutual one. - supplies a list of participants amongst all of whom the relationship holds equally. + supplies a list + of participants amongst all of whom the relationship holds + equally. @@ -124,4 +177,4 @@ - \ No newline at end of file + diff --git a/P5/Test/detest.odd b/P5/Test/detest.odd index c9ed1b0dd1..7d1171fc88 100644 --- a/P5/Test/detest.odd +++ b/P5/Test/detest.odd @@ -8,6 +8,8 @@ Testing errors Lou Burnard + Sebastian Rhatz + Syd Bauman

Published along with TEI P5 as part of its build process test suite

@@ -17,6 +19,14 @@ + + Add specifications for several new elements + (no_duplicate_attrs_1_invalid, + no_duplicate_attrs_2_valid, + no_duplicate_attrs_3_invalid, and + no_duplicate_attrs_4_invalid) that exercise the new + no_duplicate_attrs constraint. + Add the add_missing_scheme and replace_missing_scheme tests for @@ -88,8 +98,7 @@ - - multi-valued rend is not supported + multi-valued rend is not supported @@ -165,7 +174,7 @@ - + divs of type 'canon' may not be nested @@ -363,7 +372,10 @@ - another completely spurious element made up for testing purposes only + + Another completely spurious element made up for testing purposes only. + For information on what is being tested, see remarks. + @@ -536,6 +548,253 @@ + + + Another completely spurious element made up for testing purposes only. + For information on what is being tested, see remarks. + + + + + + + + + + + + + +

Here we are testing the Schematron that tests for duplicate + atttribute defintions, i.e. no_duplicate_attrs.

+

This attList should be valid because + although there are two bad attributes defined + as siblings, they have different namespaces.

+

Note that because this element is not a member of any + model class nor in any other element’s content model, it + will probably not show up in an output schema, which is + a good thing, becase defining an attribute twice like + that is an error in at least RELAX NG and DTD.

+
+
+ + + + Another completely spurious element made up for testing purposes only. + For information on what is being tested, see remarks. + + + + + + + + + + + + + +

Here we are testing the Schematron that tests for duplicate + atttribute defintions, i.e. no_duplicate_attrs.

+

This attList should be invalid because there + are two bad attributes defined as siblings.

+

Note that because this element is not a member of any + model class nor in any other element’s content model, it + will probably not show up in an output schema, which is + a good thing, becase defining an attribute twice like + that is an error in at least RELAX NG and DTD.

+
+
+ + + + Another completely spurious element made up for testing purposes only. + For information on what is being tested, see remarks. + + + + + + + + + + + + + + + + + +

Here we are testing the Schematron that tests for duplicate + atttribute defintions, i.e. no_duplicate_attrs.

+

This attList should be valid because, + although there are three fun attributes + defined as siblings, they are in alternation with one + another.

+

Note that because this element is not a member of any + model class nor in any other element’s content model, it + will probably not show up in an output schema.

+
+
+ + + + Another completely spurious element made up for testing purposes only. + For information on what is being tested, see remarks. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Here we are testing the Schematron that tests for duplicate + atttribute defintions, i.e. no_duplicate_attrs.

+

This attList should be invalid because there + are both two my and two your + attributes defined, and although each is in an alternate + group, the two my attributes are not in + alternation with one another (nor are the two + yours).

+

Note that the Your vs your and + The vs the are not problems at all + — XML is completely case sensitive, those are different + attributes.

+

Note that because this element is not a member of any + model class nor in any other element’s content model, it + will probably not show up in an output schema, which is + a good thing, becase defining an attribute twice like + that is an error in at least RELAX NG and DTD.

+
+
+ + + + Another completely spurious element made up for testing purposes only. + For information on what is being tested, see remarks. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Here we are testing the Schematron that tests for duplicate + atttribute defintions, i.e. no_duplicate_attrs.

+

This attList should be valid because although there + are both two my and two your + attributes defined that are not in alternation, they are + in different namespaces.

+

Note that the Your vs your and + The vs the are not problems at all + — XML is completely case sensitive, those are different + attributes.

+

Note that because this element is not a member of any + model class nor in any other element’s content model, it + will probably not show up in an output schema, which is + a good thing, becase defining an attribute twice like + that is an error in at least RELAX NG and DTD.

+
+
+ + + + Another completely spurious element made up for testing purposes only. + For information on what is being tested, see remarks. + + + + + + + + + + + + + + + + + + + + + + +

Here we are testing the Schematron that tests for duplicate + atttribute defintions, i.e. no_duplicate_attrs.

+

This attList should be invalid due to the + two definitions of the the attribute, which + are not in alternation.

+

Note that because this element is not a member of any + model class nor in any other element’s content model, it + will probably not show up in an output schema, which is + a good thing, becase defining an attribute twice like + that is an error in at least RELAX NG and DTD.

+
+
+ diff --git a/P5/Test/expected-results/detest_odd_schematron.log b/P5/Test/expected-results/detest_odd_schematron.log index f077d3bd12..e828e2657e 100644 --- a/P5/Test/expected-results/detest_odd_schematron.log +++ b/P5/Test/expected-results/detest_odd_schematron.log @@ -36,6 +36,363 @@ validateodd: [xslt] The use of an <sch:assert> or <sch:report> that does not have a context (i.e., does not have an ancestor <sch:rule> with a @context attribute) in an ISO Schematron constraint specification is deprecated, and will become invalid after 2025-03-15. (( $assertsHaveContext, $reportsHaveContext ) = false() / warning) [xslt] The @scheme attribute of <constraintSpec> is required when the @mode is not specified. (@scheme) [xslt] The @scheme attribute of <constraintSpec> is required when the @mode is "replace". (@scheme) + [xslt] + [xslt] Within the attribute list defined in no_duplicate_attrs_1_invalid, + [xslt] the following attributes have been defined multiple times: bad. + [xslt] (count( $distinct_dups[ . ne ''] ) eq 0) + [xslt] + [xslt] Within the attribute list defined in no_duplicate_attrs_3_invalid, + [xslt] the following attributes have been defined multiple times: my your. + [xslt] (count( $distinct_dups[ . ne ''] ) eq 0) + [xslt] + [xslt] Within the attribute list defined in no_duplicate_attrs_4_invalid, + [xslt] the following attributes have been defined multiple times: the. + [xslt] (count( $distinct_dups[ . ne ''] ) eq 0) + [xslt] + [xslt] Attribute: the definition of the @bad attribute in the + [xslt] no_duplicate_attrs_1_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @good attribute in the + [xslt] no_duplicate_attrs_1_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @better attribute in the + [xslt] no_duplicate_attrs_1_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @best attribute in the + [xslt] no_duplicate_attrs_1_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @bad attribute in the + [xslt] no_duplicate_attrs_1_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @bad attribute in the + [xslt] no_duplicate_attrs_1_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @good attribute in the + [xslt] no_duplicate_attrs_1_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @better attribute in the + [xslt] no_duplicate_attrs_1_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @best attribute in the + [xslt] no_duplicate_attrs_1_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @bad attribute in the + [xslt] no_duplicate_attrs_1_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @have attribute in the + [xslt] no_duplicate_attrs_2_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @fun attribute in the + [xslt] no_duplicate_attrs_2_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @fun attribute in the + [xslt] no_duplicate_attrs_2_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @fun attribute in the + [xslt] no_duplicate_attrs_2_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @til attribute in the + [xslt] no_duplicate_attrs_2_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @her attribute in the + [xslt] no_duplicate_attrs_2_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @daddy attribute in the + [xslt] no_duplicate_attrs_2_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Your attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @My attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @spirit attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @and attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @my attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @your attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @voice attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @in attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @one attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @combined attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @The attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Phantom attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @of attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @the attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Opera attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @is attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @there attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Inside attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @my attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @your attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @mind attribute in the + [xslt] no_duplicate_attrs_3_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Your attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @My attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @spirit attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @and attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @my attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @your attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @voice attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @in attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @one attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @combined attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @The attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Phantom attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @of attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @the attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Opera attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @is attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @there attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @Inside attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @my attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @your attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @mind attribute in the + [xslt] no_duplicate_attrs_3_valid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @all attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @the attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @leaves attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @are attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @brown attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @and attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @the attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @sky attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @is attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) + [xslt] + [xslt] Attribute: the definition of the @gray attribute in the + [xslt] no_duplicate_attrs_4_invalid elementSpec should + [xslt] have a closed valList or a datatype + [xslt] (ancestor::teix:egXML[ @valid eq 'feasible'] or @mode eq 'change' or @mode eq 'delete' or tei:datatype or tei:valList[ @type eq 'closed']) [xslt] Since the @default-is-in-list-req attribute is required, it will always be specified. Thus the default value (of "ONE") will never be used. Either change the definition of the attribute so it is not required ("rec" or "opt"), or remove the defaultVal element. (tei:defaultVal) [xslt] Since the @default-NOT-in-list-req attribute is required, it will always be specified. Thus the default value (of "ONE") will never be used. Either change the definition of the attribute so it is not required ("rec" or "opt"), or remove the defaultVal element. (tei:defaultVal) [xslt] In the elementSpec defining diff --git a/P5/Test/expected-results/detest_xml_schematron.log b/P5/Test/expected-results/detest_xml_schematron.log index c2e7ec994c..38a78999d7 100644 --- a/P5/Test/expected-results/detest_xml_schematron.log +++ b/P5/Test/expected-results/detest_xml_schematron.log @@ -70,6 +70,15 @@ An lg element must contain at least one child l, lg, or gap element. (count(desc @calendar indicates one or more systems or calendars to which the date represented by the content of this element belongs, but this date element has no textual content. (string-length( normalize-space(.) ) gt 0) + + divs of type 'canon' may contain only one 'canonText' + (@type eq 'canon' and count( tei:div[ @type eq 'canonText'] ) gt 1) + + divs of type 'canon' may not be nested + (@type eq 'canon' and parent::tei:div/@type eq 'canon') + + divs of type 'canon' may not be nested within 'register' + (@type eq 'canon' and parent::tei:div/@type eq 'register') You may not nest one s element within another: use seg instead (tei:s) Only one of the attributes @target and @from may be supplied on span