Difference between revisions of "FAND1 hack"
Jump to navigation
Jump to search
Piotr Banski (talk | contribs) m (Reverted edit of TrgetViald, changed back to last version by Piotr Banski) |
Stuartyeates (talk | contribs) |
||
Line 1: | Line 1: | ||
+ | '''FAND''' ('''F'''ront for the '''A'''bolition of '''N'''umbered '''D'''ivs) is of historical interest only. Modern versions (> 0.6 version of P5) of TEI allow the use of unnumbered divs ([http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div.html div]) or the legacy use of numbered divs | ||
+ | ([http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div1.html div1], | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div2.html div2], | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div3.html div3], | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div4.html div4], | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div5.html div5], | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div6.html div6], | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div7.html div7], | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div8.html div8] and | ||
+ | [http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-div9.html div9]) throughout the document. There are files in the [http://svn.sourceforge.net/viewvc/tei/trunk/P5/Test/ Test Directory] to demonstrate this. | ||
+ | |||
+ | See also: [[FAND0]] [[FAND2_replace]] | ||
+ | |||
+ | ---- | ||
This is an [[ODD]] hack that one can use to generate a TEI schema that does not (really) have numbered <div>s, but also has deterministic | This is an [[ODD]] hack that one can use to generate a TEI schema that does not (really) have numbered <div>s, but also has deterministic | ||
DTD content models. | DTD content models. |
Revision as of 09:41, 19 July 2010
FAND (Front for the Abolition of Numbered Divs) is of historical interest only. Modern versions (> 0.6 version of P5) of TEI allow the use of unnumbered divs (div) or the legacy use of numbered divs (div1, div2, div3, div4, div5, div6, div7, div8 and div9) throughout the document. There are files in the Test Directory to demonstrate this.
See also: FAND0 FAND2_replace
This is an ODD hack that one can use to generate a TEI schema that does not (really) have numbered <div>s, but also has deterministic DTD content models.
The basic idea is that we don't actually delete <div0> and <div1>, but rather rename them to something that should never actually interfere with our TEI encoding.
<?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 for the Abolition of Numbered Divs</expan> </choice> realized via a hack </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 an example of how to use a hack to rid a schema of numbered <gi>div</gi>s and simultaneously avoid non-deterministic DTDs. It is not intended to be actually used for encoding.</p> <schemaSpec ident="teiFandHack" 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"/> <!-- FAND: rename <div0> and <div1> --> <elementSpec ident="div0" module="textstructure" mode="replace"> <altIdent>DO_NOT_USE_THIS</altIdent> <gloss>unused stub</gloss> <desc>This element exists for the sole purpose of permitting DTDs generated to have deterministic content models. As the name implies, this element should never actually be used in a document instance.</desc> <classes/> <content> <rng:empty/> </content> </elementSpec> <elementSpec ident="div1" module="textstructure" mode="replace"> <altIdent>DO_NOT_USE_ME</altIdent> <gloss>unused stub</gloss> <desc>This element exists for the sole purpose of permitting DTDs generated to have deterministic content models. As the name implies, this element should never actually be used in a document instance.</desc> <classes/> <content> <rng:empty/> </content> </elementSpec> <!-- 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="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>