add schemas and catalog
Change-Id: I271e13d4b6db999f6d56c2f923a1d7c493fee172
diff --git a/KorAP_schemas/header.rng b/KorAP_schemas/header.rng
new file mode 100644
index 0000000..93d758b
--- /dev/null
+++ b/KorAP_schemas/header.rng
@@ -0,0 +1,2789 @@
+<?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>