# TEI DTD  generated on 2004-07-16

# ** Text Encoding Initiative Consortium:
# ** Guidelines for Electronic Text Encoding and Interchange.
# ** Compiled version of TEI Lite, a view of the the TEI DTD, as
# ** documented in TEI U5. Based on the 2004-07-15 TEI P4 (XML) DTD.
# **
# ** Copyright 2004 TEI Consortium.
# **
# ** This document type declaration is free "software"; you can
# ** redistribute it and/or modify it under the terms of the GNU
# ** General Public License as published by the Free Software
# ** Foundation; either version 2 of the License, or (at your option)
# ** any later version.
# **
# ** This DTD is distributed in the hope that it will be useful, but
# ** WITHOUT ANY WARRANTY; without even the implied warranty of
# ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# ** General Public License for more details.
# **
# ** You should have received a copy of the GNU General Public License
# ** along with this DTD fragment; if not, write to the
# **   Free Software Foundation, Inc.
# **   59 Temple Place, Suite 330
# **   Boston, MA  02111-1307
# **   USA

# ** Modified versions this DTD may well validate non-conformant
# ** documents. To create DTDs that validate only TEI conformant
# ** documents customizations should be performed only as specified by
# ** chapter 29 of the Guidelines, "Modifying and Customizing the TEI
# ** DTD". This can often be most easily accomplished by obtaining the
# ** customization files used to make this file (available at
# ** http://www.tei-c.org/Lite/DTD/teilitex.dtd and
# ** http://www.tei-c.org/Lite/DTD/teilitex.ent), modifying those files
# ** to suit your needs, and then generating a compiled DTD like this
# ** one using the "pizza chef" at http://www.tei-c.org/pizza.html.
# **
# ** Users not following these recomendations, but rather directly
# ** modifying this file, are asked to change the root element name
# ** from "TEI.2" to something that does not start with the letters
# ** "TEI" or "tei".
# **
# ** These materials are subject to revision; the TEI Consortium plans
# ** to maintain these Guidelines for 5 years past the publication of
# ** the next major version (P5), during which period current versions
# ** of this (P4) DTD should be available from the Consortium website
# ** at http://www.tei-c.org/.
# ** 
# ** To contact the TEI Consortium use the following addresses.
# ** - For general (non-technical) enquiries: info@tei-c.org
# ** - For membership enquiries: membership@tei-c.org
# ** - For technical enqiries, particularly about the Guidelines, DTDs,
# **    schemas, or software available from the TEI-C: editors@tei-c.org
# ** - via physical mail:
# **     TEI Office         TEI c/o IATH
# **     AKSIS              Alderman Library, University of Virginia
# **     Allegaten 27       P.O. Box 400115
# **     N-5007 Bergen      Charlottesville, VA  22904-4115
# **     Norway             USA

# ** This file is the equivalent of the following DOCTYPE declaration:
# ** <!DOCTYPE TEI.2 PUBLIC "-//TEI P4//DTD Main DTD Driver File//EN"
# **                        "http://www.tei-c.org/P4X/DTD/tei2.dtd" [
# **    <!ENTITY % TEI.prose    'INCLUDE' >
# **    <!ENTITY % TEI.linking  'INCLUDE' >
# **    <!ENTITY % TEI.analysis 'INCLUDE' >
# **    <!ENTITY % TEI.figures  'INCLUDE' >
# **    <!ENTITY % TEI.XML      'INCLUDE' >
# **    <!ENTITY % TEI.extensions.ent SYSTEM 'http://www.tei-c.org/Lite/DTD/teilitex.ent' >
# **    <!ENTITY % TEI.extensions.dtd SYSTEM 'http://www.tei-c.org/Lite/DTD/teilitex.dtd' >
# ** ]>
# ** and was actually created by maketeidtd using the driver
# ** file at http://www.tei-c.org/Lite/DTD/teixlite.dec.

namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"

TEI.2 = element TEI.2 { attlist.TEI.2, teiHeader, \text }
attlist.TEI.2 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "TEI.2" ] attribute TEIform { text }?
gi = element gi { attlist.gi, text }
attlist.gi &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "yes" ] attribute TEI { "yes" | "no" }?,
  [ a:defaultValue = "gi" ] attribute TEIform { text }?
eg = element eg { attlist.eg, text }
attlist.eg &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "eg" ] attribute TEIform { text }?
code = element code { attlist.code, text }
attlist.code &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?
ident = element ident { attlist.ident, text }
attlist.ident &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?
kw = element kw { attlist.kw, text }
attlist.kw &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?
teiHeader =
  element teiHeader {
    attlist.teiHeader,
    fileDesc,
    encodingDesc*,
    profileDesc*,
    revisionDesc?
  }
