<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="../../_utils/stylesheets/admin-tei.css"?>
<?oxygen RNGSchema="../schema/handout.rnc" type="compact"?>
<!-- To generate XHTML for browsing use the stylesheet at
../../_utils/stylesheets/admin.xslt. The command would be <q>java -jar
/path/to/oxygen/lib/saxon9.jar -t ./elementList.tei
../../_utils/stylesheets/admin.xslt &gt; ./elementList.xhtml</q> I think.
Could also add
out-SystemLiteral=/Applications/oxygen/frameworks/xhtml/dtd/xhtml1-strict.dtd
if desired.
-->
<TEI xmlns="http://www.tei-c.org/ns/1.0" xml:lang="en-US" version="P5-1.3.0">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>Element list for ODD</title>
        <author xml:id="jf">Julia Flanders</author>
        <author xml:id="sb">Syd Bauman</author>
      </titleStmt>
      <publicationStmt>
        <p>An unpublished document used for training.</p>
        <p>Available under GFDL, no invariant sections</p>
        <p>Copyleft 2010 Syd Bauman &amp; Julia Flanders</p>
      </publicationStmt>
      <sourceDesc>
        <p>Modified from http://dev.stg.brown.edu/staff/Julia_Flanders/tei/uvic/elements.html.</p>
      </sourceDesc>
    </fileDesc>
    <revisionDesc>
      <change when="2010-08-01" who="#jf">Created file from scratch</change>
      <change when="2010-08-11" who="#sb">tweaked:</change>
    </revisionDesc>
  </teiHeader>
  <text>
    <join xml:id="func" targets="#funcG #funcE #funcA #funcM"/>
    <body>
      <p>This is a brief reference sheet listing the most essential elements used in writing a TEI ODD file.</p>
      <div type="section">
          <head>Ordered by Function</head>
          <list type="gloss" xml:id="funcG">
	    <head>High-level ODD Structures</head>
              <label><gi>schemaSpec</gi></label><item>The element that contains the formal schema specifications within the ODD file. All the schema customization elements listed below are children of <gi>schemaSpec</gi>.</item>
              <label><att>ident</att></label><item>Used on <gi>schemaSpec</gi> indicates the name of the schema that will be created; required by <name type="cmd">roma</name>. (<name type="cmd">urbe</name> requires that it match the filename, too.)</item>
              <label><gi>moduleRef</gi></label><item>A reference to a TEI module (i.e. a grouping of elements representing a single chapter of the TEI Guidelines), by which the module is included in the custom schema.</item>
              <label><att>key</att></label><item>Used on <gi>moduleRef</gi>, gives the short name of the module to be included</item>
	      <label><att>except</att></label><item>Used on <gi>moduleRef</gi>, lists which elements from the module which should <emph>not</emph> be included</item>
	      <label><att>include</att></label><item>Used on <gi>moduleRef</gi>, lists which elements from the module should be included (thus excluding all others)</item>
              <label><att>mode</att></label><item>Used on almost all ODD elements, indicates the nature of the change being made in relation to unmodified TEI: 
                  <list>
                      <item><val>add</val> indicates that the feature in question originates with the customization and is <emph>additional to</emph> the unmodified TEI schema</item>
                      <item><val>delete</val> indicates that the feature in question is being deleted from the custom schema</item>
                      <item><val>change</val> indicates that the feature in question is being changed in some detail, and that the changed portion should override the corresponding portion of the unmodified TEI schema, leaving other portions unchanged</item>
                      <item><val>replace</val> indicates that the feature in question is being completely changed, and that the portion designated in the custom schema should entirely replace the specification for that feature in the unmodified TEI</item>
                  </list></item>
	  </list>
	  <list type="gloss" xml:id="funcE">
	    <head>Element Management</head>
              <label><gi>elementRef</gi></label><item>A reference to a TEI element, by which the element is included in the custom schema. This element is used to include elements from modules that have not been explicitly included with <gi>moduleRef</gi>.</item>
              <label><att>key</att></label><item>Used on <gi>elementRef</gi>, indicates the element being included.</item>
              <label><gi>elementSpec</gi></label><item>A specification of a single element in the schema, which can be used to delete an element from an included module (with <code>mode="delete"</code>) or to modify some aspect of the element's definition (with <code>mode="change"</code> or <code>mode="replace"</code>).</item>
              <label><att>module</att></label><item>Used with <gi>elementSpec</gi>, indicates the module in which the element in question is defined.</item>
              <label><att>ident</att></label><item>Used with <gi>elementSpec</gi>, indicates the name of the element in question</item>
              <label><gi>altIdent</gi></label><item>Used inside <gi>elementSpec</gi> to change the name of an element; indicates the new name by which the element being specified will be known in the custom schema</item>
              <label><gi>content</gi></label><item>Contains the content model for an element (expressed in RELAX NG, XML syntax)</item>
              <label><gi>classes</gi></label><item>Used within <gi>elementSpec</gi> (or <gi>classSpec</gi>) to change the class membership of the element (or class). Contains one or more <gi>memberOf</gi> elements which, by means of their <att>key</att> attributes, indicate the specific classes to which the element (or class) is being added or from which it is being deleted. </item>
              <label><gi>memberOf</gi></label><item>Designates a specific model class to which an element is being added, or from which it is being deleted.</item>
              <label><att>key</att></label><item>Used on <gi>memberOf</gi>, contains the name of the class being designated.</item>
              <label><att>mode</att></label><item>Used on <gi>memberOf</gi>, with value <val>add</val>, indicates that the element is being added to the class designated by the <gi>memberOf</gi> element.</item>
	  </list>
	  <list type="gloss" xml:id="funcA">
	    <head>Attribute Management</head>
              <label><gi>attList</gi></label><item>A list of attribute definitions; used to contain the <gi>attDef</gi> elements that are used to add, delete, or modify the attributes for an element.</item>
              <label><gi>attDef</gi></label><item>Used to designate an attribute that is being added, deleted, or modified.</item>
              <label><att>ident</att></label><item>Used on <gi>attDef</gi>, indicates the name of the attribute in question.</item>
              <label><gi>valList</gi></label><item>A list of values for an attribute (used to add or alter a set of constrained values).</item>
              <label><gi>valItem</gi></label><item>A single value in a value list for an attribute.</item>
              <label><gi>datatype</gi></label><item>Contains a reference to a TEI datatype, used when constraining the contents of an element or attribute value.</item>
	  </list>
	  <list type="gloss" xml:id="funcM">
	    <head>Schema Documentation and Management</head>
              <label><gi>gloss</gi></label><item>Used inside <gi>elementSpec</gi>, <gi>attDef</gi>, and <gi>valItem</gi> to provide the full natural-language equivalent of the name (i.e. <att>ident</att>) of the construct. E.g., the <gi>gloss</gi> for <tag>elementSpec ident="att"</tag> is <q>attribute</q> (as opposed to <q>attention</q>)</item>
              <label><gi>desc</gi></label><item>Used inside <gi>elementSpec</gi>, <gi>attDef</gi>, and <gi>valItem</gi> to document the new or altered element, attribute, or attribute value.</item>
              <label><gi>classSpec</gi></label><item>A specification of a TEI class (either a model class or an attribute class), which can be used to change the membership of an attribute class</item>
              <label><gi>macroSpec</gi></label><item>A specification of a TEI datatype or other chunk of arbitrary RELAX NG code</item>
          </list>
      </div>

        <div type="section">
            <head>Ordered Alphabetically</head>
            <list type="gloss" copyOf="#func" subtype="alphabetical"/>
        </div>
      
      <div type="section">
	<p rend="CSS( font-size: small; text-align: left; )">Copyleft 2010 Syd Bauman and Julia
	Flanders; source available at
	<ref target="http://www.wwp.brown.edu/encoding/current/handouts/elementList_odd.tei">http://www.wwp.brown.edu/encoding/current/handouts/elementList_odd.tei</ref>.</p>
      </div>

    </body>
  </text>
</TEI>
