blob: 93d758b936cef2e3344f9bf391bab2d4d683b59b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!-- IDSXCES-Header -->
<!---->
<!-- $Id: ids.xheader.elt 41 2007-09-14 09:55:13Z kupietz $ -->
<!-- based on: -->
<!---->
<!-- THE CES HEADER -->
<!---->
<!-- This is the entity ces.header used in the -->
<!-- Corpus Encoding Standard DTDs. -->
<!---->
<!-- It is referred to in those DTDs as -->
<!-- PUBLIC "-//CES//ENTITIES Header//EN" -->
<!---->
<!---->
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" ns="http://ids-mannheim.de/ns/KorAP">
<start>
<ref name="header"/>
</start>
<define name="a.global">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
<attribute name="n"/>
</optional>
<optional>
<attribute name="xml:lang"/>
</optional>
<optional>
<attribute name="lang">
<data type="IDREF"/>
</attribute>
</optional>
</define>
<define name="a.header">
<ref name="a.global"/>
</define>
<define name="a.declarable">
<optional>
<attribute name="default" a:defaultValue="n">
<choice>
<value>y</value>
<value>n</value>
</choice>
</attribute>
</optional>
</define>
<define name="header">
<element name="header">
<ref name="attlist.header"/>
<ref name="idsHeader"/>
</element>
</define>
<define name="attlist.header" combine="interleave">
<optional>
<attribute name="docid">
<data type="NCName"/>
</attribute>
</optional>
</define>
<define name="idsHeader">
<element name="idsHeader">
<ref name="attlist.idsHeader"/>
<ref name="fileDesc"/>
<optional>
<ref name="encodingDesc"/>
</optional>
<optional>
<ref name="profileDesc"/>
</optional>
<optional>
<ref name="revisionDesc"/>
</optional>
</element>
</define>
<define name="attlist.idsHeader" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type" a:defaultValue="text"/>
</optional>
<optional>
<attribute name="pattern" a:defaultValue="text"/>
</optional>
<optional>
<attribute name="creator"/>
</optional>
<optional>
<attribute name="status" a:defaultValue="new">
<choice>
<value>new</value>
<value>update</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="date.created"/>
</optional>
<optional>
<attribute name="date.updated"/>
</optional>
<attribute name="version"/>
<optional>
<attribute name="TEIform" a:defaultValue="teiHeader"/>
</optional>
</define>
<!-- File Description -->
<define name="fileDesc">
<element name="fileDesc">
<ref name="attlist.fileDesc"/>
<ref name="titleStmt"/>
<optional>
<ref name="editionStmt"/>
</optional>
<optional>
<ref name="extent"/>
</optional>
<ref name="publicationStmt"/>
<oneOrMore>
<ref name="sourceDesc"/>
</oneOrMore>
</element>
</define>
<define name="attlist.fileDesc" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Title statement -->
<define name="h.title">
<element name="h.title">
<ref name="attlist.h.title"/>
<text/>
</element>
</define>
<define name="attlist.h.title" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type" a:defaultValue="main">
<choice>
<value>main</value>
<value>sub</value>
<value>abbr</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="level">
<choice>
<value>m</value>
<value>a</value>
</choice>
</attribute>
</optional>
</define>
<!--
Motivation : Innerhalb von biblFull wird eine Titelangabe
durch titleStmt benoetigt. Diese entspricht aber
keiner der bisherigen drei Kategorien.
Daher Hinzunahme von x.title analog der
CES-Vorgabe h.title.
-->
<define name="titleStmt">
<element name="titleStmt">
<ref name="attlist.titleStmt"/>
<choice>
<group>
<ref name="korpusSigle"/>
<ref name="c.title"/>
<zeroOrMore>
<ref name="respStmt"/>
</zeroOrMore>
</group>
<group>
<ref name="dokumentSigle"/>
<ref name="d.title"/>
<zeroOrMore>
<ref name="respStmt"/>
</zeroOrMore>
</group>
<group>
<ref name="textSigle"/>
<ref name="t.title"/>
<zeroOrMore>
<ref name="respStmt"/>
</zeroOrMore>
</group>
<group>
<ref name="x.title"/>
<zeroOrMore>
<ref name="respStmt"/>
</zeroOrMore>
</group>
</choice>
</element>
</define>
<define name="attlist.titleStmt" combine="interleave">
<ref name="a.header"/>
</define>
<define name="korpusSigle">
<element name="korpusSigle">
<ref name="attlist.korpusSigle"/>
<text/>
</element>
</define>
<define name="attlist.korpusSigle" combine="interleave">
<ref name="a.header"/>
</define>
<define name="c.title">
<element name="c.title">
<ref name="attlist.c.title"/>
<text/>
</element>
</define>
<define name="attlist.c.title" combine="interleave">
<ref name="a.header"/>
</define>
<define name="dokumentSigle">
<element name="dokumentSigle">
<ref name="attlist.dokumentSigle"/>
<text/>
</element>
</define>
<define name="attlist.dokumentSigle" combine="interleave">
<ref name="a.header"/>
</define>
<define name="d.title">
<element name="d.title">
<ref name="attlist.d.title"/>
<text/>
</element>
</define>
<define name="attlist.d.title" combine="interleave">
<ref name="a.header"/>
</define>
<define name="textSigle">
<element name="textSigle">
<ref name="attlist.textSigle"/>
<text/>
</element>
</define>
<define name="attlist.textSigle" combine="interleave">
<ref name="a.header"/>
</define>
<!--
Motivation: Einrichtung des Attributs assemblage nach Modifikation
der Quellennachweise von al-Wadi (06.05.03)
-->
<define name="t.title">
<element name="t.title">
<ref name="attlist.t.title"/>
<text/>
</element>
</define>
<define name="attlist.t.title" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="assemblage">
<choice>
<value>external</value>
<value>regular</value>
<value>non-automatic</value>
</choice>
</attribute>
</optional>
</define>
<!-- Motivation : x.title analog der CES-Vorgabe h.title. -->
<define name="x.title">
<element name="x.title">
<ref name="attlist.x.title"/>
<text/>
</element>
</define>
<define name="attlist.x.title" combine="interleave">
<ref name="a.header"/>
</define>
<define name="respStmt">
<element name="respStmt">
<ref name="attlist.respStmt"/>
<group>
<ref name="respType"/>
<ref name="respName"/>
</group>
<zeroOrMore>
<choice>
<ref name="respType"/>
<ref name="respName"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.respStmt" combine="interleave">
<ref name="a.header"/>
</define>
<define name="respType">
<element name="respType">
<ref name="attlist.respType"/>
<text/>
</element>
</define>
<define name="attlist.respType" combine="interleave">
<ref name="a.header"/>
</define>
<define name="respName">
<element name="respName">
<ref name="attlist.respName"/>
<text/>
</element>
</define>
<define name="attlist.respName" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Edition Statement -->
<define name="editionStmt">
<element name="editionStmt">
<ref name="attlist.editionStmt"/>
<text/>
</element>
</define>
<define name="attlist.editionStmt" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="version"/>
</optional>
</define>
<!-- Extent statement -->
<define name="extent">
<element name="extent">
<ref name="attlist.extent"/>
<ref name="wordCount"/>
<ref name="byteCount"/>
<zeroOrMore>
<ref name="extNote"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.extent" combine="interleave">
<ref name="a.header"/>
</define>
<define name="wordCount">
<element name="wordCount">
<ref name="attlist.wordCount"/>
<text/>
</element>
</define>
<define name="attlist.wordCount" combine="interleave">
<ref name="a.header"/>
</define>
<define name="byteCount">
<element name="byteCount">
<ref name="attlist.byteCount"/>
<text/>
</element>
</define>
<define name="attlist.byteCount" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="units" a:defaultValue="kb">
<choice>
<value>bytes</value>
<value>kb</value>
<value>mb</value>
<value>gb</value>
</choice>
</attribute>
</optional>
</define>
<define name="extNote">
<element name="extNote">
<ref name="attlist.extNote"/>
<text/>
</element>
</define>
<define name="attlist.extNote" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Publication statement -->
<define name="publicationStmt">
<element name="publicationStmt">
<ref name="attlist.publicationStmt"/>
<ref name="distributor"/>
<ref name="pubAddress"/>
<zeroOrMore>
<ref name="telephone"/>
</zeroOrMore>
<zeroOrMore>
<ref name="fax"/>
</zeroOrMore>
<zeroOrMore>
<ref name="eAddress"/>
</zeroOrMore>
<zeroOrMore>
<ref name="idno"/>
</zeroOrMore>
<ref name="availability"/>
<ref name="pubDate"/>
</element>
</define>
<define name="attlist.publicationStmt" combine="interleave">
<ref name="a.header"/>
</define>
<define name="distributor">
<element name="distributor">
<ref name="attlist.distributor"/>
<text/>
</element>
</define>
<define name="attlist.distributor" combine="interleave">
<ref name="a.header"/>
</define>
<define name="pubAddress">
<element name="pubAddress">
<ref name="attlist.pubAddress"/>
<text/>
</element>
</define>
<define name="attlist.pubAddress" combine="interleave">
<ref name="a.header"/>
</define>
<define name="telephone">
<element name="telephone">
<ref name="attlist.telephone"/>
<text/>
</element>
</define>
<define name="attlist.telephone" combine="interleave">
<ref name="a.header"/>
</define>
<define name="fax">
<element name="fax">
<ref name="attlist.fax"/>
<text/>
</element>
</define>
<define name="attlist.fax" combine="interleave">
<ref name="a.header"/>
</define>
<define name="eAddress">
<element name="eAddress">
<ref name="attlist.eAddress"/>
<text/>
</element>
</define>
<define name="attlist.eAddress" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type" a:defaultValue="email"/>
</optional>
</define>
<define name="idno">
<element name="idno">
<ref name="attlist.idno"/>
<text/>
</element>
</define>
<define name="attlist.idno" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type" a:defaultValue="ISBN"/>
</optional>
</define>
<define name="availability">
<element name="availability">
<ref name="attlist.availability"/>
<text/>
</element>
</define>
<define name="attlist.availability" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="region" a:defaultValue="world"/>
</optional>
<optional>
<attribute name="status" a:defaultValue="unknown">
<choice>
<value>free</value>
<value>unknown</value>
<value>restricted</value>
</choice>
</attribute>
</optional>
</define>
<define name="pubDate">
<element name="pubDate">
<ref name="attlist.pubDate"/>
<text/>
</element>
</define>
<define name="attlist.pubDate" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type">
<choice>
<value>year</value>
<value>month</value>
<value>day</value>
</choice>
</attribute>
</optional>
</define>
<!-- Source description -->
<define name="sourceDesc">
<element name="sourceDesc">
<ref name="attlist.sourceDesc"/>
<oneOrMore>
<choice>
<ref name="biblFull"/>
<ref name="biblStruct"/>
</choice>
</oneOrMore>
<zeroOrMore>
<ref name="reference"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.sourceDesc" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<!--
Motivation: Anpassung des Attributs 'assemblage' an Modifikation
der Quellennachweise von al-Wadi (06.05.03),
Analoge Einrichtung des Attributs 'existence' und
Uebernahme des Attributs 'origin'
-->
<define name="reference">
<element name="reference">
<ref name="attlist.reference"/>
<text/>
</element>
</define>
<define name="attlist.reference" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type">
<choice>
<value>complete</value>
<value>super</value>
<value>short</value>
<value>former</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="assemblage">
<choice>
<value>external</value>
<value>regular</value>
<value>non-automatic</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="existence">
<choice>
<value>no</value>
<value>yes</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="origin">
<choice>
<value>BOTfile</value>
<value>notBOTfile</value>
</choice>
</attribute>
</optional>
</define>
<!-- Bibliographic citation for non-electronic source -->
<define name="h.bibl">
<element name="h.bibl">
<ref name="attlist.h.bibl"/>
<text/>
</element>
</define>
<define name="attlist.h.bibl" combine="interleave">
<ref name="a.header"/>
</define>
<define name="biblStruct">
<element name="biblStruct">
<ref name="attlist.biblStruct"/>
<optional>
<ref name="analytic"/>
</optional>
<oneOrMore>
<ref name="monogr"/>
</oneOrMore>
</element>
</define>
<define name="attlist.biblStruct" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<define name="analytic">
<element name="analytic">
<ref name="attlist.analytic"/>
<oneOrMore>
<ref name="h.title"/>
</oneOrMore>
<zeroOrMore>
<choice>
<ref name="h.author"/>
<ref name="editor"/>
</choice>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="biblScope"/>
<ref name="biblNote"/>
</choice>
</zeroOrMore>
<zeroOrMore>
<ref name="edition"/>
<optional>
<ref name="respStmt"/>
</optional>
</zeroOrMore>
<oneOrMore>
<ref name="imprint"/>
</oneOrMore>
<zeroOrMore>
<ref name="idno"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="biblNote"/>
<ref name="biblScope"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.analytic" combine="interleave">
<ref name="a.header"/>
</define>
<!-- editor: hinzu 26.07 -->
<define name="monogr">
<element name="monogr">
<ref name="attlist.monogr"/>
<oneOrMore>
<ref name="h.title"/>
</oneOrMore>
<zeroOrMore>
<choice>
<ref name="h.author"/>
<ref name="editor"/>
</choice>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="biblScope"/>
<ref name="biblNote"/>
</choice>
</zeroOrMore>
<zeroOrMore>
<ref name="edition"/>
<optional>
<ref name="respStmt"/>
</optional>
</zeroOrMore>
<oneOrMore>
<ref name="imprint"/>
</oneOrMore>
<zeroOrMore>
<ref name="idno"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="biblNote"/>
<ref name="biblScope"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.monogr" combine="interleave">
<ref name="a.header"/>
</define>
<define name="h.author">
<element name="h.author">
<ref name="attlist.h.author"/>
<text/>
</element>
</define>
<define name="attlist.h.author" combine="interleave">
<ref name="a.header"/>
</define>
<define name="editor">
<element name="editor">
<ref name="attlist.editor"/>
<text/>
</element>
</define>
<define name="attlist.editor" combine="interleave">
<ref name="a.header"/>
</define>
<define name="edition">
<element name="edition">
<ref name="attlist.edition"/>
<ref name="further"/>
<ref name="kind"/>
<ref name="appearance"/>
</element>
</define>
<define name="attlist.edition" combine="interleave">
<ref name="a.header"/>
</define>
<define name="further">
<element name="further">
<ref name="attlist.further"/>
<text/>
</element>
</define>
<define name="attlist.further" combine="interleave">
<ref name="a.header"/>
</define>
<define name="kind">
<element name="kind">
<ref name="attlist.kind"/>
<text/>
</element>
</define>
<define name="attlist.kind" combine="interleave">
<ref name="a.header"/>
</define>
<define name="appearance">
<element name="appearance">
<ref name="attlist.appearance"/>
<text/>
</element>
</define>
<define name="attlist.appearance" combine="interleave">
<ref name="a.header"/>
</define>
<define name="imprint">
<element name="imprint">
<ref name="attlist.imprint"/>
<zeroOrMore>
<choice>
<ref name="pubPlace"/>
<ref name="publisher"/>
<ref name="pubDate"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.imprint" combine="interleave">
<ref name="a.header"/>
</define>
<define name="pubPlace">
<element name="pubPlace">
<ref name="attlist.pubPlace"/>
<text/>
</element>
</define>
<define name="attlist.pubPlace" combine="interleave">
<ref name="a.header"/>
</define>
<define name="publisher">
<element name="publisher">
<ref name="attlist.publisher"/>
<text/>
</element>
</define>
<define name="attlist.publisher" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type">
<choice>
<value>place</value>
<value>org</value>
<value>person</value>
</choice>
</attribute>
</optional>
</define>
<define name="biblScope">
<element name="biblScope">
<ref name="attlist.biblScope"/>
<text/>
</element>
</define>
<define name="attlist.biblScope" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type">
<choice>
<value>subsume</value>
<value>pp</value>
<value>vol</value>
<value>issue</value>
<value>issueplace</value>
<value>suppl</value>
<value>suppltitle</value>
<value>volume-title</value>
</choice>
</attribute>
</optional>
</define>
<define name="biblNote">
<element name="biblNote">
<ref name="attlist.biblNote"/>
<text/>
</element>
</define>
<define name="attlist.biblNote" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Bibliographical info for source in electronic form -->
<define name="biblFull">
<element name="biblFull">
<ref name="attlist.biblFull"/>
<ref name="titleStmt"/>
<optional>
<ref name="editionStmt"/>
</optional>
<optional>
<ref name="extent"/>
</optional>
<ref name="publicationStmt"/>
<zeroOrMore>
<ref name="sourceDesc"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.biblFull" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Encoding description -->
<define name="encodingDesc">
<element name="encodingDesc">
<ref name="attlist.encodingDesc"/>
<optional>
<ref name="projectDesc"/>
</optional>
<zeroOrMore>
<ref name="samplingDecl"/>
</zeroOrMore>
<zeroOrMore>
<ref name="editorialDecl"/>
</zeroOrMore>
<optional>
<ref name="tagsDecl"/>
</optional>
<zeroOrMore>
<ref name="refsDecl"/>
</zeroOrMore>
<optional>
<ref name="classDecl"/>
</optional>
</element>
</define>
<define name="attlist.encodingDesc" combine="interleave">
<ref name="a.header"/>
</define>
<define name="projectDesc">
<element name="projectDesc">
<ref name="attlist.projectDesc"/>
<text/>
</element>
</define>
<define name="attlist.projectDesc" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<define name="samplingDecl">
<element name="samplingDecl">
<ref name="attlist.samplingDecl"/>
<text/>
</element>
</define>
<define name="attlist.samplingDecl" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<!-- Editorial declaration -->
<define name="editorialDecl">
<element name="editorialDecl">
<ref name="attlist.editorialDecl"/>
<oneOrMore>
<choice>
<ref name="pagination"/>
<ref name="correction"/>
<ref name="quotation"/>
<ref name="hyphenation"/>
<ref name="segmentation"/>
<ref name="transduction"/>
<ref name="normalization"/>
<ref name="conformance"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="attlist.editorialDecl" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<define name="pagination">
<element name="pagination">
<ref name="attlist.pagination"/>
<text/>
</element>
</define>
<define name="attlist.pagination" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</attribute>
</optional>
</define>
<define name="correction">
<element name="correction">
<ref name="attlist.correction"/>
<text/>
</element>
</define>
<define name="attlist.correction" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
<optional>
<attribute name="status" a:defaultValue="unknown">
<choice>
<value>high</value>
<value>medium</value>
<value>low</value>
<value>unknown</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="method" a:defaultValue="silent">
<choice>
<value>silent</value>
<value>tags</value>
</choice>
</attribute>
</optional>
</define>
<define name="quotation">
<element name="quotation">
<ref name="attlist.quotation"/>
<text/>
</element>
</define>
<define name="attlist.quotation" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
<optional>
<attribute name="marks" a:defaultValue="all">
<choice>
<value>none</value>
<value>some</value>
<value>all</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="form" a:defaultValue="unknown">
<choice>
<value>data</value>
<value>rend</value>
<value>std</value>
<value>nonstd</value>
<value>unknown</value>
</choice>
</attribute>
</optional>
</define>
<define name="hyphenation">
<element name="hyphenation">
<ref name="attlist.hyphenation"/>
<oneOrMore>
<ref name="p"/>
</oneOrMore>
</element>
</define>
<define name="attlist.hyphenation" combine="interleave">
<ref name="a.global"/>
<ref name="a.declarable"/>
<optional>
<attribute name="eol" a:defaultValue="some">
<choice>
<value>all</value>
<value>some</value>
<value>none</value>
</choice>
</attribute>
</optional>
</define>
<define name="segmentation">
<element name="segmentation">
<ref name="attlist.segmentation"/>
<text/>
</element>
</define>
<define name="attlist.segmentation" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<define name="transduction">
<element name="transduction">
<ref name="attlist.transduction"/>
<text/>
</element>
</define>
<define name="attlist.transduction" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<define name="normalization">
<element name="normalization">
<ref name="attlist.normalization"/>
<text/>
</element>
</define>
<define name="attlist.normalization" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
<optional>
<attribute name="source"/>
</optional>
<optional>
<attribute name="method" a:defaultValue="silent">
<choice>
<value>silent</value>
<value>tags</value>
</choice>
</attribute>
</optional>
</define>
<define name="conformance">
<element name="conformance">
<ref name="attlist.conformance"/>
<text/>
</element>
</define>
<define name="attlist.conformance" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="level" a:defaultValue="1">
<choice>
<value>0</value>
<value>1</value>
<value>2</value>
<value>3</value>
</choice>
</attribute>
</optional>
</define>
<!-- Tag declaration -->
<define name="tagsDecl">
<element name="tagsDecl">
<ref name="attlist.tagsDecl"/>
<oneOrMore>
<ref name="tagUsage"/>
</oneOrMore>
</element>
</define>
<define name="attlist.tagsDecl" combine="interleave">
<ref name="a.header"/>
</define>
<define name="tagUsage">
<element name="tagUsage">
<ref name="attlist.tagUsage"/>
<text/>
</element>
</define>
<define name="attlist.tagUsage" combine="interleave">
<ref name="a.header"/>
<attribute name="gi">
<data type="NMTOKEN"/>
</attribute>
<optional>
<attribute name="occurs">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="wsd"/>
</optional>
</define>
<!-- References declaration -->
<define name="ids.state">
<ref name="state"/>
</define>
<define name="ids.textDesc">
<ref name="textDesc"/>
</define>
<define name="refsDecl">
<element name="refsDecl">
<ref name="attlist.refsDecl"/>
<ref name="ids.state"/>
</element>
</define>
<define name="attlist.refsDecl" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="doctype">
<data type="NMTOKEN"/>
</attribute>
</optional>
</define>
<!-- Classify texts declaration -->
<define name="classDecl">
<element name="classDecl">
<ref name="attlist.classDecl"/>
<oneOrMore>
<ref name="taxonomy"/>
</oneOrMore>
</element>
</define>
<define name="attlist.classDecl" combine="interleave">
<ref name="a.header"/>
</define>
<define name="taxonomy">
<element name="taxonomy">
<ref name="attlist.taxonomy"/>
<choice>
<oneOrMore>
<ref name="category"/>
</oneOrMore>
<group>
<choice>
<ref name="h.bibl"/>
<ref name="biblStruct"/>
</choice>
<zeroOrMore>
<ref name="category"/>
</zeroOrMore>
</group>
</choice>
</element>
</define>
<define name="attlist.taxonomy" combine="interleave">
<ref name="a.header"/>
</define>
<define name="category">
<element name="category">
<ref name="attlist.category"/>
<ref name="catDesc"/>
<zeroOrMore>
<ref name="category"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.category" combine="interleave">
<attribute name="id">
<data type="ID"/>
</attribute>
<optional>
<attribute name="n"/>
</optional>
<optional>
<attribute name="lang">
<data type="IDREF"/>
</attribute>
</optional>
</define>
<define name="catDesc">
<element name="catDesc">
<ref name="attlist.catDesc"/>
<text/>
</element>
</define>
<define name="attlist.catDesc" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Profile description -->
<define name="profileDesc">
<element name="profileDesc">
<ref name="attlist.profileDesc"/>
<optional>
<ref name="creation"/>
</optional>
<optional>
<ref name="langUsage"/>
</optional>
<optional>
<ref name="wsdUsage"/>
</optional>
<optional>
<ref name="textClass"/>
</optional>
<optional>
<ref name="translations"/>
</optional>
<optional>
<ref name="annotations"/>
</optional>
<ref name="ids.textDesc"/>
</element>
</define>
<define name="attlist.profileDesc" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Creation element -->
<define name="creation">
<element name="creation">
<ref name="attlist.creation"/>
<ref name="creatDate"/>
<optional>
<ref name="creatRef"/>
</optional>
<optional>
<ref name="creatRefShort"/>
</optional>
</element>
</define>
<define name="attlist.creation" combine="interleave">
<ref name="a.header"/>
</define>
<define name="creatDate">
<element name="creatDate">
<ref name="attlist.creatDate"/>
<text/>
</element>
</define>
<define name="attlist.creatDate" combine="interleave">
<ref name="a.header"/>
</define>
<define name="creatRef">
<element name="creatRef">
<ref name="attlist.creatRef"/>
<text/>
</element>
</define>
<define name="attlist.creatRef" combine="interleave">
<ref name="a.header"/>
</define>
<define name="creatRefShort">
<element name="creatRefShort">
<ref name="attlist.creatRefShort"/>
<text/>
</element>
</define>
<define name="attlist.creatRefShort" combine="interleave">
<ref name="a.header"/>
</define>
<define name="langUsage">
<element name="langUsage">
<ref name="attlist.langUsage"/>
<oneOrMore>
<ref name="language"/>
</oneOrMore>
</element>
</define>
<define name="attlist.langUsage" combine="interleave">
<ref name="a.header"/>
</define>
<define name="language">
<element name="language">
<ref name="attlist.language"/>
<text/>
</element>
</define>
<define name="attlist.language" combine="interleave">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
<attribute name="usage"/>
</optional>
</define>
<define name="wsdUsage">
<element name="wsdUsage">
<ref name="attlist.wsdUsage"/>
<oneOrMore>
<ref name="writingSystem"/>
</oneOrMore>
</element>
</define>
<define name="attlist.wsdUsage" combine="interleave">
<ref name="a.header"/>
</define>
<define name="writingSystem">
<element name="writingSystem">
<ref name="attlist.writingSystem"/>
<text/>
</element>
</define>
<define name="attlist.writingSystem" combine="interleave">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
<attribute name="lang"/>
</optional>
<optional>
<attribute name="wsd">
<data type="ENTITY"/>
</attribute>
</optional>
<optional>
<attribute name="n"/>
</optional>
</define>
<!-- Text Class -->
<define name="textClass">
<element name="textClass">
<ref name="attlist.textClass"/>
<zeroOrMore>
<choice>
<ref name="catRef"/>
<ref name="h.keywords"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.textClass" combine="interleave">
<ref name="a.header"/>
<ref name="a.declarable"/>
</define>
<define name="catRef">
<element name="catRef">
<ref name="attlist.catRef"/>
<empty/>
</element>
</define>
<define name="attlist.catRef" combine="interleave">
<ref name="a.header"/>
<attribute name="target">
<data type="IDREFS"/>
</attribute>
<optional>
<attribute name="scheme"/>
</optional>
</define>
<define name="h.keywords">
<element name="h.keywords">
<ref name="attlist.h.keywords"/>
<oneOrMore>
<ref name="keyTerm"/>
</oneOrMore>
</element>
</define>
<define name="attlist.h.keywords" combine="interleave">
<ref name="a.header"/>
</define>
<define name="keyTerm">
<element name="keyTerm">
<ref name="attlist.keyTerm"/>
<text/>
</element>
</define>
<define name="attlist.keyTerm" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Translations -->
<define name="translations">
<element name="translations">
<ref name="attlist.translations"/>
<oneOrMore>
<ref name="translation"/>
<optional>
<ref name="translator"/>
</optional>
</oneOrMore>
</element>
</define>
<define name="attlist.translations" combine="interleave">
<ref name="a.header"/>
</define>
<define name="translation">
<element name="translation">
<ref name="attlist.translation"/>
<text/>
</element>
</define>
<define name="attlist.translation" combine="interleave">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<attribute name="lang"/>
<attribute name="wsd"/>
<optional>
<attribute name="n"/>
</optional>
<optional>
<attribute name="trans.loc"/>
</optional>
</define>
<define name="translator">
<element name="translator">
<ref name="attlist.translator"/>
<text/>
</element>
</define>
<define name="attlist.translator" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Annotations -->
<define name="annotations">
<element name="annotations">
<ref name="attlist.annotations"/>
<oneOrMore>
<ref name="annotation"/>
</oneOrMore>
</element>
</define>
<define name="attlist.annotations" combine="interleave">
<ref name="a.header"/>
</define>
<define name="annotation">
<element name="annotation">
<ref name="attlist.annotation"/>
<text/>
</element>
</define>
<define name="attlist.annotation" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="ann.loc"/>
</optional>
<optional>
<attribute name="trans.loc"/>
</optional>
</define>
<!-- TextDesc -->
<define name="textDesc">
<element name="textDesc">
<ref name="attlist.textDesc"/>
<group>
<optional>
<ref name="textType"/>
</optional>
<optional>
<ref name="textTypeRef"/>
</optional>
</group>
<group>
<optional>
<ref name="textTypeArt"/>
</optional>
<optional>
<ref name="textDomain"/>
</optional>
<optional>
<ref name="column"/>
</optional>
</group>
</element>
</define>
<define name="attlist.textDesc" combine="interleave">
<ref name="a.header"/>
</define>
<define name="textType">
<element name="textType">
<ref name="attlist.textType"/>
<text/>
</element>
</define>
<define name="attlist.textType" combine="interleave">
<ref name="a.header"/>
</define>
<define name="textTypeRef">
<element name="textTypeRef">
<ref name="attlist.textTypeRef"/>
<text/>
</element>
</define>
<define name="attlist.textTypeRef" combine="interleave">
<ref name="a.header"/>
</define>
<define name="textTypeArt">
<element name="textTypeArt">
<ref name="attlist.textTypeArt"/>
<text/>
</element>
</define>
<define name="attlist.textTypeArt" combine="interleave">
<ref name="a.header"/>
</define>
<define name="textDomain">
<element name="textDomain">
<ref name="attlist.textDomain"/>
<text/>
</element>
</define>
<define name="attlist.textDomain" combine="interleave">
<ref name="a.header"/>
</define>
<define name="column">
<element name="column">
<ref name="attlist.column"/>
<text/>
</element>
</define>
<define name="attlist.column" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Revision description -->
<define name="revisionDesc">
<element name="revisionDesc">
<ref name="attlist.revisionDesc"/>
<oneOrMore>
<ref name="change"/>
</oneOrMore>
</element>
</define>
<define name="attlist.revisionDesc" combine="interleave">
<ref name="a.header"/>
</define>
<define name="change">
<element name="change">
<ref name="attlist.change"/>
<ref name="changeDate"/>
<ref name="respName"/>
<oneOrMore>
<ref name="h.item"/>
</oneOrMore>
</element>
</define>
<define name="attlist.change" combine="interleave">
<ref name="a.header"/>
</define>
<define name="changeDate">
<element name="changeDate">
<ref name="attlist.changeDate"/>
<text/>
</element>
</define>
<define name="attlist.changeDate" combine="interleave">
<ref name="a.header"/>
<optional>
<attribute name="value"/>
</optional>
</define>
<define name="h.item">
<element name="h.item">
<ref name="attlist.h.item"/>
<text/>
</element>
</define>
<define name="attlist.h.item" combine="interleave">
<ref name="a.header"/>
</define>
<!-- Sub-paragraph elements -->
<define name="x.token">
<notAllowed/>
</define>
<define name="m.token">
<choice>
<ref name="x.token"/>
<ref name="abbr"/>
<ref name="date"/>
<ref name="num"/>
<ref name="dateRange"/>
<ref name="numRange"/>
<ref name="timeRange"/>
<ref name="measure"/>
<ref name="name"/>
<ref name="term"/>
<ref name="time"/>
<ref name="w"/>
</choice>
</define>
<define name="m.phrase">
<choice>
<ref name="m.token"/>
<ref name="corr"/>
<ref name="distinct"/>
<ref name="foreign"/>
<ref name="gap"/>
<ref name="hi"/>
<ref name="list"/>
<ref name="mentioned"/>
<ref name="orig"/>
<ref name="q"/>
<ref name="ref"/>
<ref name="reg"/>
<ref name="s"/>
<ref name="stage"/>
<ref name="title"/>
<ref name="table"/>
<ref name="xref"/>
</choice>
</define>
<define name="base.seq">
<choice>
<text/>
<ref name="x.token"/>
<ref name="num"/>
<ref name="numRange"/>
<ref name="abbr"/>
<ref name="hi"/>
</choice>
</define>
<define name="phrase.seq">
<choice>
<text/>
<ref name="m.phrase"/>
</choice>
</define>
<define name="ids.milestones">
<choice>
<ref name="pb"/>
<ref name="lb"/>
<ref name="ptr"/>
<ref name="xptr"/>
</choice>
</define>
<define name="a.text">
<ref name="a.global"/>
<optional>
<attribute name="rend"/>
</optional>
<optional>
<attribute name="wsd"/>
</optional>
</define>
<define name="abbr">
<element name="abbr">
<ref name="attlist.abbr"/>
<text/>
</element>
</define>
<define name="attlist.abbr" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="expan"/>
</optional>
<optional>
<attribute name="resp">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="cert"/>
</optional>
<optional>
<attribute name="type"/>
</optional>
</define>
<define name="corr">
<element name="corr">
<ref name="attlist.corr"/>
<zeroOrMore>
<ref name="phrase.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.corr" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="sic"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="cert"/>
</optional>
</define>
<define name="p">
<element name="p">
<ref name="attlist.p"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.p" combine="interleave">
<ref name="a.text"/>
</define>
<define name="ids.q.att.type">
<optional>
<attribute name="type" a:defaultValue="unspec">
<choice>
<value>w</value>
<value>o</value>
<value>unspec</value>
</choice>
</attribute>
</optional>
</define>
<!-- SENTENCES, QUOTED DIALOGUE WITHIN PARAGRAPHS -->
<define name="s">
<element name="s">
<ref name="attlist.s"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.s" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="next">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="prev">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="broken" a:defaultValue="no">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</attribute>
</optional>
</define>
<define name="q">
<element name="q">
<ref name="attlist.q"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.q" combine="interleave">
<ref name="a.text"/>
<ref name="ids.q.att.type"/>
<optional>
<attribute name="next">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="prev">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="direct" a:defaultValue="unspecified">
<choice>
<value>y</value>
<value>n</value>
<value>unspecified</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="who"/>
</optional>
<optional>
<attribute name="broken" a:defaultValue="no">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</attribute>
</optional>
</define>
<!--
Analog zu TEI koennen auch poem und quote
innerhalb von sp auftreten
-->
<define name="sp">
<element name="sp">
<ref name="attlist.sp"/>
<zeroOrMore>
<choice>
<ref name="speaker"/>
<ref name="p"/>
<ref name="quote"/>
<ref name="poem"/>
<ref name="stage"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.sp" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="who"/>
</optional>
</define>
<define name="speaker">
<element name="speaker">
<ref name="attlist.speaker"/>
<zeroOrMore>
<choice>
<ref name="base.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.speaker" combine="interleave">
<ref name="a.text"/>
</define>
<define name="stage">
<element name="stage">
<ref name="attlist.stage"/>
<zeroOrMore>
<choice>
<ref name="base.seq"/>
<ref name="p"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.stage" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
</define>
<!-- Tables -->
<define name="table">
<element name="table">
<ref name="attlist.table"/>
<optional>
<ref name="head"/>
</optional>
<oneOrMore>
<choice>
<ref name="row"/>
<ref name="ids.milestones"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="attlist.table" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="rows">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="cols">
<data type="NMTOKEN"/>
</attribute>
</optional>
</define>
<define name="row">
<element name="row">
<ref name="attlist.row"/>
<oneOrMore>
<choice>
<ref name="cell"/>
<ref name="table"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="attlist.row" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="role" a:defaultValue="data"/>
</optional>
</define>
<define name="cell">
<element name="cell">
<ref name="attlist.cell"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.cell" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="role" a:defaultValue="data"/>
</optional>
<optional>
<attribute name="rows" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="cols" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
</define>
<define name="time">
<element name="time">
<ref name="attlist.time"/>
<zeroOrMore>
<choice>
<ref name="base.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.time" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="ISO8601"/>
</optional>
<optional>
<attribute name="type">
<choice>
<value>am</value>
<value>pm</value>
<value>24hour</value>
<value>descriptive</value>
</choice>
</attribute>
</optional>
</define>
<define name="dateRange">
<element name="dateRange">
<ref name="attlist.dateRange"/>
<zeroOrMore>
<ref name="base.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.dateRange" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="from"/>
</optional>
<optional>
<attribute name="to"/>
</optional>
</define>
<define name="numRange">
<element name="numRange">
<ref name="attlist.numRange"/>
<zeroOrMore>
<ref name="base.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.numRange" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="from"/>
</optional>
<optional>
<attribute name="to"/>
</optional>
<optional>
<attribute name="type"/>
</optional>
</define>
<define name="timeRange">
<element name="timeRange">
<ref name="attlist.timeRange"/>
<zeroOrMore>
<ref name="base.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.timeRange" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="from"/>
</optional>
<optional>
<attribute name="to"/>
</optional>
</define>
<define name="w">
<element name="w">
<ref name="attlist.w"/>
<text/>
</element>
</define>
<define name="attlist.w" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="ana"/>
</optional>
<optional>
<attribute name="ctag"/>
</optional>
<optional>
<attribute name="type"/>
</optional>
</define>
<define name="title">
<element name="title">
<ref name="attlist.title"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.title" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
</define>
<!-- Highlighted text -->
<define name="hi">
<element name="hi">
<ref name="attlist.hi"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.hi" combine="interleave">
<ref name="a.text"/>
</define>
<!-- Other Phrase-level Elements -->
<define name="date">
<element name="date">
<ref name="attlist.date"/>
<zeroOrMore>
<ref name="base.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.date" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="ISO8601"/>
</optional>
</define>
<define name="foreign">
<element name="foreign">
<ref name="attlist.foreign"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.foreign" combine="interleave">
<ref name="a.text"/>
</define>
<define name="distinct">
<element name="distinct">
<ref name="attlist.distinct"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.distinct" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
</define>
<define name="mentioned">
<element name="mentioned">
<ref name="attlist.mentioned"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.mentioned" combine="interleave">
<ref name="a.text"/>
</define>
<define name="measure">
<element name="measure">
<ref name="attlist.measure"/>
<zeroOrMore>
<ref name="base.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.measure" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type">
<choice>
<value>weight</value>
<value>length</value>
<value>count</value>
<value>area</value>
<value>volume</value>
<value>temperature</value>
<value>currency</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="value"/>
</optional>
</define>
<define name="name">
<element name="name">
<ref name="attlist.name"/>
<zeroOrMore>
<choice>
<ref name="base.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.name" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
</define>
<define name="term">
<element name="term">
<ref name="attlist.term"/>
<zeroOrMore>
<choice>
<ref name="base.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.term" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
</define>
<!-- Editorial Changes -->
<define name="gap">
<element name="gap">
<ref name="attlist.gap"/>
<empty/>
</element>
</define>
<define name="attlist.gap" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="desc"/>
</optional>
<optional>
<attribute name="reason"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="cert"/>
</optional>
</define>
<define name="reg">
<element name="reg">
<ref name="attlist.reg"/>
<zeroOrMore>
<ref name="phrase.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.reg" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="orig"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="cert"/>
</optional>
</define>
<!--
Seubert, 07.03.05 erweitert um Attribut 'regalt' wg. Varianten
in sog. Sparschreibung
-->
<define name="orig">
<element name="orig">
<ref name="attlist.orig"/>
<zeroOrMore>
<ref name="phrase.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.orig" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="reg"/>
</optional>
<optional>
<attribute name="regalt"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="cert"/>
</optional>
</define>
<define name="list">
<element name="list">
<ref name="attlist.list"/>
<optional>
<ref name="head"/>
</optional>
<zeroOrMore>
<choice>
<ref name="item"/>
<group>
<ref name="label"/>
<zeroOrMore>
<ref name="ids.milestones"/>
</zeroOrMore>
<ref name="item"/>
</group>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.list" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
</define>
<define name="item">
<element name="item">
<ref name="attlist.item"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="p"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.item" combine="interleave">
<ref name="a.text"/>
</define>
<define name="label">
<element name="label">
<ref name="attlist.label"/>
<zeroOrMore>
<ref name="phrase.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.label" combine="interleave">
<ref name="a.text"/>
</define>
<define name="num">
<element name="num">
<ref name="attlist.num"/>
<text/>
</element>
</define>
<define name="attlist.num" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="value"/>
</optional>
</define>
<!-- Simple cross references -->
<define name="ptr">
<element name="ptr">
<ref name="attlist.ptr"/>
<empty/>
</element>
</define>
<define name="attlist.ptr" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="corresp">
<data type="IDREFS"/>
</attribute>
</optional>
<optional>
<attribute name="next">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="prev">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="crdate"/>
</optional>
<optional>
<attribute name="targType">
<data type="NMTOKENS"/>
</attribute>
</optional>
<optional>
<attribute name="targOrder" a:defaultValue="u">
<choice>
<value>y</value>
<value>n</value>
<value>u</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="evaluate">
<choice>
<value>all</value>
<value>one</value>
<value>none</value>
</choice>
</attribute>
</optional>
<attribute name="target">
<data type="IDREFS"/>
</attribute>
</define>
<define name="ref">
<element name="ref">
<ref name="attlist.ref"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.ref" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="corresp">
<data type="IDREFS"/>
</attribute>
</optional>
<optional>
<attribute name="next">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="prev">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="crdate"/>
</optional>
<optional>
<attribute name="targType">
<data type="NMTOKENS"/>
</attribute>
</optional>
<optional>
<attribute name="targOrder" a:defaultValue="u">
<choice>
<value>y</value>
<value>n</value>
<value>u</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="evaluate">
<choice>
<value>all</value>
<value>one</value>
<value>none</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="target"/>
</optional>
</define>
<define name="pb">
<element name="pb">
<ref name="attlist.pb"/>
<empty/>
</element>
</define>
<define name="attlist.pb" combine="interleave">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
<attribute name="lang">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="rend"/>
</optional>
<optional>
<attribute name="ed"/>
</optional>
<optional>
<attribute name="n"/>
</optional>
<optional>
<attribute name="TEIform" a:defaultValue="pb"/>
</optional>
</define>
<define name="lb">
<element name="lb">
<ref name="attlist.lb"/>
<empty/>
</element>
</define>
<define name="attlist.lb" combine="interleave">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
<attribute name="lang">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="rend"/>
</optional>
<optional>
<attribute name="ed"/>
</optional>
<optional>
<attribute name="n"/>
</optional>
<optional>
<attribute name="TEIform" a:defaultValue="pb"/>
</optional>
</define>
<define name="xptr">
<element name="xptr">
<ref name="attlist.xptr"/>
<empty/>
</element>
</define>
<define name="attlist.xptr" combine="interleave">
<optional>
<attribute name="corresp">
<data type="IDREFS"/>
</attribute>
</optional>
<optional>
<attribute name="next">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="prev">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="ana">
<data type="IDREFS"/>
</attribute>
</optional>
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
<attribute name="n"/>
</optional>
<optional>
<attribute name="lang">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="rend"/>
</optional>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="crdate"/>
</optional>
<optional>
<attribute name="targType"/>
</optional>
<optional>
<attribute name="targOrder" a:defaultValue="u">
<choice>
<value>y</value>
<value>n</value>
<value>u</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="evaluate">
<choice>
<value>all</value>
<value>one</value>
<value>none</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="doc"/>
</optional>
<optional>
<attribute name="from" a:defaultValue="ROOT"/>
</optional>
<optional>
<attribute name="to" a:defaultValue="DITTO"/>
</optional>
<optional>
<attribute name="TEIform" a:defaultValue="xptr"/>
</optional>
</define>
<define name="xref">
<element name="xref">
<ref name="attlist.xref"/>
<zeroOrMore>
<ref name="phrase.seq"/>
</zeroOrMore>
</element>
</define>
<define name="attlist.xref" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="corresp">
<data type="IDREFS"/>
</attribute>
</optional>
<optional>
<attribute name="next">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="prev">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="ana">
<data type="IDREFS"/>
</attribute>
</optional>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="resp"/>
</optional>
<optional>
<attribute name="crdate"/>
</optional>
<optional>
<attribute name="targType"/>
</optional>
<optional>
<attribute name="targOrder" a:defaultValue="u">
<choice>
<value>y</value>
<value>n</value>
<value>u</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="evaluate">
<choice>
<value>all</value>
<value>one</value>
<value>none</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="doc">
<data type="ENTITY"/>
</attribute>
</optional>
<optional>
<attribute name="from" a:defaultValue="ROOT"/>
</optional>
<optional>
<attribute name="to" a:defaultValue="DITTO"/>
</optional>
<optional>
<attribute name="TEIform" a:defaultValue="xref"/>
</optional>
</define>
<define name="head">
<element name="head">
<ref name="attlist.head"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ptr"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.head" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type" a:defaultValue="unspecified">
<choice>
<value>top</value>
<value>main</value>
<value>sub</value>
<value>cross</value>
<value>desc</value>
<value>unspecified</value>
</choice>
</attribute>
</optional>
</define>
<define name="state">
<element name="state">
<ref name="attlist.state"/>
<empty/>
</element>
</define>
<define name="attlist.state" combine="interleave">
<ref name="a.global"/>
<optional>
<attribute name="ed"/>
</optional>
<attribute name="unit"/>
<optional>
<attribute name="length">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="delim"/>
</optional>
</define>
<!-- Poems -->
<define name="poem">
<element name="poem">
<ref name="attlist.poem"/>
<optional>
<ref name="head"/>
</optional>
<oneOrMore>
<choice>
<ref name="lg"/>
<ref name="l"/>
<ref name="ids.milestones"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="attlist.poem" combine="interleave">
<ref name="a.text"/>
</define>
<define name="lg">
<element name="lg">
<ref name="attlist.lg"/>
<oneOrMore>
<choice>
<ref name="l"/>
<ref name="lg"/>
<ref name="ids.milestones"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="attlist.lg" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="part" a:defaultValue="u">
<choice>
<value>y</value>
<value>n</value>
<value>u</value>
</choice>
</attribute>
</optional>
</define>
<define name="l">
<element name="l">
<ref name="attlist.l"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.l" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="part" a:defaultValue="u">
<choice>
<value>y</value>
<value>n</value>
<value>u</value>
</choice>
</attribute>
</optional>
</define>
<!-- Quotations -->
<define name="quote">
<element name="quote">
<ref name="attlist.quote"/>
<zeroOrMore>
<choice>
<ref name="phrase.seq"/>
<ref name="p"/>
<ref name="poem"/>
<ref name="ids.milestones"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="attlist.quote" combine="interleave">
<ref name="a.text"/>
<optional>
<attribute name="next">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="prev">
<data type="IDREF"/>
</attribute>
</optional>
<optional>
<attribute name="type"/>
</optional>
<optional>
<attribute name="broken" a:defaultValue="no">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</attribute>
</optional>
</define>
</grammar>