While yielding to no-one in my admiration for Hugh's efforts, which mean
we now have a functioning implementation of it, I still have some
concerns about the way the <anyElement> construct is currently implemented.
The current content model for <content> is:
<alternate>
<anyElement include="http://relaxng.org/ns/structure/1.0"
except="http://www.tei-c.org/ns/1.0 teix:egXML"/>
<classRef minOccurs="0" maxOccurs="unbounded"
key="model.contentPart" />
</alternate
Firstly: <anyElement> is a member of the class model.contentPart, so why
is it mentioned as an alternate? The answer presumably is because we
want to allow a content model to contain either an element from the RNG
namespace or lots of members of the pure ODD class which includes
anyElement.
Secondly: despite appearances, in particular, despite its name, this
anyElement declaration generates RNG which matches *several* elements
from the RNG namespace. To be precise it generates a pattern
"TEI_anyRelax+" which is not explicitly specified anywhere in the ODD
language, but (presumably) created by some cunning hocus pocus when the
anyElement is processed. This make me feel uneasy: why didnt we just
define a macro called anyRelax in the ODD?
Thirdly: as an ODD user I am bewildered by how to interpret a
combination of @include and @except attributes. Elsewhere these
attributes are understood to be mutually exclusive; the @include is an
exclusive inclusion. So you might suppose that an element which permits
only elements from the RNG namespace cannot ipso facto also include
elements from any other namespace. But in fact this is not the case:
here @include means "there must be elements from this namespace", and
@exclude means "there may not be elements from this namespace". The doc
needs to make that a lot clearer : since it is not what these attributes
mean on e.g. <moduleRef>. I also find confusing the presence of
"teix:egXML" as a component of what is billed as being a list of
namespaces, since whatever else it is, it aint a namespace. Howe
Both the latter concerns can be addressed by a simple renaming: I
suggest renaming @include as @require and @except as @exclude
I am less sure what to do about the other two.
I'm getting fatal errors from nvdl related to egXML. Could this be caused
by the recent changes to anyElement?
Example:
/home/rviglian/Projects/tei-code/TEI/P5/p5.xml:112279:58: error: unknown
element "elementSpec" from namespace "http://www.tei-c.org/ns/Examples"
This problem arises because of a desire to retain the ability to express
content models in RNG alongside their expression in Pure ODD. This is a
reasonable goal, but (as I already noticed) infeasible. It also seems a
bit strange to imagine a real world situation where someone would define
a content model in RNG in order to get output in XSD: surely they'd
rather express the content model in XSD?
I have a better solution, I think. Certainly a cleaner and simpler one.
1. We define a new element called rngContent which has a content model
permitting only elements in the RELAX namespace.
2.a EITHER Wherever we currently say "content" in a content model (not
many places), if we want to permit content expressed in RNG, we change
it to "content|rngContent"
2.b OR We also define a class called model.contentModel and add both
"content" and "rngContent" to it. Then change "content" to "classRef
key="model.contentModel"
If you go for 2.b this would allow us in the future to permit xsdContent
to cater for the person who really just wants to use XSD to define their
extensions.
Yes, it's going to break a lot of existing ODDs. But (as Kevin just noticed) the datatype changes in pure ODD already did that.
And may I remind Council that we've been saying we want to move to pure ODD for many years now. This is just the last bit of umbilical cord cutting ...
-------- Original Message --------
Subject: [tei-council] anyElement XSD pain
From: Hugh Cayless
To: TEI Council
CC:
Because of the way we use RelaxNG as a pivot format in generating XSD,
we're going to end up with invalid XSDs around the anyElement issue.
Basically, XSD handles "anyXML" sections differently than RelaxNG, and so
Relax discards information we can provide with anyElement to avoid the
problem.
Relax allows you to say "these elements/namespaces can't occur in the spot
where any XML is allowed."
XSD, on the other hand, lets you say any XML but "only these namespaces
here", and/or "any namespace but the default one".
Pure ODD is basically capable of saying either of these things, but as far
as XSD, because we pipe through Relax, it ends up being able to say neither
of them. This is a problem, because in the case of things like ,
which can contain either Pure ODD TEI elements or RelaxNG, an
means you have a nondeterministic content model (because "any" includes TEI
elements). The XSD solution would be to say , but we can't
get there from here.
The long term solution is probably direct generation of XSD, which is
something we'd like for other reasons. Near term might be to scale back use
of anyElement or add a post-processing step to XSD generation that puts the
necessary information back.
Ideas?
--
tei-council mailing list
tei-council(a)lists.tei-c.org
http://lists.lists.tei-c.org/mailman/listinfo/tei-council
PLEASE NOTE: postings to this list are publicly archived
http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/3037/Changes:
[philomousos] Trying to make this work...
[philomousos] Changing examplars to anyElement.
------------------------------------------
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by an SCM change
Started by upstream project "Stylesheets-dev" build number 2052
originally caused by:
Started by an SCM change
Building in workspace <http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/>
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url https://github.com/TEIC/TEI.git # timeout=10
Fetching upstream changes from https://github.com/TEIC/TEI.git
> git --version # timeout=10
> git fetch --tags --progress https://github.com/TEIC/TEI.git +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/dev^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/dev^{commit} # timeout=10
Checking out Revision 6b8d66f613cdbb988d29023aa481bbd84abbc8b3 (refs/remotes/origin/dev)
> git config core.sparsecheckout # timeout=10
> git checkout -f 6b8d66f613cdbb988d29023aa481bbd84abbc8b3
> git rev-list 4c51573f141d360ca3e8b29e9e90c140638b045c # timeout=10
[workspace] $ /bin/bash -xe /tmp/hudson1765403792815215855.sh
+ cd P5
++ pwd
+ make VCS=git INJENKINS=true XSL=<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/../../../Stylesheet…> clean validate test
(cd Exemplars; make clean)
make[1]: Entering directory `<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/Exemplars'>
mv tei_lite_fr.nvdl tei_lite_fr.nvdl.bak
rm -f *.processed *.xsd *.dtd *.doc.* *.rnc tei*.xsl tei*.rng *.compiled* *~ *.xi *.isosch *.epub *.pdf *.html *.nvdl *-teix*
mv tei_lite_fr.nvdl.bak tei_lite_fr.nvdl
rm -f exnames.xml
rm -f enrich.rng isofs.rng
rm -f names.xml *properties
rm -f [A-Z]*xml
make[1]: Leaving directory `<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/Exemplars'>
(cd Test; make clean)
make[1]: Entering directory `<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/Test'>
rm -f test*.doc.xml test*.rnc test*.dtd test*.compiled.* test*.xsd test*.rnc test*.rng test*.xsl test*.isosch
rm -rf LOG *~ *.xsd Schema RomaResults DTD
rm -rf *.doc.*
rm -f detest.log detest.log.all
rm -f *-examples.rng *-examples.rnc *test*.nvdl *-ex.odd
rm -f detest.rnc detest.rng detest.dtd detest.isosch
make[1]: Leaving directory `<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/Test'>
rm -rf release Guidelines Guidelines-web Schema DTD dtd Split
rm -rf Guidelines.??? Guidelines-*
rm -f *.isosch.xsl
rm -f *.stamp
rm -f *.xsd
rm -f Exemplars/stdout
rm -f Test/*.isosch
rm -f Test/detest.dtd Test/detest.rnc Test/detest.rng Test/detest.xsl
rm -f Test/stdout
rm -f Utilities/guidelines.xsl
rm -f anything buildweb.xml
rm -f p5.sch p5.isosch p5.xml p5subset.xml p5subset.json p5subset.js
rm -f p5attlist.txt
rm -f p5odds-examples.rng p5odds-examples.rnc p5odds.rng p5odds.rnc p5odds.isosch
rm -f pdfbuild.log
rm -f stripspace.xsl.model
rm -f tei-*.zip
rm -f tei-p5-*_*build
rm -f tei-p5-*_*changes
rm -f tei-p5-*_*deb
rm -f teiwebsiteguidelines.zip
rm -rf FASC-*
rm -rf catalogue.* modList
rm -rf valid v.xml ValidatorLog.xml Utilities/pointerattributes.xsl graphics.sh missfont.log v.body v.header Schematron1.xml Schematron2.xml
Checking you have running XML tools and Perl before trying to run transform...
Ant:/usr/bin/ant
Perl:/usr/bin/perl
Java:/usr/bin/java
xmllint:/usr/bin/xmllint
touch check.stamp
get latest date:
VCS is git
if [ "git" = "svn" ] ; \
then \
if [ true = "true" ] ; \
then svn info --xml svn://svn.code.sf.net/p/tei/code/trunk/P5 ; \
else svn info --xml ; \
fi > repodate.xml ; \
fi
if [ git = "git" ] ; \
then \
git log --max-count=1 --pretty=format:"<info type=\"git\"><entry><commit revision=\"%h\"><date>%ai</date></commit></entry></info>" > repodate.xml ; \
fi
BUILD: Generate modular DTDs, Schemas, Schematron and miscellaneous outputs
ANT_OPTS="-Xss2m -Xmx752m -Djava.awt.headless=true" ant -q -lib Utilities/lib/jing.jar:Utilities/lib/saxon9he.jar -f antbuilder.xml -DXSL=<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/../../../Stylesheet…> -DDRIVER=Source/guidelines-en.xml base subset outputs
[echo] make modular DTDs, RELAXNG schemas, json, odd schemas, schematron files
[echo] Using <http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/../../../Stylesheet…> for XSL stylesheets
[echo] Do ODD processing for p5odds.odd
[echo] Do ODD processing for p5odds-examples.odd
BUILD SUCCESSFUL
Total time: 1 minute 19 seconds
BUILD: Generate modular RELAX NG (compact) schemas using trang
(cd Schema; for i in *rng; do java -jar ../Utilities/lib/trang.jar $i `basename $i .rng`.rnc;done)
touch schemas.stamp
BUILD: Check validity with rnv if we have it
command -v rnv && rnv -v p5odds.rnc p5.xml
/usr/local/bin/rnv
rnv version 1.7.10
p5.xml
BUILD: Check validity with special-purpose XSL code, looking for bad links etc
ANT_OPTS="-Xss2m -Xmx752m -Djava.awt.headless=true" ant -q -lib Utilities/lib/saxon9he.jar -f antbuilder.xml -DXSL=<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/../../../Stylesheet…> validators
[echo] Run Schematron script (normal part of Guidelines)
[echo] Run Schematron script (Examples in Guidelines marked as valid)
[echo] Run ad hoc XSLT validators
BUILD SUCCESSFUL
Total time: 43 seconds
<Messages>
<WARNING>Schematron warning: The type construct becomes outdated on 2016-11-18 [Test: @validUntil cast as xs:date ge (current-date() + (60*xs:dayTimeDuration('P1D')))] Location: /TEI[1]/text[1]/body[1]/div[2]/div[1]/div[1]/specGrp[1]/elementSpec[1]/attList[1]/attDef[1]</WARNING>
<WARNING>Schematron warning: The render construct becomes outdated on 2017-01-01 [Test: @validUntil cast as xs:date ge (current-date() + (60*xs:dayTimeDuration('P1D')))] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[2]/attList[1]/attDef[4]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.word' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.word'] Location: /TEI[1]/text[1]/body[1]/div[1]/div[6]/macroSpec[22]/content[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.word' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.word'] Location: /TEI[1]/text[1]/body[1]/div[1]/div[6]/macroSpec[26]/content[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.word' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.word'] Location: /TEI[1]/text[1]/body[1]/div[23]/div[3]/div[1]/div[4]/p[9]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[2]/div[4]/div[6]/specGrp[1]/elementSpec[2]/attList[1]/attDef[1]/datatype[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[13]/div[3]/div[2]/p[7]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[3]/specGrp[1]/elementSpec[1]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[3]/specGrp[1]/elementSpec[1]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[3]/specGrp[1]/elementSpec[1]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[5]/div[5]/div[9]/specGrp[1]/elementSpec[4]/attList[1]/attDef[1]/datatype[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[6]/specGrp[1]/elementSpec[6]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[6]/specGrp[1]/elementSpec[6]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[6]/specGrp[1]/elementSpec[6]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[23]/div[5]/div[4]/div[2]/p[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/classSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[23]/div[5]/div[4]/div[2]/p[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/define[namespace-uri()='http://relaxng.org/ns/structure/1.0'][2]/optional[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]/attribute[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The catchwords element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[7]/p[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/catchwords[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The catchwords element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[7]/p[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/catchwords[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The catchwords element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[8]/specGrp[1]/elementSpec[1]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/catchwords[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The catchwords element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[7]/div[3]/div[3]/specGrp[1]/elementSpec[5]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/collation[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/p[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/catchwords[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The catchwords element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[7]/div[3]/div[3]/specGrp[1]/elementSpec[5]/exemplum[6]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/collation[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/p[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/catchwords[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The secFol element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[7]/p[4]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/secFol[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The secFol element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[8]/specGrp[1]/elementSpec[14]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/secFol[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The secFol element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[8]/specGrp[1]/elementSpec[14]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/secFol[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The secFol element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[8]/specGrp[1]/elementSpec[14]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/secFol[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The signatures element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[7]/p[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/signatures[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The signatures element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[7]/p[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/signatures[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The signatures element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[8]/specGrp[1]/elementSpec[15]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/signatures[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The signatures element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[8]/specGrp[1]/elementSpec[15]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/signatures[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: deprecated use of element — The signatures element will not be allowed outside of msDesc as of 2018-10-01. [Test: ancestor::tei:msDesc] Location: /TEI[1]/text[1]/body[1]/div[10]/div[3]/div[8]/specGrp[1]/elementSpec[15]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/signatures[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.pointer' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.pointer'] Location: /TEI[1]/text[1]/body[1]/div[23]/div[3]/div[1]/div[4]/p[4]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.word' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.word'] Location: /TEI[1]/text[1]/body[1]/div[1]/div[6]/macroSpec[22]/content[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.word' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.word'] Location: /TEI[1]/text[1]/body[1]/div[1]/div[6]/macroSpec[26]/content[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.word' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.word'] Location: /TEI[1]/text[1]/body[1]/div[23]/div[3]/div[1]/div[4]/p[9]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[2]/div[4]/div[6]/specGrp[1]/elementSpec[2]/attList[1]/attDef[1]/datatype[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[13]/div[3]/div[2]/p[7]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[3]/specGrp[1]/elementSpec[1]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[3]/specGrp[1]/elementSpec[1]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[3]/specGrp[1]/elementSpec[1]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/elementSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[5]/div[5]/div[9]/specGrp[1]/elementSpec[4]/attList[1]/attDef[1]/datatype[1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[6]/specGrp[1]/elementSpec[6]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[6]/specGrp[1]/elementSpec[6]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[22]/div[6]/specGrp[1]/elementSpec[6]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[23]/div[5]/div[4]/div[2]/p[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/classSpec[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attList[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/attDef[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/datatype[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: reference to deprecated macro — 'data.enumerated' will be removed from the TEI on 2018-10-01. [Test: concat(normalize-space(@key), normalize-space(@name)) eq 'data.enumerated'] Location: /TEI[1]/text[1]/body[1]/div[23]/div[5]/div[4]/div[2]/p[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/define[namespace-uri()='http://relaxng.org/ns/structure/1.0'][2]/optional[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]/attribute[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]/ref[namespace-uri()='http://relaxng.org/ns/structure/1.0'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[1]/div[3]/div[1]/div[1]/div[3]/p[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[1]/div[3]/div[1]/div[1]/div[3]/p[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[1]/div[3]/div[1]/div[1]/div[3]/p[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][3]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[1]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[1]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[1]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[1]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[1]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[1]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[2]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[2]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[2]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[2]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[3]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[3]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[2]/div[3]/div[4]/div[2]/p[4]/specGrp[1]/elementSpec[3]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @render of the tagUsage element will be removed from the TEI on 2017-01-01.
[Test: @render] Location: /TEI[1]/text[1]/body[1]/div[3]/div[3]/div[3]/p[9]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagsDecl[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/namespace[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/tagUsage[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning: WARNING: use of deprecated attribute — @hand of the gap element will be removed from the TEI on 2017-08-01.
[Test: @hand] Location: /TEI[1]/text[1]/body[1]/div[11]/div[3]/div[1]/div[7]/p[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/gap[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[10]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[10]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[11]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[11]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[12]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[12]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[13]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[3]/div[1]/specGrp[1]/elementSpec[13]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/form[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/orth[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/p[7]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/p[7]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/p[8]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/p[8]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/specGrp[2]/elementSpec[2]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/specGrp[2]/elementSpec[2]/exemplum[2]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/specGrp[2]/elementSpec[2]/exemplum[3]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/oVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/specGrp[2]/elementSpec[4]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/pVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
<WARNING>Schematron warning:
[Test: true()] Location: /TEI[1]/text[1]/body[1]/div[9]/div[4]/specGrp[2]/elementSpec[4]/exemplum[1]/egXML[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/entry[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/cit[namespace-uri()='http://www.tei-c.org/ns/Examples'][2]/quote[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]/pVar[namespace-uri()='http://www.tei-c.org/ns/Examples'][1]</WARNING>
</Messages>
(grep -q "<ERROR>" ValidatorLog.xml;if [ $? -ne 1 ] ; then echo "Oh dear me. ERROR found";diff ValidatorLog.xml expected-results/ValidatorLog.xml;false; fi)
sh graphics.sh
BUILD: Check validity with nvdl, first examples with feasible validity, and then the valid ones
./run-onvdl p5.nvdl p5.xml
/usr/bin/onvdl
./run-onvdl p5valid.nvdl v.xml
/usr/bin/onvdl
<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/valid/TEI_1-text_1-…>:5:50: error: unfinished element "datatype": "(teix:textNode | teix:dataRef | [anyName \([ns:http://www.tei-c.org/ns/1.0] | teix:egXML)])" required to finish the element
<http://teijenkins.hcmc.uvic.ca/job/TEIP5-Test-dev/ws/P5/valid/TEI_1-text_1-…>:5:50: error: unfinished element "datatype": "(teix:textNode | teix:dataRef | [anyName \([ns:http://www.tei-c.org/ns/1.0] | teix:egXML)])" required to finish the element
Error: nvdl run found problems
make: *** [valid] Error 1
Build step 'Execute shell' marked build as failure
On 10/11/16 08:47, Lou Burnard wrote:
> Was working last time I looked but possibly not from that url.
> What sort of "not working"?
Oh poo. Never mind. I was using an earlier 9.1 version of saxon
... using a more recent one it just works again.
Mea culpa,
-James
>
>
>
> Sent from my Samsung Galaxy Tab®|PRO
>
>
> -------- Original message --------
> From: James Cummings
> Date:2016/11/10 13:26 (GMT+00:00)
> To: TEI Council
> Subject: [tei-council] oddbyexample
>
>
> Is oddbyexample.xsl working for anyone?
> https://github.com/TEIC/Stylesheets/blob/dev/tools/oddbyexample.xsl
>
> This used to work. I don't think it not functioning for me is
> related to changes to in Pure ODD because I get the same error
> when I point to an earlier version of p5subset.xml for it to use.
>
> Before I try to diagnose it further, I wanted to check it wasn't
> working for others.
>
> -James
>
> --
> Dr James Cummings, James.Cummings(a)it.ox.ac.uk
> Academic IT Services, University of Oxford
>
> --
> tei-council mailing list
> tei-council(a)lists.tei-c.org
> http://lists.lists.tei-c.org/mailman/listinfo/tei-council
>
> PLEASE NOTE: postings to this list are publicly archived
--
Dr James Cummings, James.Cummings(a)it.ox.ac.uk
Academic IT Services, University of Oxford
Is oddbyexample.xsl working for anyone?
https://github.com/TEIC/Stylesheets/blob/dev/tools/oddbyexample.xsl
This used to work. I don't think it not functioning for me is
related to changes to in Pure ODD because I get the same error
when I point to an earlier version of p5subset.xml for it to use.
Before I try to diagnose it further, I wanted to check it wasn't
working for others.
-James
--
Dr James Cummings, James.Cummings(a)it.ox.ac.uk
Academic IT Services, University of Oxford
Because of the way we use RelaxNG as a pivot format in generating XSD,
we're going to end up with invalid XSDs around the anyElement issue.
Basically, XSD handles "anyXML" sections differently than RelaxNG, and so
Relax discards information we can provide with anyElement to avoid the
problem.
Relax allows you to say "these elements/namespaces can't occur in the spot
where any XML is allowed."
XSD, on the other hand, lets you say any XML but "only these namespaces
here", and/or "any namespace but the default one".
Pure ODD is basically capable of saying either of these things, but as far
as XSD, because we pipe through Relax, it ends up being able to say neither
of them. This is a problem, because in the case of things like <content>,
which can contain either Pure ODD TEI elements or RelaxNG, an <xsd:any/>
means you have a nondeterministic content model (because "any" includes TEI
elements). The XSD solution would be to say <xs:any namespace="
http://relaxng.org/ns/structure/1.0" processContents="skip"/>, but we can't
get there from here.
The long term solution is probably direct generation of XSD, which is
something we'd like for other reasons. Near term might be to scale back use
of anyElement or add a post-processing step to XSD generation that puts the
necessary information back.
Ideas?
Message from Martin about a new Oxygen issue:
---------- Forwarded message ----------
From: Martin Holmes <mholmes(a)uvic.ca>
Date: Wed, Nov 9, 2016 at 8:33 AM
Subject: Oxygen plugin issue for Council to discuss
To: Hugh Cayless <philomousos(a)gmail.com>
Cc: Ron Van den Branden <ron.vandenbranden(a)kantl.be>
Hi Hugh,
There's a potential compatibility issue with the oxygen-tei framework,
arising out of this:
<https://github.com/TEIC/oxygen-tei/pull/9>
Briefly:
- Oxygen 18 changed some jar file versions, which broke the JTEI PDF
generation task;
- Ron fixed that, and added some additional future-proofing by using
wildcards in the framework libraries configuration;
- That works great for Oxygen 18 and 18.1, but fails on earlier versions
of Oxygen which do not support wildcard-expansion in library paths;
- So far there's no obvious solution.
We have a couple of options:
1. Allow the JTEI PDF export to be broken for 18.x and above.
2. Allow it to be broken for 17.x and below.
3. Set a version limit on the framework which prevents its being installed
on anything below 18.0.
#3 would leave existing users of older Oxygens with a framework which could
not be updated. #2 would affect only those users who have an older Oxygen
but still want to do PDF export from JTEI. This is a small number of
people, and seems to me the best option. Council should obviously decide on
this.
Ron, have I summarized correctly? Is there anything I've forgotten?
Cheers,
Martin
I've been working on https://github.com/TEIC/TEI/issues/1373 <https://github.com/TEIC/TEI/issues/1373> and have run into another snag. This time with the tests. A bit of background:
Some TEI elements need to contain stuff from other XML namespaces that we don't care to validate. Examples are xenoData and egXML. SVG or MathML might be examples of external namespaces you might want to include data from. Because of bad decisions made long ago by very smart people, RelaxNG automatically does DTD-style ID checking. Elements can't have conflicting ID types, e.g. an id attribute that is an xsd:ID and one that isn't. The difficulty comes in with the way these "catch-all" elements are defined, which is special. They implicitly allow non xsd:ID id attributes (because they allow anything).
This means that when you use one of these special "any" elements in a RelaxNG schema, you have to exclude the TEI namespaced elements (because any of them can have @xml:id) and the egXML element (which also allows xml:id, and which is in its own namespace). If you include any external schemas that define IDs, they too must be excluded from these special elements. We solve this now by futzing around with the macro.anyXML element and adding those exclusions to it.
With the new <anyElement>, which tackles the unknowable XML content problem in a slightly different way, we make the definition of those special elements a bit cleaner and easier, but we also have to cope with juggling exclusions on more elements. Lou’s proposed changes, which he outlines in http://teic.github.io/TCW/anyXMLproposal.html <http://teic.github.io/TCW/anyXMLproposal.html>, mean that if a schema pulls in SVG, elements like xenoData must add an exclusion of the SVG namespace. When we used macro.anyXML everywhere, we could do this redefinition in one place, but now we can’t. We have to do it on each included element that uses <anyElement>. You can see the difference by comparing https://github.com/TEIC/TEI/blob/dev/P5/Test/testplace-kml.odd#L32-L53 <https://github.com/TEIC/TEI/blob/dev/P5/Test/testplace-kml.odd#L32-L53> and https://github.com/TEIC/TEI/blob/hcayless_anyElement/P5/Test/testplace-kml.… <https://github.com/TEIC/TEI/blob/hcayless_anyElement/P5/Test/testplace-kml.…>
But the latter only works in my branch because I’ve done some "magic" with the stylesheets, making the ODD to RelaxNG conversion take additional namespace exclusions in macro.anyXML into account. Otherwise I’d have to redefine xenoData, egXML, and any other elements that can include random XML. If that ODD included tagdocs, I’d have to redefine another 3 elements. So that leads to the question: do we want to come up with a simpler syntax for adding excluded namespaces? I could see putting a new attribute on the moduleRef that pulls in the KML schema, for example…any opinions?
I’ve got another problem that may be a bug in trang. There’s a workaround, fortunately. I’ve gone on long enough for one email, I think. :-)