[tei-council] Report on Sanity Checker + Exemplars

David Sewell dsewell at virginia.edu
Tue Jan 29 22:18:47 EST 2008


Below is a report on running Sanity Checker on all the TEI P5 
exemplar *.odd files in P5/Exemplars (plus tei_odds.odd, from Roma--
where is that in the Subversion repository?).

The "not reachable from root" warnings are all fixable, either by adding
explicit <elementSpec mode="delete"> or perhaps by tweaking the modules.
For some reason, "handNote" and "teiCorpus" get defined in most of the
generated schemas even when not usable (see #3 and 4 below). Can this
be fixed in a global way, so they don't have to be explicitly excluded 
from each affected exemplar?

Under #5 below I list the "X does not exist" diagnostics that Sanity 
Checker gives for various elements. I take it that these diagnostics are 
intended to alert the user to customizations that have deleted elements 
ordinarily used, so the Absolutely Bare schema generates lots of these, 
all ignorable. In other cases, for example with tei_odds and tei_math, 
the diagnostics may be erroneous. It looks like Sanity Checker may not 
be handing non-TEI-namespace definitions properly?

I would suggest that as part of this week's cleanup we

  * fix all the "not reachable from root" errors (except maybe for TEI Tite,
    where we'll need input from Perry Trolard, see #2 below);

  * if possible, add some text to Sanity Checker preceding the lists of
    "In X, Y does not exist" diagnostics to say that these are informational
    only, not necessarily a sign of problems

and then if Sanity Checker is in fact barfing on non-TEI-namespace elements,
get that fixed as soon as someone who knows the code can do it.

David
=======================================================

SANITY CHECKER ISSUES with TEI Customization Exemplars

0. (Sebastian is looking at TEI Lite)

1. TEI Absolutely Bare (tei_bare.odd)

    Not reachable from root: refState, appInfo, application, handNote, geoDecl

    Discussion: TEI Bare is intended to have an extremely simple teiHeader,
                consisting only of <titleStmt>/<title>, <publicationStmt>/<p>
                and <sourceDesc>/<p>. None of above elements are needed.

    Proposal:   delete them all using <elementSpec mode="delete">

2. TEI Tite (tei_tite.odd)

    Not reachable from root: tagUsage, namespace, rendition, handNote

    Discussion: for handNote, see section #3. Others are missing because
                <tagsDecl> is deleted from 'header' module.

    Proposal:   If we decide to add <tagsDecl> back to TEI Lite,
                ask Perry Trolard's blessing for adding it here, too.

3. Cases where "handNote not reachable from root"
(any ODD that doesn't include 'msdescription' module):
    TEI Absolutely Bare              tei_bare
    TEI Lite                         tei_lite
    TEI Minimal                      tei_minimal
    TEI for Linguistic Corpora       tei_corpus
    TEI with Drama                   tei_drama
    TEI for Speech Representation    tei_speech
    TEI for authoring ODD            tei_odds
    TEI with SVG                     tei_svg
    TEI with MathML                  tei_math
    TEI with XInclude                tei_xinclude
    TEI with Dictionaries            tei_dictionaries
    TEI Tite                         tei_tite

4. Cases where "teiCorpus not reachable from root"
(any ODD that doesn't include 'corpus' module):
    TEI Minimal                      tei_minimal
    TEI for Manuscript Description   tei_ms
    TEI with Drama                   tei_drama
    TEI for Speech Representation    tei_speech
    TEI for authoring ODD            tei_odds
    TEI with SVG                     tei_svg
    TEI with MathML                  tei_math
    TEI with XInclude                tei_xinclude
    TEI with Dictionaries            tei_dictionaries

5. Customizations that include lists of "does not exist" elements:

    tei_bare      [many header elements, ignorable, intentionally missing]
    tei_allPlus   (egXML: -anyTEI -svg -anyAlien)
    teilite       (figure: -floatingText; list: -headLabel -headItem)
    tei_odds      (egXML: -anyTEI; content: -pattern -define -anySchematron;
                   datatype: -pattern -define -anySchematron)
    tei_math      (formula: -mathml.math)
    tei_xinclude  (fallback: -AnyThing)


-- 
David Sewell, Editorial and Technical Manager
ROTUNDA, The University of Virginia Press
PO Box 801079, Charlottesville, VA 22904-4318 USA
Courier: 310 Old Ivy Way, Suite 302, Charlottesville VA 22903
Email: dsewell at virginia.edu   Tel: +1 434 924 9973
Web: http://rotunda.upress.virginia.edu/


More information about the tei-council mailing list