FAND0

From TEIWiki
Revision as of 22:29, 3 April 2007 by Lou (talk | contribs)
Jump to navigation Jump to search

A couple of comments from Lou:

* the correct expansion for FAND is "Front for the Abolition of Numbered Divs"
* this ODD has been rendered redundant by the latest (0.6) version of P5, which does now permit you to remove numbered (or unnumbered) divs without content model model ambiguity

If you look on the Sourceforge repository in the Test Directory you will see several files called testfand* which demonstrate this



Note: the name of this page is taken from the Front Against Numbered Divs movement.

This customization file is a straw-man. It is here to demonstrate that if you do nothing other than remove numbered <div>s, you end up with a customization that produces non-deterministic DTDs. In particular, the content models of <front>, <body>, and <back> are ambiguous.

Therefore, this ODD is not a good example of how to remove numbered <div>s, but rather an example of how not to do it.

<?xml version="1.0"?>
<?oxygen RNGSchema="http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_odds.rnc" type="compact"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0"
  xmlns:rng="http://relaxng.org/ns/structure/1.0" xml:lang="en">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>
          <choice>
            <abbr>FAND</abbr>
            <expan>Front Against Numbered Divs</expan>
          </choice> placebo control </title>
        <author>Syd Bauman</author>
      </titleStmt>
      <publicationStmt>
        <p>Intended for publication as an example for TEI users. No warrantee
          express or implied.</p>
      </publicationStmt>
      <sourceDesc>
        <p>Based on TEI Lite (from Sourceforge revision r1953 of <date
            value="2006-12-05T02:35:47-05:00"/>)</p>
      </sourceDesc>
    </fileDesc>
    <revisionDesc>
      <change who="#sbauman.emt" date="2006-12-15T09:50">started</change>
    </revisionDesc>
  </teiHeader>
  <text>

    <body>
      <p>This ODD is intended as a test case — it does not actually
        remove numbered <gi>div</gi>s at all.</p>

      <schemaSpec ident="teiFandNot" start="teiCorpus TEI text body">
        <!-- Note that instances that use <text> or <body> as the -->
        <!-- root element are definitionally not conforming TEI -->
        <!-- documents; nonetheless, doing so can be very useful -->
        <!-- for testing. -->

        <!-- modules: same as for TEI Lite -->
        <moduleRef key="tei"/>
        <moduleRef key="core"/>
        <moduleRef key="header"/>
        <moduleRef key="textstructure"/>
        <moduleRef key="figures"/>
        <moduleRef key="linking"/>
        <moduleRef key="analysis"/>
        <moduleRef key="tagdocs"/>

        <!-- element deletion: same as for TEI Lite -->
        <elementSpec ident="ab" mode="delete" module="linking"/>
        <elementSpec ident="altGrp" mode="delete" module="linking"/>
        <elementSpec ident="altIdent" mode="delete" module="tagdocs"/>
        <elementSpec ident="alt" mode="delete" module="linking"/>
        <elementSpec ident="analytic" mode="delete" module="core"/>
        <elementSpec ident="attDef" mode="delete" module="tagdocs"/>
        <elementSpec ident="attList" mode="delete" module="tagdocs"/>
        <elementSpec ident="attRef" mode="delete" module="tagdocs"/>
        <elementSpec ident="biblItem" mode="delete" module="core"/>
        <elementSpec ident="biblStruct" mode="delete" module="core"/>
        <elementSpec ident="binaryObject" mode="delete" module="core"/>
        <elementSpec ident="broadcast" mode="delete" module="header"/>
        <elementSpec ident="cb" mode="delete" module="core"/>
        <elementSpec ident="classes" mode="delete" module="tagdocs"/>
        <elementSpec ident="classSpec" mode="delete" module="tagdocs"/>
        <elementSpec ident="cl" mode="delete" module="analysis"/>
        <elementSpec ident="c" mode="delete" module="analysis"/>
        <elementSpec ident="content" mode="delete" module="tagdocs"/>
        <elementSpec ident="correction" mode="delete" module="header"/>
        <elementSpec ident="datatype" mode="delete" module="tagdocs"/>
        <elementSpec ident="defaultVal" mode="delete" module="tagdocs"/>
        <elementSpec ident="desc" mode="delete" module="core"/>
        <elementSpec ident="distinct" mode="delete" module="core"/>
        <elementSpec ident="div0" module="textstructure" mode="delete"/>
        <elementSpec ident="div1" module="textstructure" mode="delete"/>
        <elementSpec ident="div2" module="textstructure" mode="delete"/>
        <elementSpec ident="div3" module="textstructure" mode="delete"/>
        <elementSpec ident="div4" module="textstructure" mode="delete"/>
        <elementSpec ident="div5" module="textstructure" mode="delete"/>
        <elementSpec ident="div6" module="textstructure" mode="delete"/>
        <elementSpec ident="div7" module="textstructure" mode="delete"/>
        <elementSpec ident="egXML" mode="delete" module="tagdocs"/>
        <elementSpec ident="elementSpec" mode="delete" module="tagdocs"/>
        <elementSpec ident="equipment" mode="delete" module="header"/>
        <elementSpec ident="equiv" mode="delete" module="core"/>
        <elementSpec ident="exemplum" mode="delete" module="tagdocs"/>
        <elementSpec ident="fsdDecl" mode="delete" module="header"/>
        <elementSpec ident="headItem" mode="delete" module="core"/>
        <elementSpec ident="headLabel" mode="delete" module="core"/>
        <elementSpec ident="hyphenation" mode="delete" module="header"/>
        <elementSpec ident="imprimatur" mode="delete" module="textstructure"/>
        <elementSpec ident="interpretation" mode="delete" module="header"/>
        <elementSpec ident="joinGrp" mode="delete" module="linking"/>
        <elementSpec ident="join" mode="delete" module="linking"/>
        <elementSpec ident="linkGrp" mode="delete" module="linking"/>
        <elementSpec ident="link" mode="delete" module="linking"/>
        <elementSpec ident="listRef" mode="delete" module="tagdocs"/>
        <elementSpec ident="macroSpec" mode="delete" module="tagdocs"/>
        <elementSpec ident="measure" mode="delete" module="core"/>
        <elementSpec ident="meeting" mode="delete" module="core"/>
        <elementSpec ident="memberOf" mode="delete" module="tagdocs"/>
        <elementSpec ident="metDecl" mode="delete" module="header"/>
        <elementSpec ident="metSym" mode="delete" module="header"/>
        <elementSpec ident="m" mode="delete" module="analysis"/>
        <elementSpec ident="moduleRef" mode="delete" module="tagdocs"/>
        <elementSpec ident="moduleSpec" mode="delete" module="tagdocs"/>
        <elementSpec ident="monogr" mode="delete" module="core"/>
        <elementSpec ident="normalization" mode="delete" module="header"/>
        <elementSpec ident="phr" mode="delete" module="analysis"/>
        <elementSpec ident="postBox" mode="delete" module="core"/>
        <elementSpec ident="postCode" mode="delete" module="core"/>
        <elementSpec ident="quotation" mode="delete" module="header"/>
        <elementSpec ident="quote" mode="delete" module="core"/>
        <elementSpec ident="recording" mode="delete" module="header"/>
        <elementSpec ident="recordingStmt" mode="delete" module="header"/>
        <elementSpec ident="remarks" mode="delete" module="tagdocs"/>
        <elementSpec ident="schemaSpec" mode="delete" module="tagdocs"/>
        <elementSpec ident="scriptStmt" mode="delete" module="header"/>
        <elementSpec ident="segmentation" mode="delete" module="header"/>
        <elementSpec ident="series" mode="delete" module="core"/>
        <elementSpec ident="spanGrp" mode="delete" module="analysis"/>
        <elementSpec ident="span" mode="delete" module="analysis"/>
        <elementSpec ident="specDesc" mode="delete" module="tagdocs"/>
        <elementSpec ident="specGrp" mode="delete" module="tagdocs"/>
        <elementSpec ident="specGrpRef" mode="delete" module="tagdocs"/>
        <elementSpec ident="specList" mode="delete" module="tagdocs"/>
        <elementSpec ident="state" mode="delete" module="header"/>
        <elementSpec ident="stdVals" mode="delete" module="header"/>
        <elementSpec ident="street" mode="delete" module="core"/>
        <elementSpec ident="stringVal" mode="delete" module="tagdocs"/>
        <elementSpec ident="tag" mode="delete" module="tagdocs"/>
        <elementSpec ident="tagsDecl" mode="delete" module="header"/>
        <elementSpec ident="timeline" mode="delete" module="linking"/>
        <elementSpec ident="valDesc" mode="delete" module="tagdocs"/>
        <elementSpec ident="valItem" mode="delete" module="tagdocs"/>
        <elementSpec ident="valList" mode="delete" module="tagdocs"/>
        <elementSpec ident="variantEncoding" mode="delete" module="header"/>
        <elementSpec ident="when" mode="delete" module="linking"/>
        <elementSpec ident="w" mode="delete" module="analysis"/>
      </schemaSpec>
    </body>
  </text>
</TEI>