diff --git a/P5/Exemplars/tei_jtei.odd b/P5/Exemplars/tei_jtei.odd
index 8b6cc05f9b..addd4b6d99 100644
--- a/P5/Exemplars/tei_jtei.odd
+++ b/P5/Exemplars/tei_jtei.odd
@@ -3061,18 +3061,16 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/att.declarable.xml b/P5/Source/Specs/att.declarable.xml
index fde0d43a6f..8e854518d0 100644
--- a/P5/Source/Specs/att.declarable.xml
+++ b/P5/Source/Specs/att.declarable.xml
@@ -12,6 +12,25 @@
decls.
proporciona atributos para los elementos contenidos en el encabezado que pueden ser seleccionados autónomamente mediante el atributo decls adecuado.
individua attributi per gli elementi contenuti nell'intestazione che possono essere selezionati autonomamente grazie all'apposito attributo decls
+
+
+
+
+
+
+ When there is more than one , each must have an @xml:id
+
+
+ When there is more than one , one and only one must have a @default of 'true'.
+
+
+
+
+
indicates whether or not this element is selected by default when
@@ -61,7 +80,7 @@ il est sélectionné si son parent a été choisi
Les règles régissant l'association d'éléments déclarables avec des parties
individuelles d'un texte TEI sont entièrement définies
- au chap1itre . Un seul élément
+ au chap1itre . Un seul élément
d'un type particulier peut avoir un attribut default avec une valeur
true.
diff --git a/P5/Source/Specs/availability.xml b/P5/Source/Specs/availability.xml
index 010c7d808f..dc17c1bbe1 100644
--- a/P5/Source/Specs/availability.xml
+++ b/P5/Source/Specs/availability.xml
@@ -26,6 +26,13 @@
+
+
+
+
+
+
+
status
diff --git a/P5/Source/Specs/bibl.xml b/P5/Source/Specs/bibl.xml
index 0ee30b97b8..2f36b3a4b8 100644
--- a/P5/Source/Specs/bibl.xml
+++ b/P5/Source/Specs/bibl.xml
@@ -34,20 +34,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Blain, Clements and Grundy: Feminist Companion to Literature in English (Yale,
diff --git a/P5/Source/Specs/biblFull.xml b/P5/Source/Specs/biblFull.xml
index c65a5a3260..788b662ad2 100644
--- a/P5/Source/Specs/biblFull.xml
+++ b/P5/Source/Specs/biblFull.xml
@@ -48,6 +48,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/biblStruct.xml b/P5/Source/Specs/biblStruct.xml
index 49e90392f6..807325b559 100644
--- a/P5/Source/Specs/biblStruct.xml
+++ b/P5/Source/Specs/biblStruct.xml
@@ -44,6 +44,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/broadcast.xml b/P5/Source/Specs/broadcast.xml
index 5f70757d2d..e4465048a0 100644
--- a/P5/Source/Specs/broadcast.xml
+++ b/P5/Source/Specs/broadcast.xml
@@ -19,12 +19,19 @@
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/correction.xml b/P5/Source/Specs/correction.xml
index 7485ac1ba7..21304672ce 100644
--- a/P5/Source/Specs/correction.xml
+++ b/P5/Source/Specs/correction.xml
@@ -28,10 +28,15 @@
-
-
-
+
+
+
+
+
+
+
+
indicates the degree of correction applied to the text.
diff --git a/P5/Source/Specs/correspDesc.xml b/P5/Source/Specs/correspDesc.xml
index 6492b10365..b2bf4965a4 100644
--- a/P5/Source/Specs/correspDesc.xml
+++ b/P5/Source/Specs/correspDesc.xml
@@ -19,14 +19,17 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/editorialDecl.xml b/P5/Source/Specs/editorialDecl.xml
index ccfde0faa9..f884877c02 100644
--- a/P5/Source/Specs/editorialDecl.xml
+++ b/P5/Source/Specs/editorialDecl.xml
@@ -24,13 +24,18 @@ during the encoding of a text.
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/equipment.xml b/P5/Source/Specs/equipment.xml
index be041a16a7..1730a169a8 100644
--- a/P5/Source/Specs/equipment.xml
+++ b/P5/Source/Specs/equipment.xml
@@ -22,10 +22,15 @@ an audio or video recording used as the source for a spoken text.
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/geoDecl.xml b/P5/Source/Specs/geoDecl.xml
index 2bea67d56e..3e2c2ec2a8 100644
--- a/P5/Source/Specs/geoDecl.xml
+++ b/P5/Source/Specs/geoDecl.xml
@@ -27,6 +27,13 @@
+
+
+
+
+
+
+
supplies a commonly used code name for the datum employed.
diff --git a/P5/Source/Specs/hyphenation.xml b/P5/Source/Specs/hyphenation.xml
index 1677d86760..80ec28180e 100644
--- a/P5/Source/Specs/hyphenation.xml
+++ b/P5/Source/Specs/hyphenation.xml
@@ -23,10 +23,15 @@
-
-
-
+
+
+
+
+
+
+
+
end-of-line
diff --git a/P5/Source/Specs/interpretation.xml b/P5/Source/Specs/interpretation.xml
index 2e7ca73818..f16f744b30 100644
--- a/P5/Source/Specs/interpretation.xml
+++ b/P5/Source/Specs/interpretation.xml
@@ -23,10 +23,15 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/langUsage.xml b/P5/Source/Specs/langUsage.xml
index 280e23c2f7..609d1489f6 100644
--- a/P5/Source/Specs/langUsage.xml
+++ b/P5/Source/Specs/langUsage.xml
@@ -23,15 +23,18 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/listApp.xml b/P5/Source/Specs/listApp.xml
index 08e9ffab00..0f9418feef 100644
--- a/P5/Source/Specs/listApp.xml
+++ b/P5/Source/Specs/listApp.xml
@@ -27,7 +27,14 @@
-
+
+
+
+
+
+
+
+
In the following example from the exegetical Yasna, the base text is encoded in the body of
the document, and two separate listApp elements are used in the back, containing
variant readings written in different scripts.
diff --git a/P5/Source/Specs/listBibl.xml b/P5/Source/Specs/listBibl.xml
index 9662903c2d..3eb2240830 100644
--- a/P5/Source/Specs/listBibl.xml
+++ b/P5/Source/Specs/listBibl.xml
@@ -46,6 +46,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/listEvent.xml b/P5/Source/Specs/listEvent.xml
index d89721f309..95f4702e35 100644
--- a/P5/Source/Specs/listEvent.xml
+++ b/P5/Source/Specs/listEvent.xml
@@ -34,6 +34,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/listNym.xml b/P5/Source/Specs/listNym.xml
index 9b9ef762d1..1199d6e3c2 100644
--- a/P5/Source/Specs/listNym.xml
+++ b/P5/Source/Specs/listNym.xml
@@ -22,26 +22,33 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/listObject.xml b/P5/Source/Specs/listObject.xml
index d199aacb7a..5a06aa29ff 100644
--- a/P5/Source/Specs/listObject.xml
+++ b/P5/Source/Specs/listObject.xml
@@ -35,6 +35,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/listOrg.xml b/P5/Source/Specs/listOrg.xml
index af7e93c607..015d2011ea 100644
--- a/P5/Source/Specs/listOrg.xml
+++ b/P5/Source/Specs/listOrg.xml
@@ -46,6 +46,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/listPerson.xml b/P5/Source/Specs/listPerson.xml
index eed80e38cb..3755e1e0fd 100644
--- a/P5/Source/Specs/listPerson.xml
+++ b/P5/Source/Specs/listPerson.xml
@@ -55,6 +55,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/listPlace.xml b/P5/Source/Specs/listPlace.xml
index a844d08e1b..33a239c33c 100644
--- a/P5/Source/Specs/listPlace.xml
+++ b/P5/Source/Specs/listPlace.xml
@@ -47,6 +47,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/metDecl.xml b/P5/Source/Specs/metDecl.xml
index f3e72c6e9d..075eb2d422 100644
--- a/P5/Source/Specs/metDecl.xml
+++ b/P5/Source/Specs/metDecl.xml
@@ -42,17 +42,20 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
indicates whether the notation conveys the abstract metrical form, its actual prosodic
diff --git a/P5/Source/Specs/normalization.xml b/P5/Source/Specs/normalization.xml
index 662a5858d9..b9c47ed4eb 100644
--- a/P5/Source/Specs/normalization.xml
+++ b/P5/Source/Specs/normalization.xml
@@ -23,6 +23,13 @@
+
+
+
+
+
+
+
- participation description
- 참여 기술
- 參與描述
- description des participants
- descripción de participación
- descrizione dei partecipanti
- describes the identifiable speakers, voices, or
- other participants in any kind of text or other persons named or otherwise referred to in a
- text, edition, or metadata.
- 언어적 상호작용에서 식별가능한 화자, 음성, 또는 기타 참여자를 기술한다.
- 描述在一個語言互動中可辨識的說話者、聲音或其他參與者。
- 言語交流における、特定可能な発話者、声、その他の参加者を示す。
- décrit les locuteurs, voix ou autres participants
- identifiables d'une interaction linguistique.
- describe los hablantes identificables, voces u
- otros participantes de una interacción lingüística.
- descrive parlanti, voci o altri parlanti
- identificabili in una interazione linguistica.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Female informant, well-educated, born in
- Shropshire UK, 12 Jan 1950, of unknown occupation. Speaks French fluently.
- Socio-Economic status B2.
- Hancock Antony Aloysius
- St John
-
- Railway Cuttings
- East Cheam
-
- comedian
-
- This example shows both a very simple person description, and a very detailed one, using
- some of the more specialized elements from the module for Names and Dates.
-
-
- informateur, sexe féminin, bonne éducation, née
- à Shropshire UK, 12 Jan 1950, commerçante parle français couramment., Statut
+ participation description
+ 참여 기술
+ 參與描述
+ description des participants
+ descripción de participación
+ descrizione dei partecipanti
+ describes the identifiable speakers, voices, or
+ other participants in any kind of text or other persons named or otherwise referred to in a
+ text, edition, or metadata.
+ 언어적 상호작용에서 식별가능한 화자, 음성, 또는 기타 참여자를 기술한다.
+ 描述在一個語言互動中可辨識的說話者、聲音或其他參與者。
+ 言語交流における、特定可能な発話者、声、その他の参加者を示す。
+ décrit les locuteurs, voix ou autres participants
+ identifiables d'une interaction linguistique.
+ describe los hablantes identificables, voces u
+ otros participantes de una interacción lingüística.
+ descrive parlanti, voci o altri parlanti
+ identificabili in una interazione linguistica.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Female informant, well-educated, born in
+ Shropshire UK, 12 Jan 1950, of unknown occupation. Speaks French fluently.
+ Socio-Economic status B2.
+ Hancock Antony Aloysius
+ St John
+
+ Railway Cuttings
+ East Cheam
+
+ comedian
+
+ This example shows both a very simple person description, and a very detailed one, using
+ some of the more specialized elements from the module for Names and Dates.
+
+
+ informateur, sexe féminin, bonne éducation, née
+ à Shropshire UK, 12 Jan 1950, commerçante parle français couramment., Statut
socio-économique (SSE) : commerçant.
Delaunay Liliane
Andrée Alberte
- rue de Falaise
- la Guérinière, Caen
-
+ rue de Falaise
+ la Guérinière, Caen
+
serveuse
- Cet exemple montre une description très
+
Cet exemple montre une description très
simple d'une personne et une description très détaillée, utilisant quelques éléments
plus spécialisés du module pour les noms et les dates.
-
-
-
-
- 女性,穿了一件黑紗金絲相間的緊身旗袍,一個大道士髻梳得烏光水滑的高聳在頭頂上;耳墜、項鍊、手串、髮針、金碧輝煌的掛滿了一身。
金 兆麗
- 金大班
-
- 西門町
- 台北
-
- 舞女
-
-
-
- May contain a prose description organized as paragraphs, or a structured
- list of persons and person groups, with an optional formal specification of any
- relationships amongst them.
-
-
- Peut contenir un texte organisé en paragraphes ou une liste structurée de
- personnes, ou encore de groupes de personne, avec facultativement des spécifications
- formelles des rapports qui les unissent.
-
-
- 段落としてある散文の解説または、関連性の形式定義を選択的に持つ、人 物やグループの構造化リストが示されるかもしれない。
-
-
-
-
-
+
+
+
+
+ 女性,穿了一件黑紗金絲相間的緊身旗袍,一個大道士髻梳得烏光水滑的高聳在頭頂上;耳墜、項鍊、手串、髮針、金碧輝煌的掛滿了一身。
金 兆麗
+ 金大班
+
+ 西門町
+ 台北
+
+ 舞女
+
+
+
+ May contain a prose description organized as
+ paragraphs, or a structured list of persons and person groups,
+ with an optional formal specification of any relationships amongst
+ them.
+
+
+ Peut contenir un texte organisé en paragraphes
+ ou une liste structurée de personnes, ou encore de groupes de
+ personne, avec facultativement des spécifications formelles des
+ rapports qui les unissent.
+
+
+ 段落としてある散文の解説または、関連性の形式定義を選択的に持つ、人 物やグループの構造化リストが示されるかもしれない。
+
+
+
+
+
diff --git a/P5/Source/Specs/projectDesc.xml b/P5/Source/Specs/projectDesc.xml
index 882ca060a9..f9e9d567ff 100644
--- a/P5/Source/Specs/projectDesc.xml
+++ b/P5/Source/Specs/projectDesc.xml
@@ -33,10 +33,15 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/punctuation.xml b/P5/Source/Specs/punctuation.xml
index 98d7d89a47..75e983bc08 100644
--- a/P5/Source/Specs/punctuation.xml
+++ b/P5/Source/Specs/punctuation.xml
@@ -11,6 +11,13 @@
+
+
+
+
+
+
+
indicates whether or not punctation marks have been retained as content within the text.
diff --git a/P5/Source/Specs/quotation.xml b/P5/Source/Specs/quotation.xml
index a883db29ee..433ebb244f 100644
--- a/P5/Source/Specs/quotation.xml
+++ b/P5/Source/Specs/quotation.xml
@@ -20,6 +20,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/recording.xml b/P5/Source/Specs/recording.xml
index 2dd5b94529..5041781015 100644
--- a/P5/Source/Specs/recording.xml
+++ b/P5/Source/Specs/recording.xml
@@ -30,13 +30,18 @@ a public broadcast.
-
-
+
-
-
+
+
+
+
+
+
+
+
the kind of recording.
diff --git a/P5/Source/Specs/refsDecl.xml b/P5/Source/Specs/refsDecl.xml
index 07fa0d883e..f9f937e311 100644
--- a/P5/Source/Specs/refsDecl.xml
+++ b/P5/Source/Specs/refsDecl.xml
@@ -31,6 +31,13 @@
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/samplingDecl.xml b/P5/Source/Specs/samplingDecl.xml
index 76a6cefb62..6cdbcce47d 100644
--- a/P5/Source/Specs/samplingDecl.xml
+++ b/P5/Source/Specs/samplingDecl.xml
@@ -28,10 +28,15 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/scriptStmt.xml b/P5/Source/Specs/scriptStmt.xml
index dfcf343b42..fd47ff6b99 100644
--- a/P5/Source/Specs/scriptStmt.xml
+++ b/P5/Source/Specs/scriptStmt.xml
@@ -27,12 +27,17 @@ a spoken text.
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/segmentation.xml b/P5/Source/Specs/segmentation.xml
index 0d6cd5c060..1aefb22a26 100644
--- a/P5/Source/Specs/segmentation.xml
+++ b/P5/Source/Specs/segmentation.xml
@@ -24,10 +24,15 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/seriesStmt.xml b/P5/Source/Specs/seriesStmt.xml
index 0831685812..dd0a2eb024 100644
--- a/P5/Source/Specs/seriesStmt.xml
+++ b/P5/Source/Specs/seriesStmt.xml
@@ -1,7 +1,7 @@
-
+
series statement
mention de collection
연속간행물 진술
@@ -26,28 +26,27 @@
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/settingDesc.xml b/P5/Source/Specs/settingDesc.xml
index 065710e7b8..8d0a9a0f5b 100644
--- a/P5/Source/Specs/settingDesc.xml
+++ b/P5/Source/Specs/settingDesc.xml
@@ -2,76 +2,79 @@
- setting description
- 무대 기술
- 背景描述
- description du contexte
- descripción de realización
- descrizione dello scenario
- describes the setting or settings within which a
- language interaction takes place, or other places otherwise referred to in a text, edition,
- or metadata.
- 언어적 상호작용이 발생하는 무대 또는 배경을 산문적 기술로서 또는 일련의 무대 요소로서
- 기술한다.
- 描述語言互動所發生的一個或多個背景,可用一段散文描述或是一系列的背景元素來表達。
- 言語交流が行われた状況設定を、散文または一連の要素settingに
- より示す。
- décrit le(s) contexte(s) dans lesquels se situe une
- interaction linguistique, soit sous la forme d'une description en prose, soit sous celle
- d'une série d'éléments décrivant le contexte.
- describe en prosa, o mediante una serie de
- elementos de realización, la realización o realizaciones dentro de las cuales una
- interacción lingüística tiene lugar.
- descrive lo scenario o gli scenari nei quali si
- svolge l'interazione linuistica, sia in forma di prosa descrittiva sia con elementi di
- scenario.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Texts recorded in the
- Canadian Parliament building in Ottawa, between April and November 1988
-
-
-
- Pierre Mendès France,
- Entretiens avec Jean Lacouture (1980-1981 )
-
-
-
- 文本錄於渥太華的加拿大國會大廈,介於1988年4月至11月間
-
-
- May contain a prose description organized as paragraphs, or a series of
- setting elements. If used to record not settings of language interactions, but
- other places mentioned in the text, then place optionally grouped by
- listPlace inside standOff should be preferred.
-
-
- Peut contenir un texte organisé en paragraphes ou une série d'éléments
- setting.
-
-
- 段落レベルの散文、または一連の要素settingを含むかもしれない。
-
-
-
-
-
+ setting description
+ 무대 기술
+ 背景描述
+ description du contexte
+ descripción de realización
+ descrizione dello scenario
+ describes the setting or settings within which a
+ language interaction takes place, or other places otherwise referred to in a text, edition,
+ or metadata.
+ 언어적 상호작용이 발생하는 무대 또는 배경을 산문적 기술로서 또는 일련의 무대 요소로서
+ 기술한다.
+ 描述語言互動所發生的一個或多個背景,可用一段散文描述或是一系列的背景元素來表達。
+ 言語交流が行われた状況設定を、散文または一連の要素settingに
+ より示す。
+ décrit le(s) contexte(s) dans lesquels se situe une
+ interaction linguistique, soit sous la forme d'une description en prose, soit sous celle
+ d'une série d'éléments décrivant le contexte.
+ describe en prosa, o mediante una serie de
+ elementos de realización, la realización o realizaciones dentro de las cuales una
+ interacción lingüística tiene lugar.
+ descrive lo scenario o gli scenari nei quali si
+ svolge l'interazione linuistica, sia in forma di prosa descrittiva sia con elementi di
+ scenario.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Texts recorded in the
+ Canadian Parliament building in Ottawa, between April and November 1988
+
+
+
+ Pierre Mendès France,
+ Entretiens avec Jean Lacouture (1980-1981 )
+
+
+
+ 文本錄於渥太華的加拿大國會大廈,介於1988年4月至11月間
+
+
+ May contain a prose description organized as paragraphs, or a series of
+ setting elements. If used to record not settings of language interactions, but
+ other places mentioned in the text, then place optionally grouped by
+ listPlace inside standOff should be preferred.
+
+
+ Peut contenir un texte organisé en paragraphes ou une série d'éléments
+ setting.
+
+
+ 段落レベルの散文、または一連の要素settingを含むかもしれない。
+
+
+
+
+
diff --git a/P5/Source/Specs/sourceDesc.xml b/P5/Source/Specs/sourceDesc.xml
index 112c578ee3..15a8a50cea 100644
--- a/P5/Source/Specs/sourceDesc.xml
+++ b/P5/Source/Specs/sourceDesc.xml
@@ -31,14 +31,21 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/stdVals.xml b/P5/Source/Specs/stdVals.xml
index de485edd27..e82da3c21a 100644
--- a/P5/Source/Specs/stdVals.xml
+++ b/P5/Source/Specs/stdVals.xml
@@ -27,10 +27,15 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/styleDefDecl.xml b/P5/Source/Specs/styleDefDecl.xml
index 732a376627..21cc23bc6c 100644
--- a/P5/Source/Specs/styleDefDecl.xml
+++ b/P5/Source/Specs/styleDefDecl.xml
@@ -13,10 +13,15 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/textClass.xml b/P5/Source/Specs/textClass.xml
index 7539b2c161..2c9f0d92d1 100644
--- a/P5/Source/Specs/textClass.xml
+++ b/P5/Source/Specs/textClass.xml
@@ -30,14 +30,19 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/textDesc.xml b/P5/Source/Specs/textDesc.xml
index 7d7fe94e0e..1a405db9af 100644
--- a/P5/Source/Specs/textDesc.xml
+++ b/P5/Source/Specs/textDesc.xml
@@ -26,11 +26,16 @@ situational parameters.
-
-
-
+
+
+
+
+
+
+
+
diff --git a/P5/Source/Specs/xenoData.xml b/P5/Source/Specs/xenoData.xml
index 632f17a0ba..08c0093bcd 100644
--- a/P5/Source/Specs/xenoData.xml
+++ b/P5/Source/Specs/xenoData.xml
@@ -19,6 +19,13 @@
+
+
+
+
+
+
+
This example presumes that the prefix dc
has been bound to the namespace
http://purl.org/dc/elements/1.1/
and the prefix rdf
is bound to
@@ -35,17 +42,17 @@
The description of a new world, called the blazing-world
- The Duchess of Newcastle
- 1667
- British Library, 8407.h.10
- utopian fiction
+ The Duchess of Newcastle
+ 1667
+ British Library, 8407.h.10
+ utopian fiction
- The Description of a New World, Called the Blazing-World, 1668
- Cavendish, Margaret (Lucas), Duchess of Newcastle
- Women Writers Project
- 2002-02-12
- utopian fiction
+ The Description of a New World, Called the Blazing-World, 1668
+ Cavendish, Margaret (Lucas), Duchess of Newcastle
+ Women Writers Project
+ 2002-02-12
+ utopian fiction
@@ -61,21 +68,21 @@
dc
is bound to the namespace http://purl.org/dc/elements/1.1/
, and the prefix
cc
is bound to the namespace http://web.resource.org/cc/
.
-
-
- Applied Software Project Management - review
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ Applied Software Project Management - review
+
+
+
+
+
+
+
+
+
+
+
+
@@ -85,39 +92,39 @@
oai_dc
is bound to the namespace http://www.openarchives.org/OAI/2.0/oai_dc/
.
- The colonial despatches of Vancouver Island and British
- Columbia 1846-1871: 11566, CO 60/2, p. 291; received 13 November.
- Trevelyan to Merivale (Permanent Under-Secretary)
- 1858-11-12
- Trevelyan
- University of Victoria Humanities Computing and Media
- Centre, and UVic Libraries
- InteractiveResource
- application/xhtml+xml
- text
- http://bcgenesis.uvic.ca/getDoc.htm?id=B585TE13.scx
- This document is licensed under a Creative Commons …
- (SCHEME=ISO639) en
- Transcribed from microfilm and/or original documents, and
- marked up in TEI P5 XML. The interactive XHTML resource is generated
- from the XHTML using XQuery and XSLT.
- repository: CO
- coNumber: 60
- coVol: 2
- page: 291
- coRegistration: 11566
- received: received 13 November
- Trevelyan, Sir Charles Edward
- Merivale, Herman
- Elliot, T. Frederick
- Moody, Colonel Richard Clement
- Lytton, Sir Edward George Earle Bulwer
- Jadis, Vane
- Carnarvon, Earl
- British Columbia
- British Columbia correspondence: Public Offices
- document (normally correspondence between government
- departments)
+ The colonial despatches of Vancouver Island and British
+ Columbia 1846-1871: 11566, CO 60/2, p. 291; received 13 November.
+ Trevelyan to Merivale (Permanent Under-Secretary)
+ 1858-11-12
+ Trevelyan
+ University of Victoria Humanities Computing and Media
+ Centre, and UVic Libraries
+ InteractiveResource
+ application/xhtml+xml
+ text
+ http://bcgenesis.uvic.ca/getDoc.htm?id=B585TE13.scx
+ This document is licensed under a Creative Commons …
+ (SCHEME=ISO639) en
+ Transcribed from microfilm and/or original documents, and
+ marked up in TEI P5 XML. The interactive XHTML resource is generated
+ from the XHTML using XQuery and XSLT.
+ repository: CO
+ coNumber: 60
+ coVol: 2
+ page: 291
+ coRegistration: 11566
+ received: received 13 November
+ Trevelyan, Sir Charles Edward
+ Merivale, Herman
+ Elliot, T. Frederick
+ Moody, Colonel Richard Clement
+ Lytton, Sir Edward George Earle Bulwer
+ Jadis, Vane
+ Carnarvon, Earl
+ British Columbia
+ British Columbia correspondence: Public Offices
+ document (normally correspondence between government
+ departments)
@@ -127,49 +134,49 @@
namespace http://www.loc.gov/mods/v3
.
-
-
- Academic adaptation and cross-cultural
- learning experiences of Chinese students at American
- universities
- a narrative inquiry
-
-
-
-
- Author
-
- Northeastern University
- Hong
- Zhang
-
-
-
-
- Advisor
-
- Liliana
- Meneses
-
-
- text
- doctoral theses
-
-
- Boston (Mass.)
-
- Northeastern University
- 2013
-
-
- eng
-
-
- electronic
- born digital
-
-
-
+
+
+ Academic adaptation and cross-cultural
+ learning experiences of Chinese students at American
+ universities
+ a narrative inquiry
+
+
+
+
+ Author
+
+ Northeastern University
+ Hong
+ Zhang
+
+
+
+
+ Advisor
+
+ Liliana
+ Meneses
+
+
+ text
+ doctoral theses
+
+
+ Boston (Mass.)
+
+ Northeastern University
+ 2013
+
+
+ eng
+
+
+ electronic
+ born digital
+
+
+
diff --git a/P5/Test/Makefile b/P5/Test/Makefile
index 7eabe36634..0dba433951 100644
--- a/P5/Test/Makefile
+++ b/P5/Test/Makefile
@@ -106,29 +106,47 @@ detest: checkrnv
@echo " "
@echo "--------- work on target $@ ---------"
@echo BUILD: Test file with deliberate mistakes
- @echo "--- run ant to validate ODD file (./detest.odd):"
-# Note that output below is called 'detest_odd_schematron' because if there
-# is a RelaxNG error the build dies and no output is generated
+ @echo "--- run ant to validate ODD file (./detest.odd) against p5odds.rng & p5odds.isosch:"
$(ANT) -f antruntest.xml -Doutputname=detest -DoddFile=detest.odd validateodd > detest_odd_schematron.log 2>&1
- @echo "--- run ant to compile ODD file inoto RelaxNG and Schematron"
- @echo "(detest.odd → detest.rng & detest.isosch):"
- $(ANT) -f antruntest.xml -Doutputname=detest -DoddFile=detest.odd compileodd rng isoschematron cleanup
- @echo "--- convert RelaxNG to compact syntax with trang (detest.rng → detest.rnc):"
+# If a RELAX NG error is found by the above cmd, it dies, and this (the "detest") target fails.
+# Any Schematron errors that are found are written to detest_odd_schematron.svrl.
+ @echo "--- run ant to compile ODD file into RelaxNG and Schematron (detest.odd → detest.rng & detest.isosch):"
+ $(ANT) -f antruntest.xml -Doutputname=detest -DoddFile=detest.odd compileodd rng isoschematron
+ @echo "--- convert RelaxNG to compact syntax with trang (./detest.rng → ./detest.rnc):"
${TRANG} detest.rng detest.rnc
- @echo "-- validate XML file (detest.xml) against RelaxNG schema (detest.rnc) using rnv:"
+ @echo "-- validate XML file (./detest.xml) against RelaxNG schema (./detest.rnc) using rnv:"
-rnv detest.rnc detest.xml > detest_xml_relaxng.log 2>&1
- @echo "--- validate XML file against Schematron using Saxon:"
- $(SAXON) -s:detest.xml -xsl:detest.xsl > detest_xml_schematron.log 2>&1
+ @echo "--- validate XML file (./detest.xml) against Schematron (./detest.xsl) using Saxon:"
+ $(SAXON) -s:detest.xml -xsl:detest.xsl > detest.svrl
+ @echo --- Extract only the messages from the resulting SVRL
+ $(SAXON) -s:detest.svrl -xsl:../Utilities/svrl_text_only.xslt -o:detest_xml_schematron.log
@echo "--- compare each of the 3 log files just created to the corresponding one in expected-results/:"
-# Note on following somewhat complicated 'diff' command:
-# The log file contains some lines (like "Processing…" and "Loading…") that include filepaths that are different
-# when executed in different environments (like the Travis server, e.g.). Thus rather than comparing the files
-# directly, we delete those lines first, and compare the results of deletions.
- bash -c "diff -C0 -bBw \
- <(grep -F '[xslt]' expected-results/detest_odd_schematron.log | grep -Ev 'xslt\] Processing.*detest.odd|xslt\] Loading.*message.isosch.xsl') \
- <(grep -F '[xslt]' ./detest_odd_schematron.log | grep -Ev 'xslt\] Processing.*detest.odd|xslt\] Loading.*message.isosch.xsl')"
diff -C0 -bBw expected-results/detest_xml_relaxng.log ./
diff -C0 -bBw expected-results/detest_xml_schematron.log ./
+# Note on following somewhat complicated 'diff' command:
+# The SVRL file contains lots of stuff, like timestamps,
+# filepaths, and auto-assigned namespace prefixes that are
+# different when executed in different environments (like the
+# Travis server, e.g.). Thus rather than comparing the files
+# directly, we extract only the elements first, and
+# compare the results of only that. (Yes, it would be more
+# efficient to store expected-results/detest_odd_schematron.txt
+# in the repo rather than generating it every time it is to be
+# tested, but it seems to me this generation process is wonky
+# enough that it would be difficult to reproduce every time the
+# Schematron is updated.)
+ @xmllint --xpath '//*[local-name(.)="text"]/text()[normalize-space(.)!=""]' \
+ expected-results/detest_odd_schematron.svrl \
+ | perl -pe 's, +, ,g;' \
+ | egrep -v '^ *$$' \
+ > expected-results/detest_odd_schematron.txt
+ @xmllint --xpath '//*[local-name(.)="text"]/text()[normalize-space(.)!=""]' \
+ detest_odd_schematron.svrl \
+ | perl -pe 's, +, ,g;' \
+ | egrep -v '^ *$$' \
+ > detest_odd_schematron.txt
+ diff -C0 -bBw expected-results/detest_odd_schematron.txt ./
+
clean:
@echo " "
diff --git a/P5/Test/antruntest.xml b/P5/Test/antruntest.xml
index 951e0c5d71..9fce024ca7 100644
--- a/P5/Test/antruntest.xml
+++ b/P5/Test/antruntest.xml
@@ -176,12 +176,12 @@
Validate ${oddFile} as ODD ...
... against RelaxNG (../p5odds.rng) with jing ...
- ... against Schematron (../p5odds.message.isosch.xsl) with Saxon via trax
+ ... against Schematron (../p5odds.isosch.xsl) with Saxon via trax
+ out="detest_odd_schematron.svrl">
@@ -218,13 +218,13 @@
-
+
Validate using Schematron
-
+
diff --git a/P5/Test/detest.xml b/P5/Test/detest.xml
index 8e2b4719d1..8c729fbdd5 100644
--- a/P5/Test/detest.xml
+++ b/P5/Test/detest.xml
@@ -1,5 +1,5 @@
-
+
@@ -9,7 +9,30 @@
Unpublished
- Born digital
+ Born digital
+ This sourceDesc is in error because it has a sibling
+ sourceDesc but does not have an xml:id.
+
+
+ This sequence of elements
+ should not raise any
+ errors, at least not
+ any from the att-declarable
+ constraint specification.
+
+
+ This sequence of elements
+ should raise an
+ error because there no
+ siblings with a @default of
+ "true" (or "1").
+
+
+ This sequence of elements
+ should raise an
+ error because there are
+ two siblings with a @default
+ of "true" (or "1").
@@ -82,7 +105,7 @@
Testing schematron constraints
- sicut erat in
+ sicut erat in
freddy principia
-
@@ -91,14 +114,14 @@
cats
-
+
-
+
Added by MDH. This tests the Schematron constraint that any
element with calendar must have some textual
content.
-
+
For CMC
@@ -136,17 +159,17 @@
That one (just to my left) is illegal
as is that one
and that one
-
-
-
+
+
+
-
+
+
Canon 2
hello
@@ -157,35 +180,42 @@
A 2nd Canon Text
hello
-
-
+
+
-
+
+
-
+
+
This sentence contains
an illegally nested phrase
and should trigger a schematron squawk
-
+
+
- Testing multiple occurences of a datatype in a single
- attribute value. The following should be valid:
- minimum
- min +1 unless ≤, in which case max
- max
-
+ Testing multiple occurences of a datatype in a single
+ attribute value. The following should be valid:
+
minimum
+
min +1 unless ≤, in which case max
+
max
+
@@ -234,15 +264,15 @@
Some transcribed text with subst errors
... are all included. It is
- Tthe expressed
+
Tthe expressed
that he and his Sister Miſs D —
-
who always lived with him, wd. be very
-
principally remembered in her Will.
+
who always lived with him, wd. be very
+
principally remembered in her Will.
ἐπιτρέψῃ [ἐπετρέψῃ] τῷ ὑποδέκτῃ μὴ ὀχλῆσαι
τῶνα συνκυρόντωνα
- ἐργαστηρίωνα
+ ἐργαστηρί
ωνα
While pondering thus she mus'd,
- her pinions fann'd
+ her pinions fann'd
@@ -255,7 +285,7 @@
... freddy
-
+
Checking locally-changed attributes
freddy
@@ -278,45 +308,45 @@
- test msDesc elements that should not be repeated
-
Some manuscript description elements are supposed to occur
- a max of only once, even though RelaxNG allows infinite.
-
Added 2023-10-11 19:21 by Syd.
-
-
- MEL
- BB
- mel:bb:ve:08
- riddle of Strider
-
- occurs only once, thus valid
- occurs twice, thus invalid
- occurs twice, thus invalid
- three occurrences, thus invalid
- three occurrences, thus invalid
- three occurrences, thus invalid
- four occurrences, thus invalid
- four occurrences, thus invalid
- four occurrences, thus invalid
- four occurrences, thus invalid
-
-
The above msDesc should generate 3 errors, one
- each for physDesc, history, and
- additional.
-
-
- All that is gold does not glitter,
- Not all those who wander are lost;
- The old that is strong does not wither,
- Deep roots are not reached by the frost.
-
-
- From the ashes a fire shall be woken,
- A light from the shadows shall spring;
- Renewed shall be blade that was broken,
- The crownless again shall be king.
-
-
+ test msDesc elements that should not be repeated
+
Some manuscript description elements are supposed to occur
+ a max of only once, even though RelaxNG allows infinite.
+
Added 2023-10-11 19:21 by Syd.
+
+
+ MEL
+ BB
+ mel:bb:ve:08
+ riddle of Strider
+
+ occurs only once, thus valid
+ occurs twice, thus invalid
+ occurs twice, thus invalid
+ three occurrences, thus invalid
+ three occurrences, thus invalid
+ three occurrences, thus invalid
+ four occurrences, thus invalid
+ four occurrences, thus invalid
+ four occurrences, thus invalid
+ four occurrences, thus invalid
+
+
The above msDesc should generate 3 errors, one
+ each for physDesc, history, and
+ additional.
+
+
+ All that is gold does not glitter,
+ Not all those who wander are lost;
+ The old that is strong does not wither,
+ Deep roots are not reached by the frost.
+
+
+ From the ashes a fire shall be woken,
+ A light from the shadows shall spring;
+ Renewed shall be blade that was broken,
+ The crownless again shall be king.
+
+
Shift should have a new attribute
@@ -432,7 +462,7 @@
detest.odd because they would break
the build there
- See //elementSpec[@ident eq 'abbr']/listRef
in detest.odd
+ See //elementSpec[@ident eq 'abbr']/listRef
in detest.odd
[no target (2B caught by Schematron)]
[good target absolute URI](https://www.example.edu/tst)
diff --git a/P5/Test/expected-results/detest_odd_schematron.svrl b/P5/Test/expected-results/detest_odd_schematron.svrl
new file mode 100644
index 0000000000..80de33cbb0
--- /dev/null
+++ b/P5/Test/expected-results/detest_odd_schematron.svrl
@@ -0,0 +1,836 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SAXON/HE 10.3
+
+
+ 2024-11-28T04:54:34.433082Z
+
+
+
+
+ SchXslt/1.9.5 SAXON/HE 10.3
+ true
+
+
+ 2024-11-28T04:53:51.733947Z
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Error: both the versionDate and xml:lang attributes on "remarks" are required when it is a child of "elementSpec".
+
+
+
+
+ Error: both the versionDate and xml:lang attributes on "gloss" are required when it is a child of "elementSpec".
+
+
+
+ Error: both the versionDate and xml:lang attributes on "desc" are required when it is a child of "elementSpec".
+
+
+
+ Error: both the versionDate and xml:lang attributes on "gloss" are required when it is a child of "attDef".
+
+
+
+
+ Error: both the versionDate and xml:lang attributes on "remarks" are required when it is a child of "elementSpec".
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An element reference is not repeatable when part of a schema specification (and thus this <elementRef> should not have @minOccurs or @maxOccurs).
+
+
+
+
+ An element reference within a content model must refer to a locally defined element specification (and thus this <elementRef> should not have @source).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ In the context of tagset documentation, the listRef element must not self-nest.
+
+
+
+
+ In the context of tagset documentation, each ptr or ref element inside a listRef must have a target attribute with only 1 pointer as its value.
+
+
+
+
+
+ In the context of tagset documentation, each ptr or ref element inside a listRef must have a target attribute with only 1 pointer as its value.
+
+
+
+
+ class membership (in this case of l) should be specified in sorted order, except att.global goes first.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Rules in the ISO Schematron language must be inside a constraintSpec with the value 'schematron' on the scheme attribute
+
+
+
+ Rules in the ISO Schematron language must be inside a constraintSpec with the value 'schematron' on the scheme attribute
+
+
+
+
+
+ Rules in the ISO Schematron language must be inside a constraintSpec with the value 'schematron' on the scheme attribute
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The @scheme attribute of <constraintSpec> is required when the @mode is not specified (here on "add_missing_scheme")
+
+
+
+ The @scheme attribute of <constraintSpec> is required when the @mode is "replace" (here on "replace_missing_scheme")
+
+
+
+
+
+
+
+
+
+
+ The @scheme attribute of <constraintSpec> is required when the @mode is not specified (here on "add_missing_scheme")
+
+
+
+ The @scheme attribute of <constraintSpec> is required when the @mode is "replace" (here on "replace_missing_scheme")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+ In the elementSpec defining blort2 the default value of the @default-NOT-in-list-opt attribute is not among the closed list of possible values
+
+
+
+ In the elementSpec defining blort2 the default value of the @default-NOT-in-list-rec attribute is not among the closed list of possible values
+
+
+
+ In the elementSpec defining blort2 the default value of the @default-NOT-in-list-req attribute is not among the closed list of possible values
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Test/expected-results/detest_xml_relaxng.log b/P5/Test/expected-results/detest_xml_relaxng.log
index 396e10c622..29c9c84e68 100644
--- a/P5/Test/expected-results/detest_xml_relaxng.log
+++ b/P5/Test/expected-results/detest_xml_relaxng.log
@@ -1,27 +1,31 @@
detest.xml
-detest.xml:78:13: error: unfinished content of element http://www.tei-c.org/ns/1.0^lg
+detest.xml:33:8: error: attribute ^default with invalid value "1"
+required:
+ value ^token "true"
+ value ^token "false"
+detest.xml:101:13: error: unfinished content of element http://www.tei-c.org/ns/1.0^lg
required:
element http://www.tei-c.org/ns/1.0^l
element http://www.tei-c.org/ns/1.0^stage
element http://www.tei-c.org/ns/1.0^desc
element http://www.tei-c.org/ns/1.0^label
element http://www.tei-c.org/ns/1.0^lg
-detest.xml:195:10: error: attribute ^truth with invalid value "no"
+detest.xml:225:10: error: attribute ^truth with invalid value "no"
required:
data http://www.w3.org/2001/XMLSchema-datatypes^boolean
-detest.xml:197:10: error: attribute http://www.w3.org/XML/1998/namespace^lang not allowed
+detest.xml:227:10: error: attribute http://www.w3.org/XML/1998/namespace^lang not allowed
required:
after
-detest.xml:200:10: error: attribute ^enumerated with invalid value " dog breath"
+detest.xml:230:10: error: attribute ^enumerated with invalid value " dog breath"
required:
data http://www.w3.org/2001/XMLSchema-datatypes^token
-detest.xml:205:10: error: attribute ^name with invalid value "123"
+detest.xml:235:10: error: attribute ^name with invalid value "123"
required:
data http://www.w3.org/2001/XMLSchema-datatypes^Name
-detest.xml:214:10: error: unfinished content of element http://www.tei-c.org/ns/1.0^lg
+detest.xml:244:10: error: unfinished content of element http://www.tei-c.org/ns/1.0^lg
required:
element http://www.tei-c.org/ns/1.0^l
-detest.xml:241:37: error: invalid data or text not allowed
+detest.xml:271:37: error: invalid data or text not allowed
required:
element http://www.tei-c.org/ns/1.0^add
element http://www.tei-c.org/ns/1.0^surplus
@@ -33,34 +37,34 @@ required:
element http://www.tei-c.org/ns/1.0^cb
element http://www.tei-c.org/ns/1.0^fw
element http://www.tei-c.org/ns/1.0^anchor
-detest.xml:261:11: error: attribute ^target with invalid value "#spanTest"
+detest.xml:291:11: error: attribute ^target with invalid value "#spanTest"
required:
data http://www.w3.org/2001/XMLSchema-datatypes^anyURI
-detest.xml:267:11: error: missing attributes of http://www.tei-c.org/ns/1.0^media
+detest.xml:297:11: error: missing attributes of http://www.tei-c.org/ns/1.0^media
required:
attribute ^url
-detest.xml:268:11: error: missing attributes of http://www.tei-c.org/ns/1.0^media
+detest.xml:298:11: error: missing attributes of http://www.tei-c.org/ns/1.0^media
required:
attribute ^mimeType
-detest.xml:274:51: error: invalid data or text not allowed
+detest.xml:304:51: error: invalid data or text not allowed
required:
after
-detest.xml:275:41: error: invalid data or text not allowed
+detest.xml:305:41: error: invalid data or text not allowed
required:
after
-detest.xml:276:61: error: invalid data or text not allowed
+detest.xml:306:61: error: invalid data or text not allowed
required:
after
-detest.xml:277:25: error: invalid data or text not allowed
+detest.xml:307:25: error: invalid data or text not allowed
required:
after
-detest.xml:341:12: error: element http://www.tei-c.org/ns/1.0^altIdentifier not allowed
+detest.xml:371:12: error: element http://www.tei-c.org/ns/1.0^altIdentifier not allowed
required:
element http://www.tei-c.org/ns/1.0^msIdentifier
-detest.xml:344:10: error: unfinished content of element http://www.tei-c.org/ns/1.0^msPart
+detest.xml:374:10: error: unfinished content of element http://www.tei-c.org/ns/1.0^msPart
required:
element http://www.tei-c.org/ns/1.0^msIdentifier
-detest.xml:373:10: error: element http://www.tei-c.org/ns/1.0^idno not allowed
+detest.xml:403:10: error: element http://www.tei-c.org/ns/1.0^idno not allowed
required:
after
allowed:
@@ -73,7 +77,7 @@ allowed:
element http://www.tei-c.org/ns/1.0^listRef
element http://www.tei-c.org/ns/1.0^relatedItem
element http://www.tei-c.org/ns/1.0^citedRange
-detest.xml:441:12: error: attribute ^target with invalid value ""
+detest.xml:471:12: error: attribute ^target with invalid value ""
required:
data http://www.w3.org/2001/XMLSchema-datatypes^anyURI
error: some documents are invalid
diff --git a/P5/Test/expected-results/detest_xml_schematron.log b/P5/Test/expected-results/detest_xml_schematron.log
index 7a5532c45d..f8da83cb17 100644
--- a/P5/Test/expected-results/detest_xml_schematron.log
+++ b/P5/Test/expected-results/detest_xml_schematron.log
@@ -1,43 +1,84 @@
-The @generatedBy attribute is for use within a <post> element. (ancestor-or-self::tei:post)
-The @generatedBy attribute is for use within a <post> element. (ancestor-or-self::tei:post)
-The abbr element should not be categorized in detail with @subtype unless also categorized in general with @type (@type)
-The div element should not be categorized in detail with @subtype unless also categorized in general with @type (@type)
- The element indicated by @spanTo (#ds2) must follow the current element delSpan
- (id(substring(@spanTo,2)) and following::*[@xml:id=substring(current()/@spanTo,2)])
- The element indicated by @spanTo (notMeaningful) must follow the current element delSpan
- (id(substring(@spanTo,2)) and following::*[@xml:id=substring(current()/@spanTo,2)])
- @schemeVersion can only be used if @scheme is specified. (@scheme and not(@scheme = 'free'))
- @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)
-The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element (tei:label)
-An lg element must contain at least one child l, lg, or gap element. (count(descendant::tei:lg|descendant::tei:l|descendant::tei:gap) > 0)
- On quotation, either the @marks attribute should be used, or a paragraph of description provided (not( @marks ) and not( tei:p ))
-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
- (@from and @target)
- Only one of the attributes @target and @to may be supplied on span
- (@to and @target)
- If @to is supplied on span, @from must be supplied as well (@to and not(@from))
- The @location value "external" is inconsistent with the parallel-segmentation method of apparatus markup. (@location eq 'external' and @method eq 'parallel-segmentation')
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
- A facsimile element represents a text with images, thus transcribed text should not be present within it. (child::text()[ normalize-space(.) ne ''])
-The @spanTo attribute of delSpan is required. (@spanTo)
-The @spanTo attribute of delSpan is required. (@spanTo)
-subst must have at least one child add and at least one child del or surplus (child::tei:add and (child::tei:del or child::tei:surplus))
-subst must have at least one child add and at least one child del or surplus (child::tei:add and (child::tei:del or child::tei:surplus))
-subst must have at least one child add and at least one child del or surplus (child::tei:add and (child::tei:del or child::tei:surplus))
-subst must have at least one child add and at least one child del or surplus (child::tei:add and (child::tei:del or child::tei:surplus))
-subst must have at least one child add and at least one child del or surplus (child::tei:add and (child::tei:del or child::tei:surplus))
-subst must have at least one child add and at least one child del or surplus (child::tei:add and (child::tei:del or child::tei:surplus))
- Only one physDesc is allowed as a child of msDesc. (preceding-sibling::*[ name(.) eq $gi ] and not( following-sibling::*[ name(.) eq $gi ] ))
- Only one history is allowed as a child of msDesc. (preceding-sibling::*[ name(.) eq $gi ] and not( following-sibling::*[ name(.) eq $gi ] ))
- Only one additional is allowed as a child of msDesc. (preceding-sibling::*[ name(.) eq $gi ] and not( following-sibling::*[ name(.) eq $gi ] ))
-In the context of tagset documentation, the listRef element must not self-nest. (tei:listRef)
-In the context of tagset documentation, each ptr or ref element inside a listRef must have a target attribute with only 1 pointer as its value. (@target and not( matches( @target,'\s') ))
-In the context of tagset documentation, each ptr or ref element inside a listRef must have a target attribute with only 1 pointer as its value. (@target and not( matches( @target,'\s') ))
- The @new attribute should always be supplied; use the special value "normal" to indicate that the feature concerned ceases to be remarkable at this point. (@new / warning)
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[2]/tei:div[2]/tei:head[1] —
+ The @generatedBy attribute is for use within a element.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[2]/tei:div[2]/tei:div[1]/tei:p[1]/tei:s[1] —
+ The @generatedBy attribute is for use within a element.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[9]/tei:p[1]/tei:abbr[1] —
+ The abbr element should not be categorized in detail with @subtype unless also categorized in general with @type
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[11]/tei:div[3] —
+ The div element should not be categorized in detail with @subtype unless also categorized in general with @type
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[2]/tei:div[3]/tei:p[1]/tei:delSpan[3] —
+ The element indicated by @spanTo (#ds2) must follow the current element delSpan
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[2]/tei:div[3]/tei:p[1]/tei:delSpan[4] —
+ The element indicated by @spanTo (notMeaningful) must follow the current element delSpan
+at /tei:TEI[1]/tei:teiHeader[1]/tei:encodingDesc[1]/tei:styleDefDecl[1] —
+ @schemeVersion can only be used if @scheme is specified.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[2]/tei:div[1]/tei:p[2]/tei:date[1] —
+ @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.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[16]/tei:list[3] —
+ The content of a "gloss" list should include a sequence of one or more pairs of a label element followed by an item element
+at /tei:TEI[1]/tei:teiHeader[1]/tei:fileDesc[1]/tei:sourceDesc[3]/tei:bibl[1] —
+ When there is more than one bibl, one and only one must have a @default of 'true'.
+at /tei:TEI[1]/tei:teiHeader[1]/tei:fileDesc[1]/tei:sourceDesc[4]/tei:bibl[1] —
+ When there is more than one bibl, one and only one must have a @default of 'true'.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[1]/tei:lg[1] —
+ An lg element must contain at least one child l, lg, or gap element.
+at /tei:TEI[1]/tei:teiHeader[1]/tei:fileDesc[1]/tei:sourceDesc[1] —
+ When there is more than one sourceDesc, each must have an @xml:id
+at /tei:TEI[1]/tei:teiHeader[1]/tei:encodingDesc[1]/tei:editorialDecl[1]/tei:quotation[1] —
+ On quotation, either the @marks attribute should be used, or a paragraph of description provided
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[2]/tei:div[8]/tei:p[1]/tei:s[1] —
+ You may not nest one s element within another: use seg instead
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[8]/tei:p[5]/tei:span[1] —
+ Only one of the attributes @target and @from may be supplied on span
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[8]/tei:p[6]/tei:span[1] —
+ Only one of the attributes @target and @to may be supplied on span
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[8]/tei:p[6]/tei:span[1] —
+ If @to is supplied on span, @from must be supplied as well
+at /tei:TEI[1]/tei:teiHeader[1]/tei:encodingDesc[1]/tei:variantEncoding[1] —
+ The @location value "external" is inconsistent with the parallel-segmentation method of apparatus markup.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[1]/tei:zone[1] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[1]/tei:zone[2] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[1]/tei:zone[3] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[1]/tei:zone[4] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[2]/tei:line[1] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[2]/tei:line[2] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[2]/tei:line[3] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:facsimile[1]/tei:surface[2]/tei:line[4] —
+ A facsimile element represents a text with images, thus transcribed text should not be present within it.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:p[2]/tei:delSpan[1] —
+ The @spanTo attribute of delSpan is required.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[2]/tei:div[3]/tei:p[1]/tei:delSpan[2] —
+ The @spanTo attribute of delSpan is required.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[7]/tei:p[1]/tei:subst[1] —
+ subst must have at least one child add and at least one child del or surplus
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[7]/tei:p[2]/tei:subst[1] —
+ subst must have at least one child add and at least one child del or surplus
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[7]/tei:p[3]/tei:subst[1] —
+ subst must have at least one child add and at least one child del or surplus
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[7]/tei:p[4]/tei:subst[1] —
+ subst must have at least one child add and at least one child del or surplus
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[7]/tei:p[4]/tei:subst[2] —
+ subst must have at least one child add and at least one child del or surplus
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[7]/tei:p[4]/tei:subst[3] —
+ subst must have at least one child add and at least one child del or surplus
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[12]/tei:msDesc[1]/tei:physDesc[2] —
+ Only one physDesc is allowed as a child of msDesc.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[12]/tei:msDesc[1]/tei:history[3] —
+ Only one history is allowed as a child of msDesc.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[12]/tei:msDesc[1]/tei:additional[4] —
+ Only one additional is allowed as a child of msDesc.
+at /tei:TEI[1]/tei:text[1]/tei:back[1]/tei:schemaSpec[1]/tei:elementSpec[1]/tei:listRef[1] —
+ In the context of tagset documentation, the listRef element must not self-nest.
+at /tei:TEI[1]/tei:text[1]/tei:back[1]/tei:schemaSpec[1]/tei:elementSpec[1]/tei:listRef[1]/tei:ref[1] —
+ In the context of tagset documentation, each ptr or ref element inside a listRef must have a target attribute with only 1 pointer as its value.
+at /tei:TEI[1]/tei:text[1]/tei:back[1]/tei:schemaSpec[1]/tei:elementSpec[1]/tei:listRef[1]/tei:ref[4] —
+ In the context of tagset documentation, each ptr or ref element inside a listRef must have a target attribute with only 1 pointer as its value.
+at /tei:TEI[1]/tei:text[1]/tei:body[1]/tei:div[13]/tei:u[1]/tei:shift[2] —
+ The @new attribute should always be supplied; use the special value "normal" to indicate that the feature concerned ceases to be remarkable at this point.
diff --git a/P5/Utilities/lib/schxslt-1.9.5/1.0/compile-for-svrl.xsl b/P5/Utilities/lib/schxslt-1.9.5/1.0/compile-for-svrl.xsl
new file mode 100644
index 0000000000..16af032358
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/1.0/compile-for-svrl.xsl
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+
+ /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/1.0/compile/api-1.0.xsl b/P5/Utilities/lib/schxslt-1.9.5/1.0/compile/api-1.0.xsl
new file mode 100644
index 0000000000..fea5a11957
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/1.0/compile/api-1.0.xsl
@@ -0,0 +1,105 @@
+
+
+
+
+ SchXslt Callback API Specification
+
+ The parts of the validation stylesheet that create reporting output are created by calls to the named templates
+ defined herein. You can override these templates to customize the output. The compiler expects the instructions
+ of the validation stylesheet to live in the default namespace.
+
+
+
+
+
+
+ Create part of the validation stylesheet that creates the report
+
+ This template is called after the report has been gathered. The content of the report is available in the
+ variable schxslt:report.
+
+
+ Schematron schema
+ Validation phase
+
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports an active pattern
+
+ Schematron element of the active pattern
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a fired rule
+
+ Schematron element of the fired rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a suppressed rule
+
+ Schematron element of the suppressed rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a failed assert
+
+ Schematron element of the failed assert
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a successful report
+
+ Schematron element of the successful report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create metadata about the validaton process
+
+ Schematron schema
+ Description of the validation stylesheet
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/1.0/compile/compile-1.0.xsl b/P5/Utilities/lib/schxslt-1.9.5/1.0/compile/compile-1.0.xsl
new file mode 100644
index 0000000000..a9f37a1f9d
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/1.0/compile/compile-1.0.xsl
@@ -0,0 +1,320 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ #DEFAULT
+
+
+
+
+
+
+
+
+
+
+
+ #ALL
+
+
+
+
+
+
+
+
+
+
+ This Schematron processor only supports the 'xslt' query binding
+
+
+
+
+
+ The phase '' is undefined
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compilation aborted: It is an error for a variable to be multiply defined
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/1.0/expand.xsl b/P5/Utilities/lib/schxslt-1.9.5/1.0/expand.xsl
new file mode 100644
index 0000000000..375148dac0
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/1.0/expand.xsl
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The current pattern defines no abstract rule named ''.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/1.0/include.xsl b/P5/Utilities/lib/schxslt-1.9.5/1.0/include.xsl
new file mode 100644
index 0000000000..830ed70c8a
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/1.0/include.xsl
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/1.0/version.xsl b/P5/Utilities/lib/schxslt-1.9.5/1.0/version.xsl
new file mode 100644
index 0000000000..f3baf42dd2
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/1.0/version.xsl
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ SchXslt/1.9.5 (XSLT 1.0)
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/compile-for-svrl.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile-for-svrl.xsl
new file mode 100644
index 0000000000..f52b93a0f6
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile-for-svrl.xsl
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/api-2.0.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/api-2.0.xsl
new file mode 100644
index 0000000000..fbe0e85b8f
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/api-2.0.xsl
@@ -0,0 +1,119 @@
+
+
+
+
+ SchXslt Callback API Specification
+
+ The parts of the validation stylesheet that create reporting output are created by calls to the named templates
+ defined herein. You can override these templates to customize the output. The compiler expects the instructions
+ of the validation stylesheet to live in the default namespace.
+
+
+
+
+
+
+ Create part of the validation stylesheet that creates the report
+
+ This template is called after the report has been gathered. The content of the report is available in the
+ variable schxslt:report.
+
+
+ Schematron schema
+ Validation phase
+
+
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports an active pattern
+
+ Schematron element of the active pattern
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a fired rule
+
+ Schematron element of the fired rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a suppressed rule
+
+ Schematron element of the suppressed rule
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a failed assert
+
+ Schematron element of the failed assert
+
+
+
+
+
+
+
+ Create part of the validation stylesheet that reports a successful report
+
+ Schematron element of the successful report
+
+
+
+
+
+
+
+ Create top part of the validation stylesheet
+
+ Schematron schema
+
+
+
+
+
+
+
+ Create bottom part of the validation stylesheet
+
+ Schematron schema
+
+
+
+
+
+
+
+ Create metadata about the validaton process
+
+ Schematron schema
+ Description of the validation stylesheet
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/compile-2.0.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/compile-2.0.xsl
new file mode 100644
index 0000000000..2546307576
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/compile-2.0.xsl
@@ -0,0 +1,365 @@
+
+
+
+
+
+
+
+ Compile preprocessed Schematron to validation stylesheet
+
+ Validation phase
+
+
+
+
+
+
+
+
+
+ #DEFAULT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ path
+
+
+ schxslt:location
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Return rule template
+
+ Template mode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Return body of validation stylesheet
+
+ Sequence of active patterns
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+ yes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/functions.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/functions.xsl
new file mode 100644
index 0000000000..2e9e4ae51c
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/functions.xsl
@@ -0,0 +1,85 @@
+
+
+
+
+ Return the effective phase
+
+ The effective phase is #ALL if the selected phase is #DEFAULT or no phase was selected. Terminates if the schema does not contain the selected phase.
+
+
+ Schematron schema
+ Requested phase
+ Effective phase
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The phase '' is not defined.
+
+
+
+
+
+
+
+
+
+
+ Return sequence of active patterns
+
+ Schematron schema
+ Phase
+ Sequence of patterns active in selected phase
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The query language '' is not supported.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/templates.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/templates.xsl
new file mode 100644
index 0000000000..aa2e8505cb
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/compile/templates.xsl
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compilation aborted: It is an error for a variable to be multiply defined
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/expand.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/expand.xsl
new file mode 100644
index 0000000000..b4c7ffef61
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/expand.xsl
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The current pattern defines no abstract rule named ''.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/include.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/include.xsl
new file mode 100644
index 0000000000..04db5d47e6
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/include.xsl
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/pipeline-for-svrl.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/pipeline-for-svrl.xsl
new file mode 100644
index 0000000000..281f1671fd
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/pipeline-for-svrl.xsl
@@ -0,0 +1,7 @@
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/pipeline.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/pipeline.xsl
new file mode 100644
index 0000000000..0e58b144a6
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/pipeline.xsl
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/svrl.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/svrl.xsl
new file mode 100644
index 0000000000..e3c9ba3621
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/svrl.xsl
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WARNING: Rule for context "" shadowed by preceding rule
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create detailed report about failed assert or successful report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy Schematron properties to SVRL
+
+ Schematron
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy Schematron diagnostics to SVRL
+
+ Schematron
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/util/normalize-svrl.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/util/normalize-svrl.xsl
new file mode 100644
index 0000000000..4d1d19d106
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/util/normalize-svrl.xsl
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/2.0/version.xsl b/P5/Utilities/lib/schxslt-1.9.5/2.0/version.xsl
new file mode 100644
index 0000000000..0788c2632d
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/2.0/version.xsl
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SchXslt/1.9.5
+
+
+
+
+
+
+
diff --git a/P5/Utilities/lib/schxslt-1.9.5/LICENSE b/P5/Utilities/lib/schxslt-1.9.5/LICENSE
new file mode 100644
index 0000000000..061508878c
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018-2021 David Maus
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/P5/Utilities/lib/schxslt-1.9.5/README.md b/P5/Utilities/lib/schxslt-1.9.5/README.md
new file mode 100644
index 0000000000..64c5d401dc
--- /dev/null
+++ b/P5/Utilities/lib/schxslt-1.9.5/README.md
@@ -0,0 +1,169 @@
+SchXslt \[ʃˈɛksl̩t\] – An XSLT-based Schematron processor
+==
+
+SchXslt is copyright (c) 2018–2021 by David Maus <dmaus@dmaus.name> and released under the terms of the MIT
+license.
+
+[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1495494.svg)](https://doi.org/10.5281/zenodo.1495494)
+[![Build Status](https://travis-ci.org/schxslt/schxslt.svg?branch=master)](https://travis-ci.org/schxslt/schxslt)
+
+SchXslt is a Schematron processor implemented entirely in XSLT. It transforms a Schematron schema document into an XSLT
+stylesheet that you apply to the document(s) to be validated.
+
+Limitations
+--
+
+As of date SchXslt does not properly implement the scoping rules of pattern (see
+[#135](https://github.com/schxslt/schxslt/issues/135)) and phase variables (see
+[#136](https://github.com/schxslt/schxslt/issues/136)).
+
+Schema, pattern, and phase variables are all implemented as global XSLT variables. As a consequence the name of a
+schema, pattern, or phase variable must be unique in the entire schema.
+
+Due to the constrains of XSLT 1.0 and the way rules are implemented it is not possible to use a variable inside a rule
+context expression of a Schematron using the XSLT 1.0 query binding (see
+[#138](https://github.com/schxslt/schxslt/issues/138)).
+
+Schematron enhancements
+--
+
+SchXslt implements the following Schematron enhancements:
+
+### Typed variables
+
+[Proposal 1](https://github.com/Schematron/schematron-enhancement-proposals/issues/1)
+
+The Schematron specification does not allow for annotating variables with the expected type of its value. Type
+annotations are helpful to make the most of XSLT 3.0. Using them is current best practice.
+
+This proposal adds support for an ```@as``` attribute on variable declarations.
+
+### Global abstract rules
+
+[Proposal 3](https://github.com/Schematron/schematron-enhancement-proposals/issues/3)
+
+The Schematron specification limits the the reuse of abstract rules to the current pattern element. The ```@href
+attribute``` on ```extends``` was introduced in 2016 to overcome this limitation but requires a schema author to
+externalize abstract rules for them to be used.
+
+This proposal extends Schematron with a top-level ```rules``` element to hold abstract rules that are globally
+referencable by the ```@rule``` attribute of ```extends```.
+
+### Additional XSLT elements
+
+[Proposal 4](https://github.com/Schematron/schematron-enhancement-proposals/issues/4)
+
+The Schematron specification allows the XSLT elements ```function``` and ```key``` to be used in a Schematron
+schema. This makes sense because both are required to set up the query language environment. The ```key``` element
+prepares data structures for the ```key()``` function and the ```function``` element allows the use of user defined
+functions.
+
+This proposal adds support for the following XSLT elements:
+
+* xsl:accumulator (XSLT 3.0)
+* xsl:import (XSLT 1.0, XSLT 2.0, XSLT 3.0)
+* xsl:import-schema (XSLT 2.0, XSLT 3.0)
+* xsl:include (XSLT 1.0, XSLT 2.0, XSLT 3.0)
+* xsl:use-package (XSLT 3.0)
+
+Installation
+--
+
+Depending on your environment there are several ways to install SchXslt.
+
+* Starting with version 1.5 every release on [this repository's release
+ page](https://github.com/schxslt/schxslt/releases) provides a ZIP file with just the XSLT stylesheets. This page also
+ provides a ZIP file with the XSLT stylesheets and two [XProc 1.0](https://w3.org/tr/xproc) steps. Just download and
+ unzip.
+
+* A Java package is published to [Maven Central](https://mvnrepository.com/artifact/name.dmaus.schxslt/schxslt). Use it
+ with Maven or the Java dependency management tool of your choice.
+
+* If you use [BaseX](https://basex.org) or [eXist](https://exist-db.org) you can download installable XQuery modulesq
+ from [this repository's release page](https://github.com/schxslt/schxslt/releases) as well.
+
+Using SchXslt
+--
+
+### XSLT Stylesheets
+
+The simplest way to use SchXslt is to download the ZIP file with just the stylesheets from the
+[releases](https://github.com/schxslt/schxslt/releases) page. To validate documents with your Schematron you first
+transform it with the ```pipeline-for-svrl.xsl``` stylesheet. This creates the XSL transformation that creates a
+validation report when applied to a document.
+
+### Java applications
+
+To use SchXslt in your Java application define the following Maven dependency:
+
+```xml
+
+ name.dmaus.schxslt
+ schxslt
+ {VERSION}
+
+```
+
+Where {VERSION} is replaced with the current SchXslt version.
+
+Also take a look at [SchXslt Java](https://github.com/schxslt/schxslt-java), a set of Java classes for Schematron
+validation with SchXslt.
+
+### XQuery
+
+The XQuery module provides a function ```schxslt:validate()``` that validates a document and returns a validation report
+expressed in the Schematron Validation Report Language (SVRL). You import the module using its namespace URI.
+
+```
+import module namespace schxslt = "https://doi.org/10.5281/zenodo.1495494";
+
+let $document :=
+let $schema :=
+
+
+
+ Always true
+
+
+
+
+return
+ schxslt:validate($document, $schema)
+
+```
+
+### Ant
+
+TBD
+
+### Command line
+
+TBD
+
+Building
+--
+
+SchXslt uses the [Maven](https://maven.apache.org) build tool to create installable packages. To create the packages for
+yourself clone this repository, install [Maven](https://maven.apache.org) and run it with the ```package``` phase.
+
+```
+dmaus@carbon ~ % git clone --recursive https://github.com/schxslt/schxslt.git
+Cloning into 'schxslt'...
+remote: Enumerating objects: 450, done.
+remote: Counting objects: 100% (450/450), done.
+remote: Compressing objects: 100% (298/298), done.
+remote: Total 3789 (delta 172), reused 374 (delta 111), pack-reused 3339
+Receiving objects: 100% (3789/3789), 470.87 KiB | 1.05 MiB/s, done.
+Resolving deltas: 100% (1607/1607), done.
+
+dmaus@carbon ~ % mvn package
+```
+
+This runs the unit tests and creates the following files:
+
+* core/target/schxslt-{VERSION}.jar (Java archive)
+* core/target/schxslt-{VERSION}-xslt-only.zip (ZIP file with stylesheets)
+* exist/target/schxslt-exist-{VERSION}.xar (XQuery package for eXist)
+* basex/target/schxslt-basex-{VERSION}.xar (XQuery package for BaseX)
+
+Where {VERSION} is replaced with the current SchXslt version.
diff --git a/P5/Utilities/svrl_text_only.xslt b/P5/Utilities/svrl_text_only.xslt
new file mode 100644
index 0000000000..25ac79bcf9
--- /dev/null
+++ b/P5/Utilities/svrl_text_only.xslt
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/P5/antbuilder.xml b/P5/antbuilder.xml
index 2d72c88e3e..988fab98f4 100644
--- a/P5/antbuilder.xml
+++ b/P5/antbuilder.xml
@@ -129,79 +129,65 @@
step 8: p5.isosch → p5.isosch.xsl
-
+
step 9a: p5.isosch → p5examples.isosch.xsl
-
+
step 9b: change TEI NS to Examples NS in p5examples.isosch.xsl
step 10: Do ODD processing for p5odds.odd ...
- ... step 10a
+ ... step 10a: p5odds.odd → p5odds.compiled.xml using odds/odd2odd.xsl
- ... step 10b
+ ... step 10b: p5odds.compiled.xml → p5odds.rng using odds/odd2relax.xsl
- ... step 10c
+ ... step 10c: p5odds.compiled.xml → p5odds.isosch using odds/extract-isosch.xsl
- ... step 10d
-
-
-
-
- ... step 10e
-
-
-
- ... step 10f
-
-
-
- ... step 10g
-
+ ... step 10d: p5odds.isosch → p5odds.isosch.xsl using Utilities/lib/schxslt-1.9.5/2.0/pipeline-for-svrl.xsl
+
-
step 11: Do ODD processing for p5odds-examples.odd ...
- ... step 11a
+ ... step 11a: p5odds-examples.odd → p5odds-examples.compiled.xml via ${XSL}/odds/odd2odd.xsl
- ... step 11b
+ ... step 11b: p5odds-examples.compiled.xml → p5odds-examples.rng via ${XSL}/odds/odd2relax.xsl
- ... step 11c
+ ... step 11c: erase p5odds-examples.compiled.xml
- ... step 11d
+ ... step 11d: p5odds.rng → p5odds.rnc via trang
- ... step 11e
+ ... step 11e: p5odds-examples.rng → p5odds-examples.rnc via trang