XLink.odd
Jump to navigation
Jump to search
An ODD that demonstrates a way to add XLink attributes to att.pointing
.
<?xml version="1.0" encoding="UTF-8"?> <TEI xml:lang="en" xmlns="http://www.tei-c.org/ns/1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xlink="http://www.w3.org/1999/xlink"> <teiHeader> <fileDesc> <titleStmt> <title>Example of TEI Schema that Permits XLink</title> <author>Syd Bauman</author> </titleStmt> <publicationStmt> <publisher>Text Encoding Initiative Consortium</publisher> <availability status="free"> <p>Copyleft 2007 Text Encoding Initiative Consortium</p> </availability> </publicationStmt> <sourceDesc> <p>No source, this TEI document <emph>is</emph> the source.</p> </sourceDesc> </fileDesc> </teiHeader> <text> <body> <div> <head>Sample TEI ODD Customization that uses XLink</head> <p>This sample ODD demonstrates a method for adding the W3C XLink attributes to elements that are members of the class <name type="class">att.pointing</name>. By default those elements are: <gi>alt</gi>, <gi>altGrp</gi>, <gi>joinGrp</gi>, <gi>linkGrp</gi>, <gi>join</gi>, <gi>link</gi>, <gi>ptr</gi>, and <gi>ref</gi>. I do not claim that this is the only or the best way.</p> <p>This customization is intended to serve as an example on how to customize the TEI schema a certain way, and the resulting schemas are not intended to actually be used for encoding. This customization permits the root element of conforming instances to be <gi>div</gi>, even though such instances are definitionally not TEI-conformant.</p> <schemaSpec ident="TEIxlink" start="TEI div"> <!-- ******************************************************** --> <!-- module inclusion section --> <!-- ******************************************************** --> <moduleRef key="core"/> <moduleRef key="header"/> <moduleRef key="tei"/> <moduleRef key="textstructure"/> <moduleRef key="linking"/> <!-- ******************************************************** --> <!-- class alteration section --> <!-- ******************************************************** --> <classSpec module="tei" type="atts" ident="att.pointing" mode="change"> <attList> <attDef mode="add" ident="xlink:type"> <datatype><rng:ref name="data.enumerated"/></datatype> <valList type="closed"> <valItem ident="simple"/> <valItem ident="extended"/> <valItem ident="locator"/> <valItem ident="arc"/> <valItem ident="resource"/> <valItem ident="title"/> <valItem ident="none"/> </valList> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#link-types"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:href"> <datatype><rng:ref name="data.pointer"/></datatype> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#link-locators"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:role"> <datatype><rng:ref name="data.pointer"/></datatype> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#link-semantics"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:arcrole"> <datatype><rng:ref name="data.pointer"/></datatype> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#link-semantics"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:title"> <datatype minOccurs="1" maxOccurs="unbounded"><rng:ref name="data.word"/></datatype> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#link-semantics"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:show"> <datatype><rng:ref name="data.enumerated"/></datatype> <valList type="closed"> <valItem ident="new"/> <valItem ident="replace"/> <valItem ident="embed"/> <valItem ident="other"/> <valItem ident="none"/> </valList> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#show-att"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:actuate"> <datatype><rng:ref name="data.enumerated"/></datatype> <valList type="closed"> <valItem ident="onLoad"/> <valItem ident="onRequest"/> <valItem ident="other"/> <valItem ident="none"/> </valList> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#actuate-att"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:label"> <datatype><rng:ref name="data.name"/></datatype> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#traversal-atts"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:from"> <datatype><rng:ref name="data.name"/></datatype> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#traversal-atts"/>.</p> </remarks> </attDef> <attDef mode="add" ident="xlink:to"> <datatype><rng:ref name="data.name"/></datatype> <remarks> <p>For semantics and additional constraints see <ptr target="http://www.w3.org/TR/xlink/#traversal-atts"/>.</p> </remarks> </attDef> </attList> </classSpec> </schemaSpec> </div> </body> </text> </TEI>