attlist.teiHeader &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "text" ] attribute type { text }?,
  attribute creator { text }?,
  [ a:defaultValue = "new" ] attribute status { "new" | "update" }?,
  attribute date.created { text }?,
  attribute date.updated { text }?,
  [ a:defaultValue = "teiHeader" ] attribute TEIform { text }?
fileDesc =
  element fileDesc {
    attlist.fileDesc,
    titleStmt,
    editionStmt?,
    extent?,
    publicationStmt,
    seriesStmt?,
    notesStmt?,
    sourceDesc+
  }
attlist.fileDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "fileDesc" ] attribute TEIform { text }?
titleStmt =
  element titleStmt {
    attlist.titleStmt,
    title+,
    (author | editor | sponsor | funder | principal | respStmt)*
  }
attlist.titleStmt &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "titleStmt" ] attribute TEIform { text }?
sponsor =
  element sponsor {
    attlist.sponsor,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.sponsor &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "sponsor" ] attribute TEIform { text }?
funder =
  element funder {
    attlist.funder,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.funder &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "funder" ] attribute TEIform { text }?
principal =
  element principal {
    attlist.principal,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.principal &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "principal" ] attribute TEIform { text }?
editionStmt =
  element editionStmt {
    attlist.editionStmt,
    ((edition, respStmt*) | p+)
  }
attlist.editionStmt &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "editionStmt" ] attribute TEIform { text }?
edition =
  element edition {
    attlist.edition,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.edition &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "edition" ] attribute TEIform { text }?
extent =
  element extent {
    attlist.extent,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.extent &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "extent" ] attribute TEIform { text }?
publicationStmt =
  element publicationStmt {
    attlist.publicationStmt,
    ((p,
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | ((publisher
         | distributor
         | authority
         | pubPlace
         | address
         | idno
         | availability
         | date),
        (anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*)+)
  }
attlist.publicationStmt &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "publicationStmt" ] attribute TEIform { text }?
distributor =
  element distributor {
    attlist.distributor,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.distributor &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "distributor" ] attribute TEIform { text }?
authority =
  element authority {
    attlist.authority,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.authority &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "authority" ] attribute TEIform { text }?
idno = element idno { attlist.idno, text }
attlist.idno &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "idno" ] attribute TEIform { text }?
availability = element availability { attlist.availability, p+ }
attlist.availability &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "unknown" ]
  attribute status { "free" | "unknown" | "restricted" }?,
  [ a:defaultValue = "availability" ] attribute TEIform { text }?
seriesStmt =
  element seriesStmt {
    attlist.seriesStmt,
    ((title+, (idno | respStmt)*)
     | p+)
  }
attlist.seriesStmt &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "seriesStmt" ] attribute TEIform { text }?
notesStmt = element notesStmt { attlist.notesStmt, note+ }
attlist.notesStmt &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "notesStmt" ] attribute TEIform { text }?
sourceDesc =
  element sourceDesc {
    attlist.sourceDesc, (p | bibl | biblFull | listBibl)+
  }
attlist.sourceDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "sourceDesc" ] attribute TEIform { text }?
encodingDesc =
  element encodingDesc {
    attlist.encodingDesc,
    projectDesc*,
    samplingDecl*,
    editorialDecl*,
    tagsDecl?,
    refsDecl*,
    classDecl*,
    p*
  }
attlist.encodingDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "encodingDesc" ] attribute TEIform { text }?
projectDesc = element projectDesc { attlist.projectDesc, p+ }
attlist.projectDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "projectDesc" ] attribute TEIform { text }?
samplingDecl = element samplingDecl { attlist.samplingDecl, p+ }
attlist.samplingDecl &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "samplingDecl" ] attribute TEIform { text }?
editorialDecl = element editorialDecl { attlist.editorialDecl, p+ }
attlist.editorialDecl &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "editorialDecl" ] attribute TEIform { text }?
tagsDecl = element tagsDecl { attlist.tagsDecl, rendition*, tagUsage* }
attlist.tagsDecl &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "tagsDecl" ] attribute TEIform { text }?
tagUsage =
  element tagUsage {
    attlist.tagUsage,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.tagUsage &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute gi { text },
  attribute occurs { text }?,
  attribute ident { text }?,
  attribute render { xsd:IDREF }?,
  [ a:defaultValue = "tagUsage" ] attribute TEIform { text }?
rendition =
  element rendition {
    attlist.rendition,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.rendition &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "rendition" ] attribute TEIform { text }?
refsDecl = element refsDecl { attlist.refsDecl, p+ }
attlist.refsDecl &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "TEI.2" ] attribute doctype { text }?,
  [ a:defaultValue = "refsDecl" ] attribute TEIform { text }?
classDecl = element classDecl { attlist.classDecl, taxonomy+ }
attlist.classDecl &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "classDecl" ] attribute TEIform { text }?
taxonomy =
  element taxonomy {
    attlist.taxonomy,
    (category+
     | ((bibl | biblFull), category*))
  }
attlist.taxonomy &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "taxonomy" ] attribute TEIform { text }?
category = element category { attlist.category, catDesc, category* }
attlist.category &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "category" ] attribute TEIform { text }?
catDesc =
  element catDesc {
    attlist.catDesc,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi)*
  }
attlist.catDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "catDesc" ] attribute TEIform { text }?
profileDesc =
  element profileDesc {
    attlist.profileDesc, creation?, langUsage*, textClass*
  }
attlist.profileDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "profileDesc" ] attribute TEIform { text }?
creation =
  element creation {
    attlist.creation,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.creation &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "creation" ] attribute TEIform { text }?
langUsage = element langUsage { attlist.langUsage, (p | language)+ }
attlist.langUsage &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "langUsage" ] attribute TEIform { text }?
language =
  element language {
    attlist.language,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.language &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute wsd { xsd:ENTITY }?,
  attribute usage { xsd:NMTOKEN }?,
  [ a:defaultValue = "language" ] attribute TEIform { text }?
textClass =
  element textClass {
    attlist.textClass, (classCode | catRef | keywords)*
  }
attlist.textClass &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "textClass" ] attribute TEIform { text }?
keywords = element keywords { attlist.keywords, (term+ | \list) }
attlist.keywords &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute scheme { xsd:IDREF }?,
  [ a:defaultValue = "keywords" ] attribute TEIform { text }?
classCode =
  element classCode {
    attlist.classCode,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.classCode &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute scheme { xsd:IDREF }?,
  [ a:defaultValue = "classCode" ] attribute TEIform { text }?
catRef = element catRef { attlist.catRef, empty }
attlist.catRef &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute target { xsd:IDREFS },
  attribute scheme { xsd:IDREF }?,
  [ a:defaultValue = "catRef" ] attribute TEIform { text }?
revisionDesc =
  element revisionDesc { attlist.revisionDesc, (\list | change+) }
attlist.revisionDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "revisionDesc" ] attribute TEIform { text }?
change = element change { attlist.change, date, respStmt+, item }
attlist.change &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "change" ] attribute TEIform { text }?
p =
  element p {
    attlist.p,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.p &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "p" ] attribute TEIform { text }?
foreign =
  element foreign {
    attlist.foreign,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.foreign &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "foreign" ] attribute TEIform { text }?
emph =
  element emph {
    attlist.emph,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.emph &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "emph" ] attribute TEIform { text }?
hi =
  element hi {
    attlist.hi,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.hi &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "hi" ] attribute TEIform { text }?
q =
  element q {
    attlist.q,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | ab
     | l
     | lg
     | p
     | sp
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.q &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "unspecified" ]
  attribute direct { "y" | "n" | "unspecified" }?,
  attribute who { text }?,
  [ a:defaultValue = "q" ] attribute TEIform { text }?
cit =
  element cit {
    attlist.cit,
    (q
     | bibl
     | biblFull
     | ptr
     | ref
     | xptr
     | xref
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)+
  }
attlist.cit &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "cit" ] attribute TEIform { text }?
soCalled =
  element soCalled {
    attlist.soCalled,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.soCalled &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "soCalled" ] attribute TEIform { text }?
term =
  element term {
    attlist.term,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.term &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "term" ] attribute TEIform { text }?
mentioned =
  element mentioned {
    attlist.mentioned,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.mentioned &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "mentioned" ] attribute TEIform { text }?
gloss =
  element gloss {
    attlist.gloss,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.gloss &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute target { xsd:IDREF }?,
  [ a:defaultValue = "gloss" ] attribute TEIform { text }?
name =
  element name {
    attlist.name,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.name &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute key { text }?,
  attribute reg { text }?,
  attribute type { text }?,
  [ a:defaultValue = "name" ] attribute TEIform { text }?
rs =
  element rs {
    attlist.rs,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.rs &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute key { text }?,
  attribute reg { text }?,
  attribute type { text }?,
  [ a:defaultValue = "rs" ] attribute TEIform { text }?
num =
  element num {
    attlist.num,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.num &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute value { text }?,
  [ a:defaultValue = "num" ] attribute TEIform { text }?
date =
  element date {
    attlist.date,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.date &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute calendar { text }?,
  attribute value { text }?,
  attribute certainty { text }?,
  [ a:defaultValue = "date" ] attribute TEIform { text }?
time =
  element time {
    attlist.time,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.time &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute value { text }?,
  attribute type { "am" | "pm" | "24hour" | "descriptive" }?,
  attribute zone { text }?,
  [ a:defaultValue = "time" ] attribute TEIform { text }?
abbr =
  element abbr {
    attlist.abbr,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.abbr &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute expan { text }?,
  attribute resp { xsd:IDREF }?,
  attribute cert { text }?,
  attribute type { text }?,
  [ a:defaultValue = "abbr" ] attribute TEIform { text }?
sic =
  element sic {
    attlist.sic,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | ab
     | l
     | lg
     | p
     | sp
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.sic &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute corr { text }?,
  attribute resp { text }?,
  attribute cert { text }?,
  [ a:defaultValue = "sic" ] attribute TEIform { text }?
corr =
  element corr {
    attlist.corr,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | ab
     | l
     | lg
     | p
     | sp
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.corr &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute sic { text }?,
  attribute resp { text }?,
  attribute cert { text }?,
  [ a:defaultValue = "corr" ] attribute TEIform { text }?
reg =
  element reg {
    attlist.reg,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.reg &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute orig { text }?,
  attribute resp { text }?,
  [ a:defaultValue = "reg" ] attribute TEIform { text }?
orig =
  element orig {
    attlist.orig,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.orig &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute reg { text }?,
  attribute resp { text }?,
  [ a:defaultValue = "orig" ] attribute TEIform { text }?
gap = element gap { attlist.gap, empty }
attlist.gap &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute desc { text }?,
  attribute reason { text }?,
  attribute resp { xsd:IDREF }?,
  attribute hand { xsd:IDREF }?,
  attribute agent { text }?,
  attribute extent { text }?,
  [ a:defaultValue = "gap" ] attribute TEIform { text }?
add =
  element add {
    attlist.add,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | ab
     | l
     | lg
     | p
     | sp
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.add &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute place { text }?,
  attribute resp { xsd:IDREF }?,
  attribute cert { text }?,
  attribute hand { xsd:IDREF }?,
  [ a:defaultValue = "add" ] attribute TEIform { text }?
del =
  element del {
    attlist.del,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.del &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "unremarkable" ] attribute status { text }?,
  attribute resp { xsd:IDREF }?,
  attribute cert { text }?,
  attribute hand { xsd:IDREF }?,
  [ a:defaultValue = "del" ] attribute TEIform { text }?
unclear =
  element unclear {
    attlist.unclear,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.unclear &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute reason { text }?,
  attribute resp { text }?,
  attribute cert { text }?,
  attribute hand { xsd:IDREF }?,
  attribute agent { text }?,
  [ a:defaultValue = "unclear" ] attribute TEIform { text }?
address =
  element address {
    attlist.address,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    ((addrLine,
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (name,
        (anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*)*)
  }
attlist.address &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "address" ] attribute TEIform { text }?
addrLine =
  element addrLine {
    attlist.addrLine,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.addrLine &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "addrLine" ] attribute TEIform { text }?
ptr = element ptr { attlist.ptr, empty }
attlist.ptr &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute resp { text }?,
  attribute crdate { text }?,
  attribute targType { text }?,
  [ a:defaultValue = "U" ] attribute targOrder { "Y" | "N" | "U" }?,
  attribute evaluate { "all" | "one" | "none" }?,
  attribute target { xsd:IDREFS },
  [ a:defaultValue = "ptr" ] attribute TEIform { text }?
ref =
  element ref {
    attlist.ref,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.ref &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute resp { text }?,
  attribute crdate { text }?,
  attribute targType { text }?,
  [ a:defaultValue = "U" ] attribute targOrder { "Y" | "N" | "U" }?,
  attribute evaluate { "all" | "one" | "none" }?,
  attribute target { xsd:IDREFS }?,
  [ a:defaultValue = "ref" ] attribute TEIform { text }?
\list =
  element list {
    attlist.list,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (head,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    ((item,
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)*
     | (label,
        (anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*,
        item,
        (anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*)+)
  }
attlist.list &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "simple" ] attribute type { text }?,
  [ a:defaultValue = "list" ] attribute TEIform { text }?
item =
  element item {
    attlist.item,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | ab
     | l
     | lg
     | p
     | sp
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.item &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "item" ] attribute TEIform { text }?
label =
  element label {
    attlist.label,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.label &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "label" ] attribute TEIform { text }?
head =
  element head {
    attlist.head,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.head &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "head" ] attribute TEIform { text }?
note =
  element note {
    attlist.note,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | ab
     | l
     | lg
     | p
     | sp
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.note &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute resp { text }?,
  [ a:defaultValue = "unspecified" ] attribute place { text }?,
  [ a:defaultValue = "yes" ] attribute anchored { "yes" | "no" }?,
  attribute target { xsd:IDREFS }?,
  attribute targetEnd { xsd:IDREFS }?,
  [ a:defaultValue = "note" ] attribute TEIform { text }?
index = element index { attlist.index, empty }
attlist.index &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute index { text }?,
  attribute level1 { text },
  attribute level2 { text }?,
  attribute level3 { text }?,
  attribute level4 { text }?,
  [ a:defaultValue = "index" ] attribute TEIform { text }?
divGen = element divGen { attlist.divGen, empty }
attlist.divGen &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "divGen" ] attribute TEIform { text }?
milestone = element milestone { attlist.milestone, empty }
attlist.milestone &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute ed { text }?,
  attribute unit { text },
  [ a:defaultValue = "milestone" ] attribute TEIform { text }?
pb = element pb { attlist.pb, empty }
attlist.pb &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute ed { text }?,
  [ a:defaultValue = "pb" ] attribute TEIform { text }?
lb = element lb { attlist.lb, empty }
attlist.lb &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute ed { text }?,
  [ a:defaultValue = "lb" ] attribute TEIform { text }?
bibl =
  element bibl {
    attlist.bibl,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | author
     | biblScope
     | edition
     | editor
     | extent
     | idno
     | imprint
     | note
     | pubPlace
     | publisher
     | respStmt
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.bibl &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "bibl" ] attribute TEIform { text }?
biblFull =
  element biblFull {
    attlist.biblFull,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    titleStmt,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (editionStmt,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    (extent,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    publicationStmt,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (seriesStmt,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    (notesStmt,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    (sourceDesc,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.biblFull &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "biblFull" ] attribute TEIform { text }?
listBibl =
  element listBibl {
    attlist.listBibl,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (head,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    (bibl | biblFull),
    (bibl
     | biblFull
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (trailer,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?
  }
attlist.listBibl &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "NO" ] attribute default { "YES" | "NO" }?,
  [ a:defaultValue = "listBibl" ] attribute TEIform { text }?
author =
  element author {
    attlist.author,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.author &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "author" ] attribute TEIform { text }?
editor =
  element editor {
    attlist.editor,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.editor &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "editor" ] attribute role { text }?,
  [ a:defaultValue = "editor" ] attribute TEIform { text }?
respStmt =
  element respStmt {
    attlist.respStmt,
    (resp
     | name
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)+
  }
attlist.respStmt &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "respStmt" ] attribute TEIform { text }?
resp =
  element resp {
    attlist.resp,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.resp &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "resp" ] attribute TEIform { text }?
title =
  element title {
    attlist.title,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.title &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute level { "a" | "m" | "j" | "s" | "u" }?,
  attribute type { text }?,
  [ a:defaultValue = "title" ] attribute TEIform { text }?
imprint =
  element imprint {
    attlist.imprint,
    (pubPlace
     | publisher
     | date
     | biblScope
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.imprint &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "imprint" ] attribute TEIform { text }?
publisher =
  element publisher {
    attlist.publisher,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.publisher &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "publisher" ] attribute TEIform { text }?
biblScope =
  element biblScope {
    attlist.biblScope,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.biblScope &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "biblScope" ] attribute TEIform { text }?
pubPlace =
  element pubPlace {
    attlist.pubPlace,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.pubPlace &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute key { text }?,
  attribute reg { text }?,
  [ a:defaultValue = "pubPlace" ] attribute TEIform { text }?
l =
  element l {
    attlist.l,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.l &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  [ a:defaultValue = "l" ] attribute TEIform { text }?
lg =
  element lg {
    attlist.lg,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (l | lg),
    (l
     | lg
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.lg &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  [ a:defaultValue = "lg" ] attribute TEIform { text }?
sp =
  element sp {
    attlist.sp,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (speaker,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    ((p | l | lg | ab | seg | stage),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)+
  }
attlist.sp &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute who { xsd:IDREFS }?,
  [ a:defaultValue = "sp" ] attribute TEIform { text }?
speaker =
  element speaker {
    attlist.speaker,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.speaker &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "speaker" ] attribute TEIform { text }?
stage =
  element stage {
    attlist.stage,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | ab
     | l
     | lg
     | p
     | sp
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.stage &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "stage" ] attribute TEIform { text }?
\text =
  element text {
    attlist.text,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (front,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    (body | group),
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (back,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?
  }
attlist.text &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "text" ] attribute TEIform { text }?
body =
  element body {
    attlist.body,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    ((((eg
        | bibl
        | biblFull
        | ab
        | l
        | lg
        | p
        | sp
        | cit
        | q
        | label
        | \list
        | listBibl
        | note
        | stage
        | table),
       (anchor
        | gap
        | figure
        | index
        | interp
        | interpGrp
        | lb
        | milestone
        | pb)*)+,
      (divGen,
       (anchor
        | gap
        | figure
        | index
        | interp
        | interpGrp
        | lb
        | milestone
        | pb)*)*,
      ((\div,
        (\div
         | divGen
         | anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*)
       | (div0,
          (div0
           | divGen
           | anchor
           | gap
           | figure
           | index
           | interp
           | interpGrp
           | lb
           | milestone
           | pb)*)
       | (div1,
          (div1
           | divGen
           | anchor
           | gap
           | figure
           | index
           | interp
           | interpGrp
           | lb
           | milestone
           | pb)*))?)
     | ((divGen,
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*,
        ((\div,
          (\div
           | divGen
           | anchor
           | gap
           | figure
           | index
           | interp
           | interpGrp
           | lb
           | milestone
           | pb)*)
         | (div0,
            (div0
             | divGen
             | anchor
             | gap
             | figure
             | index
             | interp
             | interpGrp
             | lb
             | milestone
             | pb)*)
         | (div1,
            (div1
             | divGen
             | anchor
             | gap
             | figure
             | index
             | interp
             | interpGrp
             | lb
             | milestone
             | pb)*)))),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.body &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "body" ] attribute TEIform { text }?
group =
  element group {
    attlist.group,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (\text | group),
    (\text
     | group
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.group &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "group" ] attribute TEIform { text }?
\div =
  element div {
    attlist.div,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((\div | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((\div | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div" ] attribute TEIform { text }?
div0 =
  element div0 {
    attlist.div0,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((div1 | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((div1 | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div0 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div0" ] attribute TEIform { text }?
div1 =
  element div1 {
    attlist.div1,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((div2 | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((div2 | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div1 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div1" ] attribute TEIform { text }?
div2 =
  element div2 {
    attlist.div2,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((div3 | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((div3 | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div2 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div2" ] attribute TEIform { text }?
div3 =
  element div3 {
    attlist.div3,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((div4 | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((div4 | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div3 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div3" ] attribute TEIform { text }?
div4 =
  element div4 {
    attlist.div4,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((div5 | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((div5 | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div4 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div4" ] attribute TEIform { text }?
div5 =
  element div5 {
    attlist.div5,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((div6 | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((div6 | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div5 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div5" ] attribute TEIform { text }?
div6 =
  element div6 {
    attlist.div6,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((div7 | divGen),
      (anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)+
     | (((eg
          | bibl
          | biblFull
          | ab
          | l
          | lg
          | p
          | sp
          | cit
          | q
          | label
          | \list
          | listBibl
          | note
          | stage
          | table),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)+,
        ((div7 | divGen),
         (anchor
          | gap
          | figure
          | index
          | interp
          | interpGrp
          | lb
          | milestone
          | pb)*)*)),
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div6 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div6" ] attribute TEIform { text }?
div7 =
  element div7 {
    attlist.div7,
    (argument
     | byline
     | dateline
     | docAuthor
     | docDate
     | epigraph
     | head
     | opener
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    ((eg
      | bibl
      | biblFull
      | ab
      | l
      | lg
      | p
      | sp
      | cit
      | q
      | label
      | \list
      | listBibl
      | note
      | stage
      | table),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)+,
    ((byline
      | closer
      | dateline
      | epigraph
      | salute
      | signed
      | trailer),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.div7 &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "uniform" ]
  attribute org { "composite" | "uniform" }?,
  [ a:defaultValue = "complete" ]
  attribute sample {
    "initial" | "medial" | "final" | "unknown" | "complete"
  }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "div7" ] attribute TEIform { text }?
trailer =
  element trailer {
    attlist.trailer,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.trailer &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "trailer" ] attribute TEIform { text }?
byline =
  element byline {
    attlist.byline,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | docAuthor
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.byline &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "byline" ] attribute TEIform { text }?
dateline =
  element dateline {
    attlist.dateline,
    (text
     | date
     | time
     | name
     | address
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.dateline &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "dateline" ] attribute TEIform { text }?
argument =
  element argument {
    attlist.argument,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (head,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    ((eg
      | bibl
      | biblFull
      | ab
      | l
      | lg
      | p
      | sp
      | cit
      | q
      | label
      | \list
      | listBibl
      | note
      | stage
      | table),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)+
  }
attlist.argument &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "argument" ] attribute TEIform { text }?
epigraph =
  element epigraph {
    attlist.epigraph,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    ((eg
      | bibl
      | biblFull
      | ab
      | l
      | lg
      | p
      | sp
      | cit
      | q
      | label
      | \list
      | listBibl
      | note
      | stage
      | table),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*
  }
attlist.epigraph &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "epigraph" ] attribute TEIform { text }?
opener =
  element opener {
    attlist.opener,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | argument
     | byline
     | dateline
     | epigraph
     | salute
     | signed
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.opener &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "opener" ] attribute TEIform { text }?
closer =
  element closer {
    attlist.closer,
    (text
     | signed
     | dateline
     | salute
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.closer &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "closer" ] attribute TEIform { text }?
salute =
  element salute {
    attlist.salute,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.salute &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "salute" ] attribute TEIform { text }?
signed =
  element signed {
    attlist.signed,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.signed &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "signed" ] attribute TEIform { text }?
front =
  element front {
    attlist.front,
    (divGen
     | titlePage
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((argument
       | byline
       | docAuthor
       | docDate
       | docEdition
       | docImprint
       | docTitle
       | epigraph
       | head
       | titlePart),
      (argument
       | byline
       | docAuthor
       | docDate
       | docEdition
       | docImprint
       | docTitle
       | epigraph
       | head
       | titlePart
       | titlePage
       | anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)
     | (\div,
        (\div
         | divGen
         | titlePage
         | anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*)
     | (div1,
        (div1
         | divGen
         | titlePage
         | anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*))?
  }
attlist.front &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "front" ] attribute TEIform { text }?
titlePage =
  element titlePage {
    attlist.titlePage,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (byline
     | docAuthor
     | docDate
     | docEdition
     | docImprint
     | docTitle
     | epigraph
     | titlePart),
    (byline
     | docAuthor
     | docDate
     | docEdition
     | docImprint
     | docTitle
     | epigraph
     | titlePart
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.titlePage &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  [ a:defaultValue = "titlePage" ] attribute TEIform { text }?
docTitle =
  element docTitle {
    attlist.docTitle,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (titlePart,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)+
  }
attlist.docTitle &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "docTitle" ] attribute TEIform { text }?
titlePart =
  element titlePart {
    attlist.titlePart,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.titlePart &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "main" ] attribute type { text }?,
  [ a:defaultValue = "titlePart" ] attribute TEIform { text }?
docAuthor =
  element docAuthor {
    attlist.docAuthor,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.docAuthor &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "docAuthor" ] attribute TEIform { text }?
docEdition =
  element docEdition {
    attlist.docEdition,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.docEdition &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "docEdition" ] attribute TEIform { text }?
docImprint =
  element docImprint {
    attlist.docImprint,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | pubPlace
     | docDate
     | publisher
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.docImprint &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "docImprint" ] attribute TEIform { text }?
docDate =
  element docDate {
    attlist.docDate,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.docDate &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute value { text }?,
  [ a:defaultValue = "docDate" ] attribute TEIform { text }?
back =
  element back {
    attlist.back,
    (divGen
     | titlePage
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (((argument
       | byline
       | dateline
       | docAuthor
       | docDate
       | epigraph
       | head
       | opener
       | salute
       | signed),
      (argument
       | byline
       | dateline
       | docAuthor
       | docDate
       | epigraph
       | head
       | opener
       | salute
       | signed
       | titlePage
       | anchor
       | gap
       | figure
       | index
       | interp
       | interpGrp
       | lb
       | milestone
       | pb)*)
     | (\div,
        (\div
         | divGen
         | titlePage
         | anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*)
     | (div1,
        (div1
         | divGen
         | titlePage
         | anchor
         | gap
         | figure
         | index
         | interp
         | interpGrp
         | lb
         | milestone
         | pb)*))?,
    (trailer | closer)*
  }
attlist.back &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute decls { xsd:IDREFS }?,
  [ a:defaultValue = "back" ] attribute TEIform { text }?
xref =
  element xref {
    attlist.xref,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.xref &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute resp { text }?,
  attribute crdate { text }?,
  attribute targType { text }?,
  [ a:defaultValue = "U" ] attribute targOrder { "Y" | "N" | "U" }?,
  attribute evaluate { "all" | "one" | "none" }?,
  attribute doc { xsd:ENTITY }?,
  [ a:defaultValue = "ROOT" ] attribute from { text }?,
  [ a:defaultValue = "DITTO" ] attribute to { text }?,
  [ a:defaultValue = "xref" ] attribute TEIform { text }?
xptr = element xptr { attlist.xptr, empty }
attlist.xptr &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute resp { text }?,
  attribute crdate { text }?,
  attribute targType { text }?,
  [ a:defaultValue = "U" ] attribute targOrder { "Y" | "N" | "U" }?,
  attribute evaluate { "all" | "one" | "none" }?,
  attribute doc { xsd:ENTITY }?,
  [ a:defaultValue = "ROOT" ] attribute from { text }?,
  [ a:defaultValue = "DITTO" ] attribute to { text }?,
  [ a:defaultValue = "xptr" ] attribute TEIform { text }?
anchor = element anchor { attlist.anchor, empty }
attlist.anchor &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute subtype { text }?,
  [ a:defaultValue = "anchor" ] attribute TEIform { text }?
seg =
  element seg {
    attlist.seg,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.seg &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute function { text }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  attribute subtype { text }?,
  [ a:defaultValue = "seg" ] attribute TEIform { text }?
ab =
  element ab {
    attlist.ab,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.ab &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute subtype { text }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  [ a:defaultValue = "ab" ] attribute TEIform { text }?
interp = element interp { attlist.interp, empty }
attlist.interp &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute resp { text }?,
  attribute type { text }?,
  attribute inst { xsd:IDREFS }?,
  attribute value { text },
  [ a:defaultValue = "interp" ] attribute TEIform { text }?
interpGrp = element interpGrp { attlist.interpGrp, interp* }
attlist.interpGrp &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute resp { text }?,
  attribute type { text }?,
  attribute inst { xsd:IDREFS }?,
  [ a:defaultValue = "interpGrp" ] attribute TEIform { text }?
s =
  element s {
    attlist.s,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.s &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute type { text }?,
  attribute function { text }?,
  [ a:defaultValue = "N" ]
  attribute part { "Y" | "N" | "I" | "M" | "F" }?,
  [ a:defaultValue = "s" ] attribute TEIform { text }?
table =
  element table {
    attlist.table,
    (head
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (row,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)+
  }
attlist.table &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute rows { xsd:NMTOKEN }?,
  attribute cols { xsd:NMTOKEN }?,
  [ a:defaultValue = "table" ] attribute TEIform { text }?
row =
  element row {
    attlist.row,
    ((cell | table),
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)+
  }
attlist.row &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "data" ] attribute role { text }?,
  [ a:defaultValue = "row" ] attribute TEIform { text }?
cell =
  element cell {
    attlist.cell,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.cell &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "data" ] attribute role { text }?,
  [ a:defaultValue = "1" ] attribute rows { text }?,
  [ a:defaultValue = "1" ] attribute cols { text }?,
  [ a:defaultValue = "cell" ] attribute TEIform { text }?
formula = element formula { attlist.formula, text }
attlist.formula &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute notation { text },
  [ a:defaultValue = "formula" ] attribute TEIform { text }?
figure =
  element figure {
    attlist.figure,
    (anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*,
    (head,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    (p,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)*,
    (figDesc,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?,
    (\text,
     (anchor
      | gap
      | figure
      | index
      | interp
      | interpGrp
      | lb
      | milestone
      | pb)*)?
  }
attlist.figure &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  attribute entity { xsd:ENTITY }?,
  [ a:defaultValue = "figure" ] attribute TEIform { text }?
figDesc =
  element figDesc {
    attlist.figDesc,
    (text
     | ident
     | code
     | kw
     | abbr
     | address
     | date
     | name
     | num
     | rs
     | time
     | add
     | corr
     | del
     | orig
     | reg
     | sic
     | unclear
     | formula
     | emph
     | foreign
     | gloss
     | hi
     | mentioned
     | soCalled
     | term
     | title
     | ptr
     | ref
     | xptr
     | xref
     | s
     | seg
     | gi
     | eg
     | bibl
     | biblFull
     | cit
     | q
     | label
     | \list
     | listBibl
     | note
     | stage
     | table
     | \text
     | anchor
     | gap
     | figure
     | index
     | interp
     | interpGrp
     | lb
     | milestone
     | pb)*
  }
attlist.figDesc &=
  attribute corresp { xsd:IDREFS }?,
  attribute next { xsd:IDREF }?,
  attribute prev { xsd:IDREF }?,
  attribute ana { xsd:IDREFS }?,
  attribute id { xsd:ID }?,
  attribute n { text }?,
  attribute lang { xsd:IDREF }?,
  attribute rend { text }?,
  [ a:defaultValue = "figDesc" ] attribute TEIform { text }?
start = TEI.2
