RncFileImpl:Docbook.rnc
  DOCUMENT
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('a')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://relaxng.org/ns/compatibility/annotations/1.0"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('ctrl')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://nwalsh.com/xmlns/schema-control/"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_DEFAULT)('default')
      PsiWhiteSpace(' ')
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('db')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://docbook.org/ns/docbook"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('html')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/1999/xhtml"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('mml')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/1998/Math/MathML"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('rng')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://relaxng.org/ns/structure/1.0"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('s')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.ascc.net/xml/schematron"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('svg')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/2000/svg"')
    PsiWhiteSpace('\n')
    NS_DECL
      PsiElement(KEYWORD_NAMESPACE)('namespace')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('xlink')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/1999/xlink"')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace('\n  ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"a"')
      PsiWhiteSpace('\n  ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://relaxng.org/ns/compatibility/annotations/1.0"')
      PsiWhiteSpace('\n')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"ctrl"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://nwalsh.com/xmlns/schema-control/"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"db"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://docbook.org/ns/docbook"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace('\n  ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"dbx"')
      PsiWhiteSpace('\n  ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace('\n    ')
      PsiElement(LITERAL)('"http://sourceforge.net/projects/docbook/defguide/schema/extra-markup"')
      PsiWhiteSpace('\n')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"html"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/1999/xhtml"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"mml"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/1998/Math/MathML"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"rng"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://relaxng.org/ns/structure/1.0"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"s"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.ascc.net/xml/schematron"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"svg"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/2000/svg"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n')
    ANNOTATION_ELEMENT
      NAME
        PsiElement(PREFIXED_NAME)('s:ns')
      PsiWhiteSpace(' ')
      PsiElement([)('[')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('prefix')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"xlink"')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('uri')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/1999/xlink"')
      PsiWhiteSpace(' ')
      PsiElement(])(']')
    PsiWhiteSpace('\n\n')
    PsiComment(SINGLE_LINE_COMMENT)('#  DocBook V5.0CR5')
    PsiWhiteSpace('\n\n')
    PsiComment(SINGLE_LINE_COMMENT)('# See http://docbook.org/ns/docbook')
    PsiWhiteSpace('\n\n')
    PsiComment(SINGLE_LINE_COMMENT)('# This file is part of DocBook V5.0CR5')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# ')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# Copyright 1992-2005 HaL Computer Systems, Inc.,')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# Corporation, Norman Walsh, Sun Microsystems, Inc., and the')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# Organization for the Advancement of Structured Information')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# Standards (OASIS).')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# ')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# ')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# Permission to use, copy, modify and distribute the DocBook schema')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# and its accompanying documentation for any purpose and without fee')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# is hereby granted in perpetuity, provided that the above copyright')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# notice and this paragraph appear in all copies. The copyright')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# holders make no representation about the suitability of the schema')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# for any purpose. It is provided "as is" without expressed or implied')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# warranty.')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# ')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# If you modify the DocBook schema in any way, label your schema as a')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# variant of DocBook. See the reference documentation')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# (http://docbook.org/tdg5/en/html/ch05.html#s-notdocbook)')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# for more information.')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# ')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# Please direct all questions, bug reports, or suggestions for changes')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# to the docbook@lists.oasis-open.org mailing list. For more')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# information, see http://www.oasis-open.org/docbook/.')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# ')
    PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n# ======================================================================')
    PsiWhiteSpace('\n')
    GRAMMAR_PATTERN
      START
        PsiElement(KEYWORD_START)('start')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.set')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.book')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.divisions')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.components')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.navigation.components')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.section')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.para')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect1')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect2')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect3')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect4')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect5')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentry')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsection')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect1')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect2')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect3')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.setindex')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db._any.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Any attribute including in any attribute in any namespace.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db._any')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Any element from almost any namespace')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(*)('*')
              PsiWhiteSpace(' ')
              EXCEPT_NAME_CLASS
                PsiElement(-)('-')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(()('(')
                  NAME_CLASS_CHOICE
                    NAME_CLASS
                      NAME
                        PsiElement(PREFIX_STAR)('db:*')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    NAME_CLASS
                      NAME
                        PsiElement(PREFIX_STAR)('html:*')
                  PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            ZERO_OR_MORE
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._any.attribute')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  TEXT_PATTERN
                    PsiElement(KEYWORD_TEXT)('text')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._any')
                PsiElement())(')')
              PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.arch.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Designates the computer or chip architecture to which the element applies')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('arch')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.audience.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Designates the intended audience to which the element applies, for example, system administrators, programmers, or new users.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('audience')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.condition.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## provides a standard place for application-specific effectivity')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('condition')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.conformance.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates standards conformance characteristics of the element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('conformance')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.os.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates the operating system to which the element is applicable')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('os')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.revision.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates the editorial revision to which the element belongs')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('revision')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.security.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates something about the security level associated with the element to which it applies')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('security')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.userlevel.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates the level of user experience for which the element applies')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('userlevel')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.vendor.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates the computer vendor to which the element applies.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('vendor')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.wordsize.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates the word size (width in bits) of the computer architecture to which the element applies')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('wordsize')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.effectivity.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.arch.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.audience.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.condition.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.conformance.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.os.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.revision.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.security.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.userlevel.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.vendor.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.wordsize.attribute')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.endterm.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Points to the element whose content is to be used as the text of the link')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('endterm')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:IDREF')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.linkend.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Points to an internal link target by identifying the value of its xml:id attribute')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('linkend')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:IDREF')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.linkends.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Points to one or more internal link targets by identifying the value of their xml:id attributes')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('linkends')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:IDREFS')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.href.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies a link target with a URI')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xlink:href')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:anyURI')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.type.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the XLink link type')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xlink:type')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An XLink simple link')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"simple"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.role.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the XLink role of the link')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xlink:role')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:anyURI')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.arcrole.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the XLink arcrole of the link')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xlink:arcrole')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:anyURI')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.title.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the XLink title of the link')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              NAME
                PsiElement(PREFIXED_NAME)('xlink:title')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.show.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## An application traversing to the ending resource should load it in a new window, frame, pane, or other relevant presentation context.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"new"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## An application traversing to the ending resource should load the resource in the same window, frame, pane, or other relevant presentation context in which the starting resource was loaded.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"replace"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## An application traversing to the ending resource should load its presentation in place of the presentation of the starting resource.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"embed"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The behavior of an application traversing to the ending resource is unconstrained by XLink. The application should look for other markup present in the link to determine the appropriate behavior.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"other"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"none"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.show.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the XLink show behavior of the link')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xlink:show')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xlink.show.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.actuate.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## An application should traverse to the ending resource immediately on loading the starting resource.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"onLoad"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## An application should traverse from the starting resource to the ending resource only on a post-loading event triggered for the purpose of traversal.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"onRequest"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The behavior of an application traversing to the ending resource is unconstrained by this specification. The application should look for other markup present in the link to determine the appropriate behavior.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"other"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The behavior of an application traversing to the ending resource is unconstrained by this specification. No other markup is present to help the application determine the appropriate behavior.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"none"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.actuate.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the XLink actuate behavior of the link')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xlink:actuate')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xlink.actuate.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.href.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xlink.href.attribute')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xlink.type.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xlink.role.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xlink.arcrole.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xlink.title.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xlink.show.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xlink.actuate.attribute')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xml.id.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the unique ID value of the element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xml:id')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:ID')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.version.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the DocBook version of the element and its descendants')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('version')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xml.lang.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the natural language of the element and its descendants')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xml:lang')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xml.base.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the base URI of the element and its descendants')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xml:base')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:anyURI')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.remap.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Provides the name or similar semantic identifier assigned to the content in some previous markup scheme')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('remap')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xreflabel.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Provides the text that is to be generated for a cross reference to the element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('xreflabel')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xrefstyle.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies a keyword or keywords identifying additional style information')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('xrefstyle')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.revisionflag.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## The element has been changed.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"changed"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The element is new (has been added to the document).')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"added"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The element has been deleted.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"deleted"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Explicitly turns off revision markup for this element.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"off"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.revisionflag.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the revision status of the element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('revisionflag')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.revisionflag.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.dir.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Left-to-right text')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"ltr"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Right-to-left text')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"rtl"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Left-to-right override')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"lro"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Right-to-left override')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"rlo"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.dir.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the direction of text in an element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('dir')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.dir.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.common.base.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.version.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xml.lang.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xml.base.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.remap.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xreflabel.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.revisionflag.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.dir.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.effectivity.attributes')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xml.id.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.common.base.attributes')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.annotations.attribute')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.common.idreq.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xml.id.attribute')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.common.base.attributes')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.annotations.attribute')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkend.attribute')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.href.attributes')
            PsiElement())(')')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.common.req.linking.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.linkend.attribute')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.href.attributes')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.common.data.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the format of the data')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('format')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          GROUP_PATTERN
            PsiElement(()('(')
            PsiWhiteSpace('\n   ')
            PsiComment(DOCUMENTATION)('## Indentifies the location of the data by URI')
            PsiWhiteSpace('\n   ')
            CHOICE
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('fileref')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:anyURI')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' \n     ')
              PsiComment(DOCUMENTATION)('## Identifies the location of the data by external identifier (entity name)')
              PsiWhiteSpace('\n     ')
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('entityref')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:ENTITY')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
            PsiElement())(')')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.continuation.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Line numbering continues from the immediately preceding element with the same name.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"continues"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Line numbering restarts (begins at 1, usually).')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"restarts"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.continuation.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Determines whether line numbering continues from the previous element or restarts.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('continuation')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.verbatim.continuation.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.linenumbering.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Lines are numbered.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"numbered"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Lines are not numbered.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"unnumbered"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.linenumbering.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Determines whether lines are numbered.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('linenumbering')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.verbatim.linenumbering.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.startinglinenumber.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the initial line number.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('startinglinenumber')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:integer')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.language.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the language (i.e. programming language) of the verbatim content.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('language')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.xml.space.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Can be used to indicate explicitly that whitespace in the verbatim environment is preserved. Whitespace must always be preserved in verbatim environments whether this attribute is specified or not.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xml:space')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Whitespace must be preserved.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"preserve"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.continuation.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.linenumbering.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.startinglinenumber.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.language.attribute')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.xml.space.attribute')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies an identifying string for presentation purposes')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('label')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.width.characters.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the width (in characters) of the element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('width')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:nonNegativeInteger')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.spacing.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## The spacing should be "compact".')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"compact"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The spacing should be "normal".')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"normal"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.spacing.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies (a hint about) the spacing of the content')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('spacing')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.spacing.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.pgwide.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## The element should be rendered in the current text flow (with the flow column width).')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"0"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The element should be rendered across the full text page.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"1"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.pgwide.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates if the element is rendered across the column or the page')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('pgwide')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.pgwide.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.language.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the language (i.e. programming language) of the content.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('language')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.performance.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## The content describes an optional step or steps.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"optional"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The content describes a required step or steps.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"required"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.performance.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies if the content is required or optional.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('performance')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.performance.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.floatstyle.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies style information to be used when rendering the float')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('floatstyle')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.width.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the width of the element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('width')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.depth.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the depth of the element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('depth')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.contentwidth.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the width of the content rectangle')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('contentwidth')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.contentdepth.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the depth of the content rectangle')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('contentdepth')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.scalefit.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## False (do not scale-to-fit; anamorphic scaling may occur)')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"0"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## True (scale-to-fit; anamorphic scaling is forbidden)')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"1"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.scale.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the scaling factor')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('scale')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:positiveInteger')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.halign.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Centered horizontally')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"center"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Aligned horizontally on the specified character')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"char"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Fully justified (left and right margins or edges)')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"justify"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Left aligned')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"left"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Right aligned')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"right"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.valign.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Aligned on the bottom of the region')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"bottom"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Centered vertically')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"middle"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Aligned on the top of the region')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"top"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.biblio.class.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## A document object identifier.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"doi"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## An international standard book number.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"isbn"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## An international standard technical report number (ISO 10444).')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"isrn"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## An international standard serial number.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"issn"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## A Library of Congress reference number.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"libraryofcongress"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## A publication number (an internal number or possibly organizational standard).')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"pubsnumber"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## A Uniform Resource Identifier')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"uri"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.biblio.class-enum.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the kind of bibliographic identifier')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.biblio.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.biblio.class-other.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the nature of the non-standard bibliographic identifier')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('otherclass')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.biblio.class-other.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the kind of bibliographic identifier')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## Indicates that the identifier is some 'other' kind.')
            PsiWhiteSpace('\n    ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"other"')
            PsiWhiteSpace('\n  ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.biblio.class-other.attribute')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.biblio.class.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.biblio.class-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.biblio.class-other.attributes')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.ubiq.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.inlinemediaobject')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.remark')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.superscript')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subscript')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.link.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.alt')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.annotation')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.indexterm')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._text')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        ZERO_OR_MORE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.ubiq.inlines')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._phrase')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.replaceable')
            PsiElement())(')')
          PsiElement(*)('*')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._title')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        INTERLEAVE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.title')
            PsiElement(?)('?')
          PsiWhiteSpace(' ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.titleabbrev')
            PsiElement(?)('?')
          PsiWhiteSpace(' ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.subtitle')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._title.req')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        INTERLEAVE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.title')
          PsiWhiteSpace(' ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.titleabbrev')
            PsiElement(?)('?')
          PsiWhiteSpace(' ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.subtitle')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._title.only')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        INTERLEAVE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.title')
            PsiElement(?)('?')
          PsiWhiteSpace(' ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.titleabbrev')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._title.onlyreq')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        INTERLEAVE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.title')
          PsiWhiteSpace(' ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.titleabbrev')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db._title.req')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.titleforbidden.info')
                PsiElement(?)('?')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.info')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._title.req')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.titleforbidden.info')
                PsiElement(?)('?')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.titlereq.info')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._title.only')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.titleforbidden.info')
                PsiElement(?)('?')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.titleonly.info')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._info.title.onlyreq')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._title.onlyreq')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.titleforbidden.info')
                PsiElement(?)('?')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.titleonlyreq.info')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        OPTIONAL
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.titleforbidden.info')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.all.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.ubiq.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.general.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.domain.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.extension.inlines')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.general.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.publishing.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.product.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.bibliography.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.graphic.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.indexing.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.link.inlines')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.domain.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.technical.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.error.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.os.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programming.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.markup.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.gui.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keyboard.inlines')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.math.inlines')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.technical.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.replaceable')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.systemitem')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.option')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.optional')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.package')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.parameter')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.property')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.termdef')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.nonterminal')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.error.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.errorcode')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.errortext')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.errorname')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.errortype')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.oo.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.ooclass')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.ooexception')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.oointerface')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.programming.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.function')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.parameter')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.varname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.returnvalue')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.type')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.classname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.exceptionname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.interfacename')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.methodname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.modifier')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.initializer')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.oo.inlines')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.product.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.productnumber')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.productname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.database')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.application')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.hardware')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.trademark')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.os.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.prompt')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.envar')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.filename')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.command')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.computeroutput')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.userinput')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.markup.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.tag')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.markup')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.token')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.symbol')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.literal')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.code')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.constant')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.email')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.uri')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.bibliography.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.citation')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.citerefentry')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.citetitle')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.citebiblioid')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.author')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.person')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.personname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.org')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.orgname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.editor')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.jobtitle')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.publishing.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.abbrev')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.acronym')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.date')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.emphasis')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnote')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnoteref')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.foreignphrase')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.phrase')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.quote')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subscript')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.superscript')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.wordasword')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.glossary.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.coref')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.graphic.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db.inlinemediaobject')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.indexing.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          NOT_ALLOWED_PATTERN
            PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.indexterm')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.gui.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.guiicon')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.guibutton')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.guimenuitem')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.guimenu')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.guisubmenu')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.guilabel')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.menuchoice')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.mousebutton')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.keyboard.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.keycombo')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.keycap')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.keycode')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.keysym')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.shortcut')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.accel')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.link.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xref')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.link')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.anchor')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.biblioref')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.extension.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        NOT_ALLOWED_PATTERN
          PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.nopara.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.list.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.admonition.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.formal.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informal.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publishing.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.graphic.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.technical.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopsis.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bridgehead')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.remark')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revhistory')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.indexterm')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.para.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.anchor')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.para')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.formalpara')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.simpara')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.all.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.nopara.blocks')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.para.blocks')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.extension.blocks')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.annotation')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.formal.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.example')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.figure')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.table')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.equation')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.informal.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalexample')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalfigure')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informaltable')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.informalequation')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.publishing.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.sidebar')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.blockquote')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.address')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.epigraph')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.graphic.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.mediaobject')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.screenshot')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.technical.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.procedure')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.task')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productionset')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constraintdef')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.msgset')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.admonition.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.caution')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.important')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.note')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.tip')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.warning')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.list.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.itemizedlist')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orderedlist')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.procedure')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplelist')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.variablelist')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.segmentedlist')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.glosslist')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.bibliolist')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.calloutlist')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.qandaset')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlisting')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screen')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.literallayout')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopsis')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlistingco')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screenco')
            PsiElement())(')')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.synopsis.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.cmdsynopsis')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.funcsynopsis')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.classsynopsis')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.methodsynopsis')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.constructorsynopsis')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.destructorsynopsis')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.fieldsynopsis')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.extension.blocks')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        NOT_ALLOWED_PATTERN
          PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.info.extension')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db._any')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.info.elements')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.abstract')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.address')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.artpagenums')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.author')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.authorgroup')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.authorinitials')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliocoverage')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioid')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliosource')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.collab')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confgroup')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contractsponsor')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contractnum')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.copyright')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cover')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.date')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.edition')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.editor')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.issuenum')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keywordset')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.legalnotice')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mediaobject')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.org')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orgname')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.othercredit')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pagenums')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.printhistory')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productname')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productnumber')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pubdate')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publisher')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publishername')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.releaseinfo')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revhistory')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seriesvolnums')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subjectset')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.volumenum')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.info.extension')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.annotation')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.extendedlink')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomisc')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomset')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliorelation')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioset')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.itermset')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.bibliographic.elements')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.info.elements')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.publishing.inlines')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.citerefentry')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.citetitle')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.citebiblioid')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.person')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.personname')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.subtitle')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.title')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.title.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.title.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.title.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.title')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The text of the title of a section of a document or of a formal block-level element')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('title')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.title.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleabbrev.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleabbrev.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleabbrev.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleabbrev')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The abbreviation of a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('titleabbrev')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleabbrev.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subtitle.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subtitle.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subtitle.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subtitle')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The subtitle of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('subtitle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subtitle.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.info.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.info.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.info.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for information about a component or other block')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('info')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.info.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._title')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.info.elements')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titlereq.info.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titlereq.info.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titlereq.info.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titlereq.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for information about a component or other block with a required title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('info')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titlereq.info.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._title.req')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.info.elements')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleonly.info.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleonly.info.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleonly.info.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleonly.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for information about a component or other block with only a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('info')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleonly.info.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._title.only')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.info.elements')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleonlyreq.info.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleonlyreq.info.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleonlyreq.info.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleonlyreq.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for information about a component or other block with only a required title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('info')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleonlyreq.info.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._title.onlyreq')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.info.elements')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleforbidden.info.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleforbidden.info.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleforbidden.info.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.titleforbidden.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for information about a component or other block without a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('info')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.titleforbidden.info.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.info.elements')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subjectset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subjectset.scheme.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the controlled vocabulary used by this set's terms')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('scheme')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subjectset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subjectset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subjectset.scheme.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subjectset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A set of terms describing the subject matter of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('subjectset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subjectset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.subject')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subject.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subject.weight.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies a ranking for this subject relative to other subjects in the same set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('weight')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subject.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subject.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subject.weight.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subject')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## One of a group of terms describing the subject matter of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('subject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subject.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.subjectterm')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subjectterm.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subjectterm.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subjectterm.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subjectterm')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A term in a group of terms describing the subject matter of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('subjectterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subjectterm.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keywordset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keywordset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keywordset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keywordset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A set of keywords describing the content of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('keywordset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keywordset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.keyword')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keyword.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keyword.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keyword.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keyword')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## One of a set of keywords describing the content of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('keyword')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keyword.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.table.choice')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          NOT_ALLOWED_PATTERN
            PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.cals.table')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.html.table')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.informaltable.choice')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          NOT_ALLOWED_PATTERN
            PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.cals.informaltable')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.html.informaltable')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.table')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db.table.choice')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.informaltable')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db.informaltable.choice')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.procedure.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.procedure.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.procedure.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.procedure.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.procedure')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A list of operations to be performed in a well-defined sequence')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('procedure')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.procedure.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.procedure.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.step')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.step.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.step.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.step.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.performance.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.step.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        PsiComment(SINGLE_LINE_COMMENT)('# ')
        PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n  # This content model is blocks*, step|stepalternatives, blocks* but')
        PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n  # expressed this way it avoids UPA issues in XSD and DTD versions')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.step')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A unit of action in a procedure')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('step')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.step.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.step.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace('\n        ')
                      OPTIONAL
                        GROUP_PATTERN
                          PsiElement(()('(')
                          SEQUENCE
                            GROUP_PATTERN
                              PsiElement(()('(')
                              CHOICE
                                REF_PATTERN
                                  PsiElement(IDENTIFIER)('db.substeps')
                                PsiWhiteSpace(' ')
                                PsiElement(|)('|')
                                PsiWhiteSpace(' ')
                                REF_PATTERN
                                  PsiElement(IDENTIFIER)('db.stepalternatives')
                              PsiElement())(')')
                            PsiElement(,)(',')
                            PsiWhiteSpace(' ')
                            ZERO_OR_MORE
                              REF_PATTERN
                                PsiElement(IDENTIFIER)('db.all.blocks')
                              PsiElement(*)('*')
                          PsiElement())(')')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace('\n       ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      GROUP_PATTERN
                        PsiElement(()('(')
                        CHOICE
                          REF_PATTERN
                            PsiElement(IDENTIFIER)('db.substeps')
                          PsiWhiteSpace(' ')
                          PsiElement(|)('|')
                          PsiWhiteSpace(' ')
                          REF_PATTERN
                            PsiElement(IDENTIFIER)('db.stepalternatives')
                        PsiElement())(')')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      ZERO_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(*)('*')
                    PsiElement())(')')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.stepalternatives.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.stepalternatives.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.stepalternatives.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.performance.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.stepalternatives.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.stepalternatives')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Alternative steps in a procedure')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('stepalternatives')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.stepalternatives.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.stepalternatives.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.step')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.substeps.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.substeps.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.substeps.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.performance.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.substeps')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for steps that occur within steps in a procedure')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('substeps')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.substeps.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.step')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sidebar.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sidebar.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sidebar.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sidebar.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sidebar')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A portion of a document that is isolated from the main narrative flow')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:sidebar"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:sidebar)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"sidebar must not occur in the descendants of sidebar"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sidebar')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sidebar.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sidebar.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.abstract.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.abstract.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.abstract.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.abstract.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.abstract')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A summary')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('abstract')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.abstract.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.abstract.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.para.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.personblurb.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.personblurb.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.personblurb.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.personblurb.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.personblurb')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A short description or note about a person')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('personblurb')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.personblurb.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.personblurb.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.para.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.blockquote.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.blockquote.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.blockquote.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.blockquote.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.blockquote')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A quotation set off from the main text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('blockquote')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.blockquote.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.blockquote.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.attribution')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.attribution.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.attribution.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.attribution.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.attribution')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The source of a block quote or epigraph')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('attribution')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.attribution.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.person')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.personname')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.citetitle')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.citation')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead.renderas.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Render as a first-level section')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"sect1"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Render as a second-level section')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"sect2"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Render as a third-level section')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"sect3"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Render as a fourth-level section')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"sect4"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Render as a fifth-level section')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"sect5"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead.renderas-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates how the bridge head should be rendered')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('renderas')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bridgehead.renderas.enumeration')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead.renderas-other.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the non-standard rendering')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('otherrenderas')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead.renderas-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates how the bridge head should be rendered')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('renderas')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      \n      ')
              PsiComment(DOCUMENTATION)('## Identifies a non-standard rendering')
              PsiWhiteSpace('\n      ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"other"')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bridgehead.renderas-other.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead.renderas.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bridgehead.renderas-enum.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bridgehead.renderas-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bridgehead.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bridgehead.renderas.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bridgehead')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A free-floating heading')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bridgehead')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bridgehead.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.remark.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.remark.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.remark.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.remark')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A remark (or comment) intended for presentation in a draft manuscript')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('remark')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.remark.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.epigraph.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.epigraph.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.epigraph.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.epigraph.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.epigraph')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A short inscription at the beginning of a document or component')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('epigraph')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.epigraph.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.epigraph.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.attribution')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.para.blocks')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.literallayout')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnote.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnote.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the desired footnote mark')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('label')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnote.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnote.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnote.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnote')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A footnote')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:footnote)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"footnote must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:table)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"table must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:indexterm)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"indexterm must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:sidebar)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"sidebar must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:task)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"task must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnote"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:epigraph)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"epigraph must not occur in the descendants of footnote"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('footnote')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnote.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.formalpara.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.formalpara.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.formalpara.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.formalpara.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.onlyreq')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.formalpara')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A paragraph with a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('formalpara')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.formalpara.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.formalpara.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.indexing.inlines')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.para')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.para.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.para.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.para.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.para.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.para')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A paragraph')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:para"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('para')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.para.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.para.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.inlines')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.nopara.blocks')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simpara.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simpara.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simpara.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simpara.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simpara')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A paragraph that contains only text and inline markup, no block elements')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('simpara')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simpara.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simpara.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.admonition.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        SEQUENCE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.all.blocks')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.caution.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.caution.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.caution.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.caution')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A note of caution')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caution"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of caution"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caution"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of caution"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caution"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of caution"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caution"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of caution"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caution"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of caution"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('caution')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.caution.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.admonition.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.important.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.important.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.important.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.important')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An admonition set off from the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:important"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of important"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:important"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of important"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:important"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of important"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:important"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of important"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:important"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of important"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('important')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.important.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.admonition.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.note.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.note.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.note.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.note')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A message set off from the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:note"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of note"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:note"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of note"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:note"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of note"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:note"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of note"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:note"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of note"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('note')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.note.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.admonition.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tip.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tip.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tip.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tip')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A suggestion to the user, set off from the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:tip"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of tip"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:tip"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of tip"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:tip"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of tip"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:tip"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of tip"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:tip"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of tip"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tip')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tip.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.admonition.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.warning.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.warning.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.warning.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.warning')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An admonition set off from the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:warning"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of warning"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:warning"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of warning"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:warning"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of warning"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:warning"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of warning"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:warning"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of warning"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('warning')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.warning.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.admonition.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itemizedlist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itemizedlist.mark.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the type of mark to be used on items in this list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('mark')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itemizedlist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.itemizedlist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.spacing.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.itemizedlist.mark.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itemizedlist.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itemizedlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A list in which each entry is marked with a bullet or other dingbat')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('itemizedlist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.itemizedlist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.itemizedlist.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.listitem')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.continuation.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies that numbering should begin where the preceding list left off')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"continues"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies that numbering should begin again at 1')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"restarts"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.continuation.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates how list numbering should begin relative to the immediately preceding list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('continuation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.orderedlist.continuation.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.startingnumber.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the initial line number.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('startingnumber')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:integer')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.inheritnum.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies that numbering should ignore list nesting')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"ignore"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies that numbering should inherit from outer-level lists')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"inherit"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.inheritnum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates whether or not item numbering should be influenced by list nesting')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('inheritnum')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.orderedlist.inheritnum.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.numeration.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies Arabic numeration (1, 2, 3, ...)')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"arabic"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies upper-case alphabetic numeration (A, B, C, ...)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"upperalpha"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies lower-case alphabetic numeration (a, b, c, ...)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"loweralpha"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies upper-case Roman numeration (I, II, III, ...)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"upperroman"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies lower-case Roman numeration (i, ii, iii ...)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"lowerroman"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.numeration.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates the desired numeration')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('numeration')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.orderedlist.numeration.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orderedlist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.spacing.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.orderedlist.continuation.attribute')
                  PsiWhiteSpace('\n       ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.orderedlist.startingnumber.attribute')
                PsiElement())(')')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orderedlist.inheritnum.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orderedlist.numeration.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orderedlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A list in which each entry is marked with a sequentially incremented label')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('orderedlist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orderedlist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orderedlist.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.listitem')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.listitem.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.listitem.override.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the keyword for the type of mark that should be used on this')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  item, instead of the mark that would be used by default')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('override')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.listitem.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.listitem.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.listitem.override.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.listitem')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for the elements of a list item')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('listitem')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.listitem.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.segmentedlist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.segmentedlist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.segmentedlist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.segmentedlist.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.segmentedlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A segmented list, a list of sets of elements')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('segmentedlist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.segmentedlist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.segmentedlist.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.segtitle')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.seglistitem')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.segtitle.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.segtitle.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.segtitle.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.segtitle')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The title of an element of a list item in a segmented list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('segtitle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.segtitle.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seglistitem.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seglistitem.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seglistitem.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seglistitem')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A list item in a segmented list')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Cardinality of segments and titles"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:seglistitem"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"count(db:seg) = count(../db:segtitle)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The number of seg elements must be the same as the number of segtitle elements in the parent segmentedlist"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('seglistitem')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seglistitem.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.seg')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seg.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seg.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seg.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seg')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An element of a list item in a segmented list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('seg')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seg.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplelist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplelist.type.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A tabular presentation in row-major order.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"horiz"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A tabular presentation in column-major order.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"vert"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An inline presentation, usually a comma-delimited list.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"inline"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplelist.type.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the type of list presentation.')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace(' ')
              PsiElement(PREFIXED_NAME)('a:defaultValue')
              PsiWhiteSpace(' ')
              PsiElement(=)('=')
              PsiWhiteSpace(' ')
              PsiElement(LITERAL)('"vert"')
              PsiWhiteSpace(' ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('type')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.simplelist.type.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplelist.columns.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the number of columns for horizontal or vertical presentation')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('columns')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:integer')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplelist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplelist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplelist.type.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplelist.columns.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplelist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An undecorated list of single words or short phrases')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('simplelist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplelist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.member')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.member.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.member.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.member.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.member')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An element of a simple list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('member')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.member.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.variablelist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.variablelist.termlength.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates a length beyond which the presentation system may consider a term too long and select an alternate presentation for that term, item, or list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('termlength')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.variablelist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.variablelist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.spacing.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.variablelist.termlength.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.variablelist.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.variablelist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A list in which each entry is composed of a set of one or more terms and an associated description')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('variablelist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.variablelist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.variablelist.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.varlistentry')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varlistentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varlistentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.varlistentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varlistentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for a set of terms and the associated description in a variable list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('varlistentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.varlistentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.term')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.listitem')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.term.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.term.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.term.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.term')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The word or phrase being defined or described in a variable list')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('term')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.term.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example.width.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.width.characters.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example.pgwide.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.pgwide.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example.floatstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.floatstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.example.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.example.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.example.floatstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.example.width.attribute')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.example.pgwide.attribute')
                PsiElement())(')')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.onlyreq')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.example')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A formal example, with a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:table)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"table must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:example"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of example"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('example')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.example.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.example.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalexample.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalexample.width.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.width.characters.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalexample.floatstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.floatstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalexample.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalexample.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalexample.floatstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalexample.width.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalexample.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalexample')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A displayed example without a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('informalexample')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalexample.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalexample.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.all.inlines')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lineannotation')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.co')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.verbatim.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textobject')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.verbatim.inlines')
                PsiElement(*)('*')
            PsiElement())(')')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlisting.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlisting.width.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.width.characters.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlisting.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlisting.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlisting.width.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlisting')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A literal listing of all or part of a program')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('programlisting')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlisting.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literallayout.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literallayout.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The literal layout should be formatted with a monospaced font')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"monospaced"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The literal layout should be formatted with the current font')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"normal"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literallayout.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the class of literal layout')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.literallayout.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literallayout.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.literallayout.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.literallayout.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literallayout')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A block of text in which line breaks and white space are to be reproduced faithfully')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('literallayout')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.literallayout.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screen.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screen.width.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.width.characters.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screen.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screen.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screen.width.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screen')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Text that a user sees or might see on a computer screen')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('screen')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screen.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenshot.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenshot.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screenshot.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenshot.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenshot')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A representation of what the user sees or might see on a computer screen')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('screenshot')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screenshot.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screenshot.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mediaobject')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.figure.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.figure.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.figure.pgwide.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.pgwide.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.figure.floatstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.floatstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.figure.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.figure.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.figure.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.figure.pgwide.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.figure.floatstyle.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.figure.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.onlyreq')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.figure')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A formal figure, generally an illustration, with a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:table)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"table must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:figure"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of figure"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('figure')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.figure.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.figure.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalfigure.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalfigure.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalfigure.pgwide.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.pgwide.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalfigure.floatstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.floatstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalfigure.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalfigure.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalfigure.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalfigure.pgwide.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalfigure.floatstyle.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalfigure.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalfigure')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A untitled figure')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('informalfigure')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalfigure.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalfigure.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.mediaobject.content')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videoobject')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audioobject')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobject')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textobject')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.imageobjectco')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mediaobject.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mediaobject.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mediaobject.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mediaobject.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mediaobject')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A displayed media object (video, audio, image, etc.)')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('mediaobject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mediaobject.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mediaobject.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.alt')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.mediaobject.content')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.inlinemediaobject.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.inlinemediaobject.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.inlinemediaobject.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.inlinemediaobject.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.inlinemediaobject')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An inline media object (video, audio, image, and so on)')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('inlinemediaobject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.inlinemediaobject.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.inlinemediaobject.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.alt')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.mediaobject.content')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videoobject.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videoobject.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videoobject.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videoobject.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videoobject')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for video data and its associated meta-information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('videoobject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videoobject.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videoobject.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audioobject.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audioobject.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audioobject.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audioobject.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audioobject')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for audio data and its associated meta-information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('audioobject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audioobject.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audioobject.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audiodata')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.imageobject.content')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.imagedata')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.imagedata.mathml')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.imagedata.svg')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobject.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobject.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobject.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobject.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobject')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for image data and its associated meta-information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('imageobject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobject.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobject.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobject.content')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textobject.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textobject.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textobject.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textobject.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textobject')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for a text description of an object and its associated meta-information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('textobject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textobject.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textobject.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.phrase')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.textdata')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.blocks')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.align.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.halign.enumeration')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.align.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the (horizontal) alignment of the video data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('align')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.videodata.align.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.valign.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.valign.enumeration')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.valign.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the vertical alignment of the video data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('valign')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.videodata.valign.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.width.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.width.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.depth.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.depth.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.contentwidth.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.contentwidth.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.contentdepth.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.contentdepth.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.scalefit.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.scalefit.enumeration')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.scalefit.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Determines if anamorphic scaling is forbidden')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('scalefit')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.videodata.scalefit.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.scale.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.scale.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.data.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.align.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.valign.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.width.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.contentwidth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.scalefit.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.scale.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.depth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.contentdepth.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.videodata')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Pointer to external video data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('videodata')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.videodata.info')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audiodata.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audiodata.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audiodata.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.data.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audiodata.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.audiodata')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Pointer to external audio data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('audiodata')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audiodata.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.audiodata.info')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.align.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.halign.enumeration')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.align.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the (horizontal) alignment of the image data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('align')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.imagedata.align.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.valign.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.valign.enumeration')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.valign.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the vertical alignment of the image data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('valign')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.imagedata.valign.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.width.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.width.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.depth.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.depth.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.contentwidth.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.contentwidth.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.contentdepth.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.contentdepth.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.scalefit.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.scalefit.enumeration')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.scalefit.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Determines if anamorphic scaling is forbidden')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('scalefit')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.imagedata.scalefit.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.scale.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.scale.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.data.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.align.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.valign.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.width.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.contentwidth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.scalefit.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.scale.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.depth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.contentdepth.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Pointer to external image data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('imagedata')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.info')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textdata.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textdata.encoding.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the encoding of the text in the external file')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('encoding')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textdata.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textdata.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.data.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textdata.encoding.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textdata.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.textdata')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Pointer to external text data')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('textdata')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textdata.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.textdata.info')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.caption.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.caption.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.caption.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.caption.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.caption')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A caption')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:table)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"table must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:sidebar)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"sidebar must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:task)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"task must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('caption')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.caption.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.caption.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopsis.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopsis.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A general-purpose element for representing the syntax of commands or functions')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('synopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cmdsynopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cmdsynopsis.sepchar.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the character that should separate the command and its top-level arguments')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sepchar')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cmdsynopsis.cmdlength.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates the displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('cmdlength')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cmdsynopsis.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cmdsynopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cmdsynopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cmdsynopsis.sepchar.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cmdsynopsis.cmdlength.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cmdsynopsis.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cmdsynopsis.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cmdsynopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A syntax summary for a software command')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('cmdsynopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cmdsynopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cmdsynopsis.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.command')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.arg')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.group')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.sbr')
                  PsiElement())(')')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.synopfragment')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.rep.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Can not be repeated.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"norepeat"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Can be repeated.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"repeat"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.rep.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates whether or not repetition is possible.')
        PsiWhiteSpace('\n  ')
        PATTERN
          ANNOTATION
            PsiElement([)('[')
            PsiWhiteSpace(' ')
            PsiElement(PREFIXED_NAME)('a:defaultValue')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            PsiElement(LITERAL)('"norepeat"')
            PsiWhiteSpace(' ')
            PsiElement(])(']')
          PsiWhiteSpace(' ')
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('rep')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.rep.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.choice.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Formatted to indicate that it is optional.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"opt"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Formatted without indication.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"plain"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Formatted to indicate that it is required.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"req"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.choice.opt.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates optionality.')
        PsiWhiteSpace('\n  ')
        PATTERN
          ANNOTATION
            PsiElement([)('[')
            PsiWhiteSpace(' ')
            PsiElement(PREFIXED_NAME)('a:defaultValue')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            PsiElement(LITERAL)('"opt"')
            PsiWhiteSpace(' ')
            PsiElement(])(']')
          PsiWhiteSpace(' ')
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('choice')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.choice.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.choice.req.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates optionality.')
        PsiWhiteSpace('\n  ')
        PATTERN
          ANNOTATION
            PsiElement([)('[')
            PsiWhiteSpace(' ')
            PsiElement(PREFIXED_NAME)('a:defaultValue')
            PsiWhiteSpace(' ')
            PsiElement(=)('=')
            PsiWhiteSpace(' ')
            PsiElement(LITERAL)('"req"')
            PsiWhiteSpace(' ')
            PsiElement(])(']')
          PsiWhiteSpace(' ')
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('choice')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.choice.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arg.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arg.rep.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.rep.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arg.choice.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.choice.opt.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arg.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.arg.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.arg.rep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.arg.choice.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arg')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An argument in a CmdSynopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('arg')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.arg.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.arg')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.group')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.option')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.synopfragmentref')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.sbr')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.group.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.group.rep.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.rep.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.group.choice.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.choice.opt.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.group.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.group.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.group.rep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.group.choice.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.group')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A group of elements in a CmdSynopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('group')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.group.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.arg')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.group')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.option')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.synopfragmentref')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.replaceable')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.sbr')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sbr.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sbr.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sbr.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sbr')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An explicit line break in a command synopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sbr')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sbr.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopfragment.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopfragment.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopfragment.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopfragment')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A portion of a CmdSynopsis broken out from the main body of the synopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('synopfragment')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopfragment.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.arg')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.group')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopfragmentref.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopfragmentref.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopfragmentref.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.linkend.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.synopfragmentref')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A reference to a fragment of a command synopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Synopsis fragment type constraint"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:synopfragmentref"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace('\n              ')
                    PsiElement(LITERAL)('"local-name(//*[@xml:id=current()/@linkend]) = 'synopfragment' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"@linkend on synopfragmentref must point to a synopfragment."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('synopfragmentref')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopfragmentref.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcsynopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcsynopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcsynopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.language.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcsynopsis.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcsynopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The syntax summary for a function definition')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('funcsynopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcsynopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcsynopsis.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.funcsynopsisinfo')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.funcprototype')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcsynopsisinfo.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcsynopsisinfo.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcsynopsisinfo.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcsynopsisinfo')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Information supplementing the FuncDefs of a FuncSynopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('funcsynopsisinfo')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcsynopsisinfo.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcprototype.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcprototype.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcprototype.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcprototype')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The prototype of a function')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('funcprototype')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcprototype.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcdef')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.void')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.varargs')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.paramdef')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.varargs')
                        PsiElement(?)('?')
                    PsiElement())(')')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcdef.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcdef.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcdef.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcdef')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A function (subroutine) name and its return type')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('funcdef')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcdef.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.type')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.function')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.void.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.void.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.void.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.void')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An empty element in a function synopsis indicating that the function in question takes no arguments')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('void')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.void.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varargs.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varargs.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.varargs.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varargs')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An empty element in a function synopsis indicating a variable number of arguments')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('varargs')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.varargs.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.paramdef.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.paramdef.choice.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Formatted to indicate that it is optional.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"opt"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Formatted to indicate that it is required.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"req"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.paramdef.choice.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates optionality.')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace(' ')
              PsiElement(PREFIXED_NAME)('a:defaultValue')
              PsiWhiteSpace(' ')
              PsiElement(=)('=')
              PsiWhiteSpace(' ')
              PsiElement(LITERAL)('"opt"')
              PsiWhiteSpace(' ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('choice')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.paramdef.choice.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.paramdef.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.paramdef.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.paramdef.choice.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.paramdef')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Information about a function parameter in a programming language')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('paramdef')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.paramdef.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.initializer')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.type')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.parameter')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.funcparams')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcparams.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcparams.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcparams.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.funcparams')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Parameters for a function referenced through a function pointer in a synopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('funcparams')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.funcparams.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsis.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## This is the synopsis of a class')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"class"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## This is the synopsis of an interface')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"interface"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsis.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the nature of the synopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.classsynopsis.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classsynopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.language.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classsynopsis.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The syntax summary for a class definition')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('classsynopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classsynopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.oo.inlines')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.classsynopsisinfo')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.methodsynopsis')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.constructorsynopsis')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.destructorsynopsis')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.fieldsynopsis')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsisinfo.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsisinfo.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classsynopsisinfo.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classsynopsisinfo')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Information supplementing the contents of a ClassSynopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('classsynopsisinfo')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classsynopsisinfo.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.ooclass.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.ooclass.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.ooclass.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.ooclass')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A class in an object-oriented programming language')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('ooclass')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.ooclass.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.package')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.modifier')
                  PsiElement())(')')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classname')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.oointerface.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.oointerface.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.oointerface.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.oointerface')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An interface in an object-oriented programming language')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('oointerface')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.oointerface.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.package')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.modifier')
                  PsiElement())(')')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.interfacename')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.ooexception.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.ooexception.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.ooexception.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.ooexception')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An exception in an object-oriented programming language')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('ooexception')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.ooexception.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.package')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.modifier')
                  PsiElement())(')')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.exceptionname')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.modifier.xml.space.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Can be used to indicate that whitespace in the modifier should be preserved (for multi-line annotations, for example).')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            NAME
              PsiElement(PREFIXED_NAME)('xml:space')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Extra whitespace and line breaks must be preserved.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              PsiComment(SINGLE_LINE_COMMENT)('# Ideally the definition of xml:space used on modifier would be')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      # different from the definition used on the verbatim elements. The')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      # verbatim elements forbid the use of xml:space="default" which')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      # wouldn't be a problem on modifier. But doing that causes the')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      # generated XSD schemas to be broken so I'm just reusing the existing')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      # definition for now. It won't be backwards incompatible to fix this')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      # problem in the future.')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      #    | ## Extra whitespace and line breaks are not preserved.')
              PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n      #      "default"')
              PsiWhiteSpace('\n      \n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(LITERAL)('"preserve"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.modifier.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.modifier.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.modifier.xml.space.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.modifier.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.modifier')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Modifiers in a synopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('modifier')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.modifier.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.interfacename.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.interfacename.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.interfacename.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.interfacename')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of an interface')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('interfacename')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.interfacename.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.exceptionname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.exceptionname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.exceptionname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.exceptionname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of an exception')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('exceptionname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.exceptionname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.fieldsynopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.fieldsynopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.fieldsynopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.language.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.fieldsynopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a field in a class definition')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('fieldsynopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.fieldsynopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.type')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.varname')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.initializer')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.initializer.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.initializer.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.initializer.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.initializer')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The initializer for a FieldSynopsis')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('initializer')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.initializer.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constructorsynopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constructorsynopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constructorsynopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.language.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constructorsynopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A syntax summary for a constructor')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('constructorsynopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constructorsynopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.methodname')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.methodparam')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  OPTIONAL
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.void')
                    PsiElement(?)('?')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.exceptionname')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.destructorsynopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.destructorsynopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.destructorsynopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.language.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.destructorsynopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A syntax summary for a destructor')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('destructorsynopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.destructorsynopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.methodname')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.methodparam')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  OPTIONAL
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.void')
                    PsiElement(?)('?')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.exceptionname')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodsynopsis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodsynopsis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodsynopsis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.language.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodsynopsis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A syntax summary for a method')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('methodsynopsis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodsynopsis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.type')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.void')
                  PsiElement())(')')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodname')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.methodparam')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.void')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.exceptionname')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a method')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('methodname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodparam.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodparam.rep.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.rep.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodparam.choice.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.choice.req.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodparam.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodparam.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodparam.rep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodparam.choice.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.methodparam')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Parameters to a method')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('methodparam')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.methodparam.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.type')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ZERO_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.modifier')
                        PsiElement(*)('*')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      REF_PATTERN
                        PsiElement(IDENTIFIER)('db.parameter')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.initializer')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.funcparams')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.modifier')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.address.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.address.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.address.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.verbatim.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.address')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A real-world address, generally a postal address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('address')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.address.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.personname')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.pob')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.street')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.city')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.state')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.postcode')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.country')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.phone')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.fax')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.email')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.otheraddr')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.street.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.street.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.street.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.street')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A street address in an address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('street')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.street.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pob.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pob.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pob.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pob')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A post office box in an address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('pob')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pob.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.postcode.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.postcode.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.postcode.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.postcode')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A postal code in an address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('postcode')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.postcode.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.city.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.city.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.city.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.city')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a city in an address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('city')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.city.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.state.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.state.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.state.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.state')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A state or province in an address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('state')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.state.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.country.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.country.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.country.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.country')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a country')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('country')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.country.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.phone.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.phone.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.phone.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.phone')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A telephone number')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('phone')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.phone.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.fax.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.fax.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.fax.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.fax')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A fax number')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('fax')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.fax.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.otheraddr.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.otheraddr.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.otheraddr.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.otheraddr')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Uncategorized information in address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('otheraddr')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.otheraddr.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.affiliation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.affiliation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.affiliation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.affiliation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The institutional affiliation of an individual')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('affiliation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.affiliation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.shortaffil')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.jobtitle')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  OPTIONAL
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.org')
                    PsiElement(?)('?')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.orgname')
                        PsiElement(?)('?')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      ZERO_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.orgdiv')
                        PsiElement(*)('*')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      ZERO_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.address')
                        PsiElement(*)('*')
                    PsiElement())(')')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.shortaffil.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.shortaffil.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.shortaffil.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.shortaffil')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A brief description of an affiliation')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('shortaffil')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.shortaffil.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.jobtitle.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.jobtitle.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.jobtitle.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.jobtitle')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The title of an individual in an organization')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('jobtitle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.jobtitle.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgname.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A consortium')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"consortium"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A corporation')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"corporation"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An informal organization')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"informal"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A non-profit organization')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"nonprofit"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgname.class-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the nature of the organization')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.orgname.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgname.class-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the nature of the organization')
          PsiWhiteSpace('\n    ')
          SEQUENCE
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('class')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      \n      ')
              PsiComment(DOCUMENTATION)('## Indicates a non-standard organization class')
              PsiWhiteSpace('\n      ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"other"')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(,)(',')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## Identifies the non-standard nature of the organization')
            PsiWhiteSpace('\n    ')
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('otherclass')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgname.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.orgname.class-enum.attribute')
            PsiWhiteSpace(' ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.orgname.class-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orgname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orgname.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of an organization other than a corporation ')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('orgname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orgname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgdiv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgdiv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orgdiv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.orgdiv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A division of an organization')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('orgdiv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orgdiv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.artpagenums.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.artpagenums.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.artpagenums.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.artpagenums')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The page numbers of an article as published')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('artpagenums')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.artpagenums.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.personname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.personname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.personname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.personname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The personal name of an individual')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('personname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.personname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._text')
                  PsiWhiteSpace('\n       ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    GROUP_PATTERN
                      PsiElement(()('(')
                      CHOICE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.honorific')
                        PsiWhiteSpace('\n          ')
                        PsiElement(|)('|')
                        PsiWhiteSpace(' ')
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.firstname')
                        PsiWhiteSpace('\n          ')
                        PsiElement(|)('|')
                        PsiWhiteSpace(' ')
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.surname')
                        PsiWhiteSpace('\n          ')
                        PsiElement(|)('|')
                        PsiWhiteSpace(' ')
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.lineage')
                        PsiWhiteSpace('\n          ')
                        PsiElement(|)('|')
                        PsiWhiteSpace(' ')
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.othername')
                      PsiElement())(')')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.person.author.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.personname')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          ZERO_OR_MORE
            GROUP_PATTERN
              PsiElement(()('(')
              CHOICE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.personblurb')
                PsiWhiteSpace('\n   ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.affiliation')
                PsiWhiteSpace('\n   ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.email')
                PsiWhiteSpace('\n   ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.address')
                PsiWhiteSpace('\n   ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.contrib')
              PsiElement())(')')
            PsiElement(*)('*')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.org.author.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.orgname')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          ZERO_OR_MORE
            GROUP_PATTERN
              PsiElement(()('(')
              CHOICE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.orgdiv')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.affiliation')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.email')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.address')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.contrib')
              PsiElement())(')')
            PsiElement(*)('*')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.credit.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.person.author.contentmodel')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.org.author.contentmodel')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.author.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.author.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.author.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.author')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of an individual author')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('author')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.author.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.credit.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.authorgroup.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.authorgroup.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.authorgroup.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.authorgroup')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Wrapper for author information when a document has multiple authors or collabarators')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('authorgroup')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.authorgroup.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.author')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.editor')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.othercredit')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.collab.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.collab.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.collab.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.collab')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies a collaborator')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('collab')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.collab.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.person')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.personname')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.org')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.orgname')
                  PsiElement())(')')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.affiliation')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.authorinitials.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.authorinitials.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.authorinitials.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.authorinitials')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The initials or other short identifier for an author')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('authorinitials')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.authorinitials.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.person.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.person.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.person.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.person')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A person and associated metadata')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('person')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.person.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.personname')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.address')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.affiliation')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.email')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.personblurb')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.org.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.org.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.org.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.org')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An organization and associated metadata')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('org')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.org.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orgname')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.address')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.affiliation')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.email')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.orgdiv')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confgroup.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confgroup.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confgroup.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confgroup')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for document meta-information about a conference')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('confgroup')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confgroup.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.confdates')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.conftitle')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.confnum')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.confsponsor')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.address')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confdates.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confdates.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confdates.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confdates')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The dates of a conference for which a document was written')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('confdates')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confdates.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.conftitle.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.conftitle.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.conftitle.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.conftitle')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The title of a conference for which a document was written')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('conftitle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.conftitle.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confnum.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confnum.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confnum.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confnum')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An identifier, frequently numerical, associated with a conference for which a document was written')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('confnum')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confnum.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confsponsor.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confsponsor.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confsponsor.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.confsponsor')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The sponsor of a conference for which a document was written')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('confsponsor')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.confsponsor.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contractnum.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contractnum.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contractnum.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contractnum')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The contract number of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('contractnum')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contractnum.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contractsponsor.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contractsponsor.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contractsponsor.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contractsponsor')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The sponsor of a contract')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('contractsponsor')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contractsponsor.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.copyright.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.copyright.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.copyright.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.copyright')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Copyright information about a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('copyright')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.copyright.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.year')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.holder')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.year.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.year.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.year.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.year')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The year of publication of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('year')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.year.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.holder.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.holder.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.holder.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.holder')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of the individual or organization that holds a copyright')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('holder')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.holder.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.cover.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        ONE_OR_MORE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.para.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.extension.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.list.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informal.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publishing.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.graphic.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.technical.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.verbatim.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bridgehead')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.synopsis.blocks')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.remark')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revhistory')
            PsiElement())(')')
          PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cover.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cover.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cover.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cover')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Additional content for the cover of a publication')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('cover')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cover.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cover.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.date.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:date')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:dateTime')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:gYearMonth')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:gYear')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.date.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.date.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.date.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.date')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The date of publication or revision of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('date')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.date.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.date.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.edition.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.edition.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.edition.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.edition')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name or number of an edition of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('edition')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.edition.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.editor.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.editor.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.editor.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.editor')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of the editor of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('editor')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.editor.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.credit.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioid.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioid.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioid.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.biblio.class.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioid')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An identifier for a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('biblioid')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioid.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citebiblioid.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citebiblioid.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citebiblioid.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.biblio.class.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citebiblioid')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A citation of a bibliographic identifier')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('citebiblioid')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citebiblioid.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliosource.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliosource.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliosource.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.biblio.class.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliosource')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The source of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliosource')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliosource.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliorelation.type.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The described resource pre-existed the referenced resource, which is essentially the same intellectual content presented in another format')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"hasformat"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource includes the referenced resource either physically or logically')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"haspart"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource has a version, edition, or adaptation, namely, the referenced resource')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"hasversion"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource is the same intellectual content of the referenced resource, but presented in another format')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"isformatof"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource is a physical or logical part of the referenced resource')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"ispartof"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource is referenced, cited, or otherwise pointed to by the referenced resource')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"isreferencedby"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource is supplanted, displaced, or superceded by the referenced resource')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"isreplacedby"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource is required by the referenced resource, either physically or logically')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"isrequiredby"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource is a version, edition, or adaptation of the referenced resource; changes in version imply substantive changes in content rather than differences in format')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"isversionof"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource references, cites, or otherwise points to the referenced resource')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"references"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource supplants, displaces, or supersedes the referenced resource')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"replaces"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The described resource requires the referenced resource to support its function, delivery, or coherence of content')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"requires"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliorelation.type-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the type of relationship')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('type')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliorelation.type.enumeration')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliorelation.type-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the type of relationship')
          PsiWhiteSpace('\n    ')
          SEQUENCE
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('type')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n      \n      ')
                PsiComment(DOCUMENTATION)('## The described resource has a non-standard relationship with the referenced resource')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"othertype"')
                PsiWhiteSpace('\n    ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiElement(,)(',')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## A keyword that identififes the type of the non-standard relationship')
            PsiWhiteSpace('\n    ')
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('othertype')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliorelation.type.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliorelation.type-enum.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliorelation.type-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliorelation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliorelation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliorelation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.biblio.class.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliorelation.type.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliorelation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The relationship of a document to another')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliorelation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliorelation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.spacial.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The DCMI Point identifies a point in space using its geographic coordinates')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"dcmipoint"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## ISO 3166 Codes for the representation of names of countries')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"iso3166"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The DCMI Box identifies a region of space using its geographic limits')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"dcmibox"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The Getty Thesaurus of Geographic Names')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"tgn"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.spatial-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the type of spatial coverage')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('spatial')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliocoverage.spacial.enumeration')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.spatial-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the type of spatial coverage')
          PsiWhiteSpace('\n    ')
          SEQUENCE
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('spatial')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n      \n      ')
                PsiComment(DOCUMENTATION)('## Identifies a non-standard type of coverage')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"otherspatial"')
                PsiWhiteSpace('\n    ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiElement(,)(',')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## A keyword that identifies the type of non-standard coverage')
            PsiWhiteSpace('\n    ')
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('otherspatial')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.spatial.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliocoverage.spatial-enum.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliocoverage.spatial-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.temporal.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A specification of the limits of a time interval')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"dcmiperiod"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## W3C Encoding rules for dates and times—a profile based on ISO 8601')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"w3c-dtf"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.temporal-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the type of temporal coverage')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('temporal')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliocoverage.temporal.enumeration')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.temporal-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the type of temporal coverage')
          PsiWhiteSpace('\n    ')
          SEQUENCE
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('temporal')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n      \n      ')
                PsiComment(DOCUMENTATION)('## Specifies a non-standard type of coverage')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"othertemporal"')
                PsiWhiteSpace('\n    ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiElement(,)(',')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## A keyword that identifies the type of non-standard coverage')
            PsiWhiteSpace('\n    ')
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('othertemporal')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.temporal.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliocoverage.temporal-enum.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliocoverage.temporal-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.coverage.attrib')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliocoverage.spatial.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliocoverage.temporal.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliocoverage.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.bibliocoverage.coverage.attrib')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliocoverage')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The spatial or temporal coverage of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliocoverage')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliocoverage.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.legalnotice.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.legalnotice.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.legalnotice.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.legalnotice.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.legalnotice')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A statement of legal obligations or requirements')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('legalnotice')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.legalnotice.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.legalnotice.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A copy editor')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"copyeditor"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A graphic designer')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"graphicdesigner"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Some other contributor')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"other"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A production editor')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"productioneditor"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A technical editor')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"technicaleditor"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A translator')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"translator"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit.class-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the contributor')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('class')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.othercredit.class.enumeration')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit.class-other.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the non-standard contribution')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('otherclass')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit.class-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the contributor')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('class')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      \n      ')
              PsiComment(DOCUMENTATION)('## Identifies a non-standard contribution')
              PsiWhiteSpace('\n      ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"other"')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.othercredit.class-other.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.othercredit.class-enum.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.othercredit.class-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.othercredit.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.othercredit.class.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othercredit')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A person or entity, other than an author or editor, credited in a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('othercredit')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.othercredit.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.credit.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pagenums.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pagenums.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pagenums.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pagenums')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The numbers of the pages in a book, for use in a bibliographic entry')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('pagenums')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pagenums.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contrib.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contrib.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contrib.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.contrib')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A summary of the contributions made to a document by a credited source')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('contrib')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.contrib.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.honorific.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.honorific.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.honorific.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.honorific')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The title of a person')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('honorific')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.honorific.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.firstname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.firstname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.firstname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.firstname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The first name of a person')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('firstname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.firstname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.surname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.surname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.surname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.surname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A family name; in western cultures the last name')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('surname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.surname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lineage.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lineage.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lineage.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lineage')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The portion of a person's name indicating a relationship to ancestors')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('lineage')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lineage.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othername.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othername.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.othername.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.othername')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A component of a persons name that is not a first name, surname, or lineage')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('othername')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.othername.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.printhistory.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.printhistory.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.printhistory.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.printhistory')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The printing history of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('printhistory')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.printhistory.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.para.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productname.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A name with a copyright')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"copyright"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A name with a registered copyright')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"registered"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A name of a service')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"service"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A name which is trademarked')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"trade"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productname.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the class of product name')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.productname.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productname.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The formal name of a product')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('productname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productnumber.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productnumber.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productnumber.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productnumber')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A number assigned to a product')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('productnumber')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productnumber.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pubdate.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pubdate.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pubdate.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.pubdate')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The date of publication of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('pubdate')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pubdate.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.date.contentmodel')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.publisher.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.publisher.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publisher.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.publisher')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The publisher of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('publisher')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publisher.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publishername')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.address')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.publishername.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.publishername.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publishername.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.publishername')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of the publisher of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('publishername')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.publishername.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.releaseinfo.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.releaseinfo.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.releaseinfo.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.releaseinfo')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Information about a particular release of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('releaseinfo')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.releaseinfo.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revhistory.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revhistory.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revhistory.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revhistory.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revhistory')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A history of the revisions to a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('revhistory')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revhistory.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revhistory.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.revision')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revision.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revision.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revision.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revision')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An entry describing a single revision in the history of the revisions to a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('revision')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revision.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.revnumber')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.date')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.authorinitials')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.author')
                  PsiElement())(')')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.revremark')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.revdescription')
                  PsiElement())(')')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revnumber.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revnumber.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revnumber.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revnumber')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A document revision number')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('revnumber')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revnumber.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revremark.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revremark.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revremark.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revremark')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A description of a revision to a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('revremark')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revremark.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revdescription.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revdescription.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revdescription.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.revdescription')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A extended description of a revision to a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('revdescription')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.revdescription.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seriesvolnums.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seriesvolnums.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seriesvolnums.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seriesvolnums')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Numbers of the volumes in a series of books')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('seriesvolnums')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seriesvolnums.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.volumenum.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.volumenum.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.volumenum.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.volumenum')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The volume number of a document in a set (as of books in a set or articles in a journal)')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('volumenum')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.volumenum.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.issuenum.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.issuenum.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.issuenum.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.issuenum')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The number of an issue of a journal')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('issuenum')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.issuenum.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.accel.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.accel.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.accel.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.accel')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A graphical user interface (GUI) keyboard shortcut')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('accel')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.accel.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.application.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A hardware application')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"hardware"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A software application')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"software"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.application.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of application')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.application.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.application.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.application.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.application.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.application.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.application')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a software program')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('application')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.application.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.package.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.package.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.package.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.package')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A software or application package')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('package')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.package.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.classname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a class, in the object-oriented programming sense')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('classname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.classname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.command.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.command.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.command.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.command')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of an executable program or other software command')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('command')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.command.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.computeroutput.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.ubiq.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.os.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.technical.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.markup.inlines')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.co')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.computeroutput.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.computeroutput.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.computeroutput.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.computeroutput')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Data, generally text, displayed or presented by a computer')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('computeroutput')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.computeroutput.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.computeroutput.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.database.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An alternate or secondary key')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"altkey"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A constraint')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"constraint"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A data type')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"datatype"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A field')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"field"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A foreign key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"foreignkey"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A group')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"group"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An index')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"index"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The first or primary key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"key1"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An alternate or secondary key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"key2"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A name')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"name"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The primary key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"primarykey"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A (stored) procedure')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"procedure"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A record')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"record"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A rule')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"rule"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The secondary key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"secondarykey"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A table')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"table"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A user')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"user"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A view')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"view"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.database.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of database artifact')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.database.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.database.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.database.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.database.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.database.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.database')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a database, or part of a database')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('database')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.database.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.email.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.email.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.email.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.email')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An email address')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('email')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.email.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.envar.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.envar.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.envar.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.envar')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A software environment variable')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('envar')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.envar.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errorcode.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errorcode.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errorcode.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errorcode')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An error code')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('errorcode')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errorcode.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errorname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errorname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errorname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errorname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An error name')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('errorname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errorname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errortext.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errortext.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errortext.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errortext')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An error message.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('errortext')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errortext.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errortype.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errortype.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errortype.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.errortype')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The classification of an error message')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('errortype')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.errortype.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.filename.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A device')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"devicefile"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A directory')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"directory"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A filename extension')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"extension"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A header file (as for a programming language)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"headerfile"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A library file')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"libraryfile"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A partition (as of a hard disk)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"partition"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A symbolic link')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"symlink"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.filename.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of filename')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.filename.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.filename.path.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the path of the filename')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('path')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.filename.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.filename.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.filename.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.filename.path.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.filename.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.filename')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a file')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('filename')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.filename.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.function.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.function.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.function.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.function')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a function or subroutine, as in a programming language')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('function')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.function.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guibutton.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guibutton.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guibutton.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guibutton')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The text on a button in a GUI')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('guibutton')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guibutton.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.accel')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guiicon.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guiicon.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guiicon.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guiicon')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Graphic and/or text appearing as a icon in a GUI')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('guiicon')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guiicon.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.accel')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guilabel.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guilabel.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guilabel.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guilabel')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The text of a label in a GUI')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('guilabel')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guilabel.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.accel')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guimenu.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guimenu.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guimenu.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guimenu')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a menu in a GUI')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('guimenu')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guimenu.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.accel')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guimenuitem.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guimenuitem.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guimenuitem.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guimenuitem')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a terminal menu item in a GUI')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('guimenuitem')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guimenuitem.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.accel')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guisubmenu.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guisubmenu.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guisubmenu.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.guisubmenu')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a submenu in a GUI')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('guisubmenu')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.guisubmenu.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.accel')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.hardware.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.hardware.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.hardware.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.hardware')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A physical part of a computer system')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('hardware')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.hardware.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycap.function.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The "Alt" key')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"alt"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Backspace" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"backspace"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Command" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"command"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Control" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"control"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Delete" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"delete"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The down arrow')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"down"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "End" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"end"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Enter" or "Return" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"enter"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Escape" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"escape"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Home" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"home"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Insert" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"insert"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The left arrow')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"left"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Meta" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"meta"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Option" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"option"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The page down key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"pagedown"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The page up key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"pageup"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The right arrow')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"right"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Shift" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"shift"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The spacebar')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"space"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The "Tab" key')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"tab"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The up arrow')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"up"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycap.function-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the function key')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('function')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycap.function.enumeration')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycap.function-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the function key')
          PsiWhiteSpace('\n    ')
          SEQUENCE
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('function')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n      \n      ')
                PsiComment(DOCUMENTATION)('## Indicates a non-standard function key')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"other"')
                PsiWhiteSpace('\n    ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiElement(,)(',')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## Specifies a keyword that identifies the non-standard key')
            PsiWhiteSpace('\n    ')
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('otherfunction')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycap.function.attrib')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.keycap.function-enum.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.keycap.function-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycap.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycap.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycap.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.keycap.function.attrib')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycap')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The text printed on a key on a keyboard')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('keycap')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycap.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycode.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycode.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycode.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycode')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The internal, frequently numeric, identifier for a key on a keyboard')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('keycode')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycode.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycombo.action.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A (single) mouse click.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"click"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A double mouse click.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"double-click"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A mouse or key press.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"press"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Sequential clicks or presses.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"seq"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Simultaneous clicks or presses.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"simul"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycombo.action-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the action taken. If keycombo')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  contains more than one element, simul')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  is the default, otherwise there is no default.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('action')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycombo.action.enumeration')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycombo.action-other.attributes')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the action taken')
          PsiWhiteSpace('\n    ')
          SEQUENCE
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('action')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n      \n      ')
                PsiComment(DOCUMENTATION)('## Indicates a non-standard action')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"other"')
                PsiWhiteSpace('\n    ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiElement(,)(',')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## Identifies the non-standard action in some unspecified way.')
            PsiWhiteSpace('\n    ')
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('otheraction')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycombo.action.attrib')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.keycombo.action-enum.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.keycombo.action-other.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycombo.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycombo.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycombo.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.keycombo.action.attrib')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keycombo')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A combination of input actions')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('keycombo')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keycombo.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.keycap')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.keycombo')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.keysym')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.mousebutton')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keysym.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keysym.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keysym.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.keysym')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The symbolic name of a key on a keyboard')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('keysym')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.keysym.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lineannotation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lineannotation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lineannotation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lineannotation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A comment on a line in a verbatim listing')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('lineannotation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lineannotation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literal.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literal.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.literal.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.literal')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Inline text that is some literal value')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('literal')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.literal.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('code.language.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the (computer) language of the code fragment')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('language')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.code.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.code.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.code.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('code.language.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.code')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An inline code fragment')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('code')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.code.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.programming.inlines')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constant.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of constant')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      \n      ')
            PsiComment(DOCUMENTATION)('## The value is a limit of some kind')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"limit"')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constant.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constant.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constant.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constant.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constant')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A programming or system constant')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('constant')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constant.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.varname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.varname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of a variable')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('varname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.varname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.markup.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.markup.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.markup.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.markup')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A string of formatting markup in text that is to be represented literally')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('markup')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.markup.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.menuchoice.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.menuchoice.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.menuchoice.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.menuchoice')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A selection or series of selections from a menu')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('menuchoice')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.menuchoice.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.shortcut')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.guibutton')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.guiicon')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.guilabel')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.guimenu')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.guimenuitem')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.guisubmenu')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.shortcut.action.attrib')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.keycombo.action.attrib')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.shortcut.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.shortcut.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.shortcut.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.shortcut.action.attrib')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.shortcut')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A key combination for an action that is also accessible through a menu')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('shortcut')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.shortcut.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.keycap')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.keycombo')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.keysym')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.mousebutton')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mousebutton.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mousebutton.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mousebutton.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mousebutton')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The conventional name of a mouse button')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('mousebutton')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mousebutton.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.option.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.option.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.option.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.option')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An option for a software command')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('option')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.option.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.optional.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.optional.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.optional.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.optional')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Optional information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('optional')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.optional.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.property.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.property.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.property.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.property')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A unit of data associated with some part of a computer system')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('property')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.property.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.parameter.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A command')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"command"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A function')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"function"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An option')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"option"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.parameter.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of parameter')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.parameter.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.parameter.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.parameter.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.parameter.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.parameter.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.parameter')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A value or a symbolic reference to a value')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('parameter')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.parameter.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.prompt.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._text')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.co')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.prompt.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.prompt.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.prompt.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.prompt')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A character or string indicating the start of an input field in a  computer display')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('prompt')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.prompt.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.prompt.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.replaceable.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._text')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.co')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.replaceable.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A command')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"command"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A function')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"function"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An option')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"option"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A parameter')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"parameter"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.replaceable.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the replaceable text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.replaceable.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.replaceable.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.replaceable.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.replaceable.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.replaceable.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.replaceable')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Content that may or must be replaced by the user')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('replaceable')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.replaceable.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.replaceable.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.returnvalue.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.returnvalue.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.returnvalue.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.returnvalue')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The value returned by a function')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('returnvalue')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.returnvalue.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tag.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tag.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An attribute')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"attribute"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An attribute value')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"attvalue"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An element')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"element"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An empty element tag')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"emptytag"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An end tag')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"endtag"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A general entity')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"genentity"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The local name part of a qualified name')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"localname"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A namespace')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"namespace"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A numeric character reference')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"numcharref"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A parameter entity')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"paramentity"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A processing instruction')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"pi"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The prefix part of a qualified name')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"prefix"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An SGML comment')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"comment"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A start tag')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"starttag"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An XML processing instruction')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"xmlpi"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tag.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the tag content')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.tag.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tag.namespace.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the namespace of the tag content')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_NAMESPACE)('namespace')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:anyURI')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tag.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tag.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tag.class.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tag.namespace.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tag')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A component of XML (or SGML) markup')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tag')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tag.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.symbol.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of symbol')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      \n      ')
            PsiComment(DOCUMENTATION)('## The value is a limit of some kind')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"limit"')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.symbol.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.symbol.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.symbol.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.symbol.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.symbol')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A name that is replaced by a value before processing')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('symbol')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.symbol.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.systemitem.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._text')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.co')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.systemitem.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A daemon or other system process (syslogd)')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"daemon"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A domain name (example.com)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"domainname"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An ethernet address (00:05:4E:49:FD:8E)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"etheraddress"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An event of some sort (SIGHUP)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"event"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An event handler of some sort (hangup)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"eventhandler"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A filesystem (ext3)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"filesystem"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A fully qualified domain name (my.example.com)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"fqdomainname"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A group name (wheel)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"groupname"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An IP address (127.0.0.1)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"ipaddress"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A library (libncurses)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"library"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A macro')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"macro"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A netmask (255.255.255.192)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"netmask"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A newsgroup (comp.text.xml)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"newsgroup"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An operating system name (Hurd)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"osname"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A process (gnome-cups-icon)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"process"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A protocol (ftp)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"protocol"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A resource')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"resource"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A server (mail.example.com)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"server"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A service (ppp)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"service"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A system name (hephaistos)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"systemname"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A user name (ndw)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"username"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.systemitem.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the system item')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.systemitem.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.systemitem.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.systemitem.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.systemitem.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.systemitem.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.systemitem')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A system-related item or term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('systemitem')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.systemitem.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.systemitem.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.uri.type.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the type of URI specified')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('type')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.uri.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.uri.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.uri.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.uri.type.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.uri')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A Uniform Resource Identifier')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('uri')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.uri.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.token.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.token.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.token.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.token')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A unit of information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_TOKEN)('token')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.token.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.type.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.type.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.type.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.type')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The classification of a value')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('type')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.type.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.userinput.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.ubiq.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.os.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.technical.inlines')
              PsiWhiteSpace('\n   ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.markup.inlines')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.co')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.userinput.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.userinput.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.userinput.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.userinput')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Data entered by the user')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('userinput')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.userinput.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.userinput.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.abbrev.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.abbrev.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.abbrev.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.abbrev')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An abbreviation, especially one followed by a period')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('abbrev')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.abbrev.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.trademark')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acronym.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acronym.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.acronym.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acronym')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An often pronounceable word made from the initial (or selected) letters of a name or phrase')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('acronym')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.acronym.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.superscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.subscript')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.trademark')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An inline bibliographic reference to another published work')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('citation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citerefentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citerefentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citerefentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citerefentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A citation to a reference page')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('citerefentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citerefentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentrytitle')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.manvolnum')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refentrytitle.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refentrytitle.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentrytitle.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refentrytitle')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The title of a reference page')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refentrytitle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentrytitle.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.manvolnum.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.manvolnum.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.manvolnum.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.manvolnum')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A reference volume number')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('manvolnum')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.manvolnum.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citetitle.pubwork.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An article')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"article"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A bulletin board system')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"bbs"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A book')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"book"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A CD-ROM')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"cdrom"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A chapter (as of a book)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"chapter"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A DVD')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"dvd"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An email message')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"emailmessage"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A gopher page')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"gopher"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A journal')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"journal"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A manuscript')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"manuscript"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A posting to a newsgroup')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"newsposting"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A part (as of a book)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"part"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A reference entry')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"refentry"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A section (as of a book or article)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"section"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A series')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"series"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A set (as of books)')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"set"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A web page')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"webpage"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A wiki page')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"wiki"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citetitle.pubwork.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the publication being cited')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('pubwork')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.citetitle.pubwork.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citetitle.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citetitle.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citetitle.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citetitle.pubwork.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.citetitle')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The title of a cited work')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('citetitle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.citetitle.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.emphasis.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.emphasis.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.emphasis.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.emphasis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Emphasized text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('emphasis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.emphasis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db._emphasis')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A limited span of emphasized text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('emphasis')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.emphasis.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._emphasis')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.foreignphrase.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.foreignphrase.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.foreignphrase.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.foreignphrase')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A word or phrase in a language other than the primary language of the document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('foreignphrase')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.foreignphrase.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    TEXT_PATTERN
                      PsiElement(KEYWORD_TEXT)('text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.general.inlines')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.phrase.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.phrase.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.phrase.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.phrase')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A span of text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('phrase')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.phrase.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db._phrase')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A limited span of text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('phrase')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.phrase.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.quote.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.quote.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.quote.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.quote')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An inline quotation')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('quote')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.quote.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subscript.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subscript.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subscript.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.subscript')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subscript (as in H2')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## O, the molecular formula for water)')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('subscript')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.subscript.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.superscript.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.superscript.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.superscript.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.superscript')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A superscript (as in x^2, the mathematical notation for x multiplied by itself)')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('superscript')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.superscript.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.trademark.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A copyright')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"copyright"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A registered copyright')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"registered"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A service')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"service"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A trademark')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"trade"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.trademark.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of trade mark')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.trademark.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.trademark.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.trademark.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.trademark.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.trademark.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.trademark')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A trademark')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('trademark')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.trademark.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.wordasword.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.wordasword.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.wordasword.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.wordasword')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A word meant specifically as a word and not representing anything else')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('wordasword')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.wordasword.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnoteref.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnoteref.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnoteref.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnoteref.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.linkend.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnoteref.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.footnoteref')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cross reference to a footnote (a footnote mark)')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Footnote reference type constraint"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:footnoteref"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace('\n              ')
                    PsiElement(LITERAL)('"local-name(//*[@xml:id=current()/@linkend]) = 'footnote' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"@linkend on footnoteref must point to a footnote."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('footnoteref')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.footnoteref.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.xref.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.xref.xrefstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xrefstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.xref.endterm.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.endterm.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.xref.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xref.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.req.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xref.xrefstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xref.endterm.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.xref')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cross reference to another part of the document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('xref')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xref.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.link.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.link.xrefstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xrefstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.link.endterm.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.endterm.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.link.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.link.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.req.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.link.xrefstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.link.endterm.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.link')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A hypertext link')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('link')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.link.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink.xrefstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xrefstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink.localinfo.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Holds additional information that may be used by the applicatoin when resolving the link')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('localinfo')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink.targetdoc.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the URI of the document in which the link target appears')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('targetdoc')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:anyURI')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink.targetptr.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the location of the link target in the document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('targetptr')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink.type.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies application-specific customization of the link behavior')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('type')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink.targetdoc.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink.xrefstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink.localinfo.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink.targetptr.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink.type.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.olink')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A link that addresses its target indirectly')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('olink')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.olink.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.anchor.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.anchor.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.anchor.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.idreq.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.anchor')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A spot in the document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('anchor')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.anchor.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.alt.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.alt.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.alt.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.alt')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A text-only annotation, often used for accessibility')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('alt')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.alt.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    TEXT_PATTERN
                      PsiElement(KEYWORD_TEXT)('text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.inlinemediaobject')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.annotations.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies one or more annotations that apply to this element')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('annotations')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.annotation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.annotation.annotates.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies one ore more elements to which this annotation applies')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('annotates')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.annotation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.annotation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.annotation.annotates.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.annotation.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.annotation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An annotation')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:annotation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:annotation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"annotation must not occur in the descendants of annotation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('annotation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.annotation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.annotation.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.from.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the XLink traversal-from')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              NAME
                PsiElement(PREFIXED_NAME)('xlink:from')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.label.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the XLink label')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              NAME
                PsiElement(PREFIXED_NAME)('xlink:label')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.xlink.to.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the XLink traversal-to')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              NAME
                PsiElement(PREFIXED_NAME)('xlink:to')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.extendedlink.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.extendedlink.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.extendedlink.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Identifies the XLink link type ')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                ANNOTATION
                  PsiElement([)('[')
                  PsiWhiteSpace(' ')
                  PsiElement(PREFIXED_NAME)('a:defaultValue')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"extended"')
                  PsiWhiteSpace(' ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n      ')
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  NAME
                    PsiElement(PREFIXED_NAME)('xlink:type')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n        \n        ')
                PsiComment(DOCUMENTATION)('## An XLink extended link')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"extended"')
                PsiWhiteSpace('\n      ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.title.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.extendedlink')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An XLink extended link')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('extendedlink')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.extendedlink.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.locator')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.arc')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.locator.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.locator.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.locator.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Identifies the XLink link type ')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                ANNOTATION
                  PsiElement([)('[')
                  PsiWhiteSpace(' ')
                  PsiElement(PREFIXED_NAME)('a:defaultValue')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"locator"')
                  PsiWhiteSpace(' ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n      ')
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  NAME
                    PsiElement(PREFIXED_NAME)('xlink:type')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n        \n        ')
                PsiComment(DOCUMENTATION)('## An XLink locator link')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"locator"')
                PsiWhiteSpace('\n      ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.xlink.href.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.title.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.locator')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An XLink locator in an extendedlink')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('locator')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.locator.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arc.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arc.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.arc.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Identifies the XLink link type ')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                ANNOTATION
                  PsiElement([)('[')
                  PsiWhiteSpace(' ')
                  PsiElement(PREFIXED_NAME)('a:defaultValue')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"arc"')
                  PsiWhiteSpace(' ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n      ')
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  NAME
                    PsiElement(PREFIXED_NAME)('xlink:type')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n        \n        ')
                PsiComment(DOCUMENTATION)('## An XLink arc link')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"arc"')
                PsiWhiteSpace('\n      ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.arcrole.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.title.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.show.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.actuate.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.from.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.xlink.to.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.arc')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An XLink arc in an extendedlink')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('arc')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.arc.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the editorial or publication status of the element on which it occurs')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('status')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.toplevel.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              GROUP_PATTERN
                PsiElement(()('(')
                SEQUENCE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.section')
                    PsiElement(+)('+')
                  PsiElement(,)(',')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.simplesect')
                    PsiElement(*)('*')
                PsiElement())(')')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.simplesect')
                PsiElement(+)('+')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.sect1')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.simplesect')
                PsiElement(*)('*')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.refentry')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.toplevel.blocks.or.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.toplevel.sections')
                PsiElement(?)('?')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.toplevel.sections')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.recursive.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              GROUP_PATTERN
                PsiElement(()('(')
                SEQUENCE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.section')
                    PsiElement(+)('+')
                  PsiElement(,)(',')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.simplesect')
                    PsiElement(*)('*')
                PsiElement())(')')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.simplesect')
                PsiElement(+)('+')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.refentry')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.recursive.blocks.or.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.recursive.sections')
                PsiElement(?)('?')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.recursive.sections')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.divisions')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.part')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.reference')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.dedication')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.acknowledgements')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.preface')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.chapter')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.appendix')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.article')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.colophon')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.navigation.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          NOT_ALLOWED_PATTERN
            PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.glossary')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.bibliography')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.index')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.toc')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.component.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          ZERO_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.navigation.components')
            PsiElement(*)('*')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.toplevel.blocks.or.sections')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          ZERO_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.navigation.components')
            PsiElement(*)('*')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.setindex.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          NOT_ALLOWED_PATTERN
            PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.setindex')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.toc.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          NOT_ALLOWED_PATTERN
            PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.toc')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.set.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.set')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.book')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.set.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.set.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.set.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.set.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.set.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.set.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.set')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A collection of books')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:set"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('set')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.set.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.set.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.toc.components')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.set.components')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.setindex.components')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.book.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.book.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.book.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.book.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.book.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.book.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.book')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A book')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:book"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('book')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.book.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.book.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.navigation.components')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.components')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.divisions')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.dedication.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.dedication.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.dedication.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.dedication.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.dedication.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.dedication.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.dedication')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The dedication of a book or other component')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:dedication"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('dedication')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.dedication.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.dedication.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acknowledgements.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acknowledgements.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acknowledgements.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.acknowledgements.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.acknowledgements.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acknowledgements.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.acknowledgements')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Acknowledgements of a book or other component')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:acknowledgements"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('acknowledgements')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.acknowledgements.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.acknowledgements.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colophon.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colophon.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colophon.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colophon.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colophon.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colophon.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colophon')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Text at the back of a book describing facts about its production')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:colophon"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('colophon')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colophon.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colophon.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.appendix.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.appendix.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.appendix.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.appendix.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.appendix.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.appendix.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.appendix')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An appendix in a Book or Article')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:appendix"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('appendix')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.appendix.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.appendix.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.component.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.chapter.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.chapter.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.chapter.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.chapter.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.chapter.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.chapter.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.chapter')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A chapter, as of a book')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:chapter"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('chapter')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.chapter.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.chapter.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.component.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.part.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.navigation.components')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.components')
            PsiElement())(')')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentry')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.reference')
            PsiElement())(')')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.part.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.part.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.part.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.part.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.part.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.part.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.part')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A division in a book')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:part"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('part')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.part.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.part.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.partintro')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.part.components')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.preface.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.preface.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.preface.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.preface.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.preface.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.preface.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.preface')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Introductory matter preceding the first chapter of a book')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:preface"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('preface')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.preface.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.preface.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.component.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.partintro.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.partintro.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.partintro.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.partintro.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.partintro.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.partintro.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.partintro')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An introduction to the contents of a part')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('partintro')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.partintro.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.partintro.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.toplevel.blocks.or.sections')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.section.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.section.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.section.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.section.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.section.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.section.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.section')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A recursive section')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:section"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('section')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.section.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.section.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.recursive.blocks.or.sections')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.navigation.components')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplesect.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplesect.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplesect.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplesect.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplesect.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplesect.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplesect')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A section of a document with no subdivisions')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('simplesect')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplesect.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplesect.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.article.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db.toplevel.sections')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.article.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.article.class.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A collection of frequently asked questions.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"faq"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## An article in a journal or other periodical.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"journalarticle"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A description of a product.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"productsheet"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A specification.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"specification"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A technical report.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"techreport"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## A white paper.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"whitepaper"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.article.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the nature of the article')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.article.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.article.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.article.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.article.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.article.status.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.article.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.article.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.article')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An article')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:article"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('article')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.article.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.article.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.navigation.components')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.appendix')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.acknowledgements')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.colophon')
                  PsiElement())(')')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.article.components')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace('\n       ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.article.components')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.navigation.components')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.appendix')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.acknowledgements')
                    PsiWhiteSpace('\n       ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.colophon')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.sect1.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.sect2')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.simplesect')
                PsiElement(*)('*')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.simplesect')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect1.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect1.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect1.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect1.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect1.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect1.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect1')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A top-level section of document')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:sect1"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sect1')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect1.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect1.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.sect1.sections')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.sect1.sections')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.navigation.components')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.sect2.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.sect3')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.simplesect')
                PsiElement(*)('*')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.simplesect')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect2.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect2.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect2.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect2.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect2.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect2.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect2')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subsection within a Sect1')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:sect2"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sect2')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect2.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect2.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.sect2.sections')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.sect2.sections')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.navigation.components')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.sect3.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.sect4')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.simplesect')
                PsiElement(*)('*')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.simplesect')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect3.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect3.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect3.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect3.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect3.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect3.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect3')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subsection within a Sect2')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:sect3"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sect3')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect3.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect3.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.sect3.sections')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.sect3.sections')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.navigation.components')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.sect4.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            SEQUENCE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.sect5')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.simplesect')
                PsiElement(*)('*')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.simplesect')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect4.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect4.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect4.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect4.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect4.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect4.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect4')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subsection within a Sect3')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:sect4"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sect4')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect4.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect4.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.sect4.sections')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.sect4.sections')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.navigation.components')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.sect5.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        ONE_OR_MORE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.simplesect')
          PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect5.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect5.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect5.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect5.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect5.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect5.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.sect5')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subsection within a Sect4')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:sect5"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sect5')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect5.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sect5.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.sect5.sections')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.sect5.sections')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.navigation.components')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.toplevel.refsection')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.refsection')
            PsiElement(+)('+')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.refsect1')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.secondlevel.refsection')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.refsection')
            PsiElement(+)('+')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.refsect2')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.reference.components')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db.refentry')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.reference.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.reference.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.reference.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.status.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.reference.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.reference')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A collection of reference entries')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:reference"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('reference')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.reference.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.reference.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.partintro')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.reference.components')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.status.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refentry.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A reference page (originally a UNIX man-style reference page)')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:refentry"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.indexterm')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentry.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.refmeta')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.refnamediv')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.refsynopsisdiv')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.toplevel.refsection')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refmeta.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refmeta.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refmeta.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refmeta')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Meta-information for a reference entry')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refmeta')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refmeta.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.indexterm')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refentrytitle')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.manvolnum')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.refmiscinfo')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.indexterm')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.refmiscinfo.class.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## The name of the software product or component to which this topic applies')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"source"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The version of the software product or component to which this topic applies')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"version"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The section title of the reference page (e.g., User Commands)')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"manual"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The section title of the reference page (believed synonymous with "manual" but in wide use)')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"sectdesc"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The name of the software product or component to which this topic applies (e.g., SunOS x.y; believed synonymous with "source" but in wide use)')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"software"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.refmiscinfo.class-enum.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the kind of miscellaneous information')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.refmiscinfo.class.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.refmiscinfo.class-other.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the nature of non-standard miscellaneous information')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('otherclass')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.refmiscinfo.class-other.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the kind of miscellaneious information')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## Indicates that the information is some 'other' kind.')
            PsiWhiteSpace('\n    ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"other"')
            PsiWhiteSpace('\n  ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.refmiscinfo.class-other.attribute')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.refmiscinfo.class.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.refmiscinfo.class-enum.attribute')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.refmiscinfo.class-other.attributes')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refmiscinfo.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refmiscinfo.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refmiscinfo.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refmiscinfo.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refmiscinfo')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Meta-information for a reference entry other than the title and volume number')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refmiscinfo')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refmiscinfo.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refnamediv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refnamediv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refnamediv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refnamediv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name, purpose, and classification of a reference page')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refnamediv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refnamediv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.refdescriptor')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.refname')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refpurpose')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.refclass')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refdescriptor.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refdescriptor.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refdescriptor.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refdescriptor')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A description of the topic of a reference page')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refdescriptor')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refdescriptor.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refname.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refname.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refname.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refname')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The name of (one of) the subject(s) of a reference page')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refname')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refname.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refpurpose.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refpurpose.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refpurpose.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refpurpose')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A short (one sentence) synopsis of the topic of a reference page')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refpurpose')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refpurpose.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refclass.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refclass.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refclass.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refclass')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The scope or other indication of applicability of a reference entry')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refclass')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refclass.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    TEXT_PATTERN
                      PsiElement(KEYWORD_TEXT)('text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.application')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsynopsisdiv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsynopsisdiv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsynopsisdiv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsynopsisdiv.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsynopsisdiv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A syntactic synopsis of the subject of the reference page')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refsynopsisdiv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsynopsisdiv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsynopsisdiv.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.secondlevel.refsection')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace('\n       ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.secondlevel.refsection')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsection.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsection.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsection.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.status.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsection.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsection')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A recursive section in a refentry')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:refsection"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refsection')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsection.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsection.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      ZERO_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.refsection')
                        PsiElement(*)('*')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.refsection')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.refsect1.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        ONE_OR_MORE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.refsect2')
          PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect1.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect1.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect1.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect1.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect1.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect1.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect1')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A major subsection of a reference entry')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:refsect1"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refsect1')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect1.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect1.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.refsect1.sections')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.refsect1.sections')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.refsect2.sections')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        ONE_OR_MORE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.refsect3')
          PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect2.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect2.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect2.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect2.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect2.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect2.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect2')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subsection of a refsect1')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:refsect2"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refsect2')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect2.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect2.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  GROUP_PATTERN
                    PsiElement(()('(')
                    SEQUENCE
                      ONE_OR_MORE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.all.blocks')
                        PsiElement(+)('+')
                      PsiElement(,)(',')
                      PsiWhiteSpace(' ')
                      OPTIONAL
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.refsect2.sections')
                        PsiElement(?)('?')
                    PsiElement())(')')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.refsect2.sections')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect3.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect3.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect3.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect3.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect3.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect3.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.refsect3')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subsection of a refsect2')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:refsect3"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('refsect3')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect3.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.refsect3.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.glossary.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.firstterm')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.glossterm')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.baseform.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the base form of the term, the one that appears in the glossary. This allows adjectival, plural, and other variations of the term to appear in the element. The element content is the default base form.')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('baseform')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosslist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosslist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glosslist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosslist.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosslist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for a list of glossary entries')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glosslist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glosslist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.glosslist.info')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.glossentry')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossentry.sortas.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the string by which the element's content is to be sorted; if unspecified, the content is used')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('sortas')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossentry.sortas.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An entry in a Glossary or GlossList')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glossentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossterm')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.acronym')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.abbrev')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.indexterm')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.glosssee')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.glossdef')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdef.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdef.subject.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies a list of keywords for the definition')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('subject')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdef.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossdef.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossdef.subject.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdef')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A definition in a GlossEntry')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glossdef')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossdef.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.glossseealso')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosssee.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosssee.otherterm.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the other term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('otherterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:IDREF')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosssee.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glosssee.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glosssee.otherterm.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glosssee')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cross-reference from one glossentry')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  to another')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Glosssary 'see' type constraint"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:glosssee[@otherterm]"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace('\n              ')
                    PsiElement(LITERAL)('"local-name(//*[@xml:id=current()/@otherterm]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@otherterm]) = 'http://docbook.org/ns/docbook'"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"@otherterm on glosssee must point to a glossentry."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glosssee')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glosssee.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossseealso.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossseealso.otherterm.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the other term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('otherterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:IDREF')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossseealso.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossseealso.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossseealso.otherterm.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossseealso')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cross-reference from one GlossEntry to another')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Glossary 'seealso' type constraint"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:glossseealso[@otherterm]"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace('\n              ')
                    PsiElement(LITERAL)('"local-name(//*[@xml:id=current()/@otherterm]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@otherterm]) = 'http://docbook.org/ns/docbook'"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"@otherterm on glossseealso must point to a glossentry."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glossseealso')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossseealso.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.firstterm.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.firstterm.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.firstterm.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.baseform.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.firstterm')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The first occurrence of a term')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Glossary 'firstterm' type constraint"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:firstterm[@linkend]"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace('\n              ')
                    PsiElement(LITERAL)('"local-name(//*[@xml:id=current()/@linkend]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"@linkend on firstterm must point to a glossentry."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('firstterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.firstterm.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossterm.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossterm.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossterm.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.baseform.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossterm')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A glossary term')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Glossary 'glossterm' type constraint"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:glossterm[@linkend]"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace('\n              ')
                    PsiElement(LITERAL)('"local-name(//*[@xml:id=current()/@linkend]) = 'glossentry' and namespace-uri(//*[@xml:id=current()/@linkend]) = 'http://docbook.org/ns/docbook'"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"@linkend on glossterm must point to a glossentry."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glossterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossterm.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossary.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossary.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossary.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossary.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossary.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossary.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossary')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A glossary')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:glossary"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glossary')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossary.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossary.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.glossdiv')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.glossentry')
                    PsiElement(*)('*')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.bibliography')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdiv.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdiv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdiv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossdiv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossdiv.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdiv.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.glossdiv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A division in a Glossary')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('glossdiv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossdiv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossdiv.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.glossentry')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.termdef.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.termdef.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.termdef.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.glossentry.sortas.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.baseform.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.termdef')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An inline definition of a term')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Glossary term definition constraint"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:termdef"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"count(db:firstterm) = 1"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"A termdef must contain exactly one firstterm"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('termdef')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.termdef.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.relation.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the relationship between the bibliographic elemnts')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('relation')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An entry in a Bibliography')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('biblioentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.bibliographic.elements')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomixed.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomixed.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomixed.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomixed')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An entry in a Bibliography')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliomixed')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomixed.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    TEXT_PATTERN
                      PsiElement(KEYWORD_TEXT)('text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.bibliographic.elements')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioset.relation.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.relation.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioset.relation.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A raw container for related bibliographic information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('biblioset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.bibliographic.elements')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomset.relation.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.relation.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomset.relation.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cooked container for related bibliographic information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliomset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.bibliographic.elements')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomisc.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomisc.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomisc.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliomisc')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Untyped bibliographic information')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliomisc')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliomisc.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliography.status.attrib')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliography.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliography.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliography.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliography.status.attrib')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliography.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliography')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A bibliography')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:bibliography"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliography')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliography.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliography.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.bibliodiv')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    GROUP_PATTERN
                      PsiElement(()('(')
                      CHOICE
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.biblioentry')
                        PsiWhiteSpace(' ')
                        PsiElement(|)('|')
                        PsiWhiteSpace(' ')
                        REF_PATTERN
                          PsiElement(IDENTIFIER)('db.bibliomixed')
                      PsiElement())(')')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliodiv.status.attrib')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliodiv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliodiv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliodiv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliodiv.status.attrib')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliodiv.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliodiv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A section of a Bibliography')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliodiv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliodiv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliodiv.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.biblioentry')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.bibliomixed')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliolist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliolist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliolist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliolist.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.bibliolist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for a list of bibliography entries')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('bibliolist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.bibliolist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.bibliolist.info')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.biblioentry')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.bibliomixed')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref.xrefstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.xrefstyle.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref.endterm.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.endterm.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref.units.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The units (for example, pages) used to identify the beginning and ending of a reference.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('units')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:token')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref.begin.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the beginning of a reference; the location within the work that is being referenced.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('begin')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:token')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref.end.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the end of a reference.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('end')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:token')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioref.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.req.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioref.xrefstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioref.endterm.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioref.units.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioref.begin.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioref.end.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.biblioref')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cross-reference to a bibliographic entry')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('biblioref')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.biblioref.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.significance.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Normal')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"normal"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Preferred')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"preferred"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.significance.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the significance of the term')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('significance')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.significance.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.zone.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the IDs of the elements to which this term applies')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('zone')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:IDREFS')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.indexterm.pagenum.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates the page on which this index term occurs in some version of the printed document')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('pagenum')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.scope.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## All indexes')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"all"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The global index (as for a combined index of a set of box)')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"global"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## The local index (the index for this document only)')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"local"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.scope.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the scope of the index term')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('scope')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.scope.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.sortas.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the string by which the term is to be sorted; if unspecified, the term content is used')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('sortas')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.index.type.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the target index for this term')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('type')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itermset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itermset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.itermset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.itermset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A set of index terms in the meta-information of a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('itermset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.itermset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.indexterm.singular')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.indexterm.contentmodel')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.primary')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          OPTIONAL
            GROUP_PATTERN
              PsiElement(()('(')
              CHOICE
                GROUP_PATTERN
                  PsiElement(()('(')
                  SEQUENCE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.secondary')
                    PsiElement(,)(',')
                    PsiWhiteSpace('\n    ')
                    OPTIONAL
                      GROUP_PATTERN
                        PsiElement(()('(')
                        CHOICE
                          GROUP_PATTERN
                            PsiElement(()('(')
                            SEQUENCE
                              REF_PATTERN
                                PsiElement(IDENTIFIER)('db.tertiary')
                              PsiElement(,)(',')
                              PsiWhiteSpace(' ')
                              OPTIONAL
                                GROUP_PATTERN
                                  PsiElement(()('(')
                                  CHOICE
                                    REF_PATTERN
                                      PsiElement(IDENTIFIER)('db.see')
                                    PsiWhiteSpace(' ')
                                    PsiElement(|)('|')
                                    PsiWhiteSpace(' ')
                                    ONE_OR_MORE
                                      REF_PATTERN
                                        PsiElement(IDENTIFIER)('db.seealso')
                                      PsiElement(+)('+')
                                  PsiElement())(')')
                                PsiElement(?)('?')
                            PsiElement())(')')
                          PsiWhiteSpace('\n     ')
                          PsiElement(|)('|')
                          PsiWhiteSpace(' ')
                          REF_PATTERN
                            PsiElement(IDENTIFIER)('db.see')
                          PsiWhiteSpace('\n     ')
                          PsiElement(|)('|')
                          PsiWhiteSpace(' ')
                          ONE_OR_MORE
                            REF_PATTERN
                              PsiElement(IDENTIFIER)('db.seealso')
                            PsiElement(+)('+')
                        PsiElement())(')')
                      PsiElement(?)('?')
                  PsiElement())(')')
                PsiWhiteSpace('\n   ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.see')
                PsiWhiteSpace('\n   ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                ONE_OR_MORE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.seealso')
                  PsiElement(+)('+')
              PsiElement())(')')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.singular.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.singular.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of index term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      \n      ')
            PsiComment(DOCUMENTATION)('## A singular index term')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"singular"')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.singular.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.singular.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.significance.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.zone.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.pagenum.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.scope.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.type.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.singular.class.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.singular')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for an indexed term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('indexterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.singular.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.startofrange.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.startofrange.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of index term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      \n      ')
            PsiComment(DOCUMENTATION)('## The start of a range')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"startofrange"')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.startofrange.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.startofrange.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.significance.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.zone.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.pagenum.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.scope.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.type.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.indexterm.startofrange.class.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.startofrange')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for an indexed term that covers a range')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('indexterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.startofrange.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.contentmodel')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.endofrange.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.endofrange.class.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the class of index term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('class')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      \n      ')
            PsiComment(DOCUMENTATION)('## The end of a range')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"endofrange"')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.endofrange.startref.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Points to the start of the range')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('startref')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:IDREF')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.endofrange.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.endofrange.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.indexterm.endofrange.class.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.indexterm.endofrange.startref.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm.endofrange')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the end of a range associated with an indexed term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('indexterm')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexterm.endofrange.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexterm')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          CHOICE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.indexterm.singular')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.indexterm.startofrange')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.indexterm.endofrange')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.primary.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.primary.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.primary.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sortas.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.primary')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The primary word or phrase under which an index term should be sorted')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('primary')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.primary.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.secondary.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.secondary.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.secondary.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sortas.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.secondary')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A secondary word or phrase in an index term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('secondary')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.secondary.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tertiary.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tertiary.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tertiary.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.sortas.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tertiary')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A tertiary word or phrase in an index term')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tertiary')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tertiary.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.see.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.see.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.see.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.see')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Part of an index term directing the reader instead to another entry in the index')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('see')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.see.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seealso.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seealso.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seealso.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seealso')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Part of an index term directing the reader also to another entry in the index')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('seealso')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seealso.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.index.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.index.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.index.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.status.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.type.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.index.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        PsiComment(SINGLE_LINE_COMMENT)('# ')
        PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n  # Yes, db.indexdiv* and db.indexentry*; that way an <index/> is valid.')
        PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n  # Authors can use an empty index to indicate where a generated index should')
        PsiComment(SINGLE_LINE_COMMENT_CONTINUE)('\n  # appear.')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.index')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An index to a book or part of a book')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:index"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('index')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.indexdiv')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.indexentry')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.segmentedlist')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.setindex.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.setindex.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.setindex.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.setindex.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.setindex.status.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.index.type.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.setindex.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.setindex')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An index to a set of books')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:setindex"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('setindex')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.setindex.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.setindex.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.indexdiv')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.indexentry')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexdiv.status.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.status.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexdiv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexdiv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexdiv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexdiv.status.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexdiv.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.req')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexdiv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A division in an index')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('indexdiv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexdiv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexdiv.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.indexentry')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.segmentedlist')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.indexentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An entry in an index')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('indexentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.indexentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.primaryie')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.seeie')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.seealsoie')
                  PsiElement())(')')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  SEQUENCE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.secondaryie')
                    PsiElement(,)(',')
                    PsiWhiteSpace(' ')
                    ZERO_OR_MORE
                      GROUP_PATTERN
                        PsiElement(()('(')
                        CHOICE
                          REF_PATTERN
                            PsiElement(IDENTIFIER)('db.seeie')
                          PsiWhiteSpace(' ')
                          PsiElement(|)('|')
                          PsiWhiteSpace(' ')
                          REF_PATTERN
                            PsiElement(IDENTIFIER)('db.seealsoie')
                          PsiWhiteSpace(' ')
                          PsiElement(|)('|')
                          PsiWhiteSpace(' ')
                          REF_PATTERN
                            PsiElement(IDENTIFIER)('db.tertiaryie')
                        PsiElement())(')')
                      PsiElement(*)('*')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.primaryie.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.primaryie.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.primaryie.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkends.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.primaryie')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A primary term in an index entry, not in the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('primaryie')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.primaryie.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.secondaryie.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.secondaryie.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.secondaryie.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkends.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.secondaryie')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A secondary term in an index entry, rather than in the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('secondaryie')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.secondaryie.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tertiaryie.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tertiaryie.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tertiaryie.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkends.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tertiaryie')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A tertiary term in an index entry, rather than in the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tertiaryie')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tertiaryie.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seeie.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seeie.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seeie.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkend.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seeie')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A See')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## entry in an index, rather than in the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('seeie')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seeie.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seealsoie.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seealsoie.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seealsoie.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkends.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.seealsoie')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A See also')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  entry in an index, rather than in the text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('seealsoie')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.seealsoie.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.toc.pagenum.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates the page on which this element occurs in some version of the printed document')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('pagenum')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.toc.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.toc.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.toc.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.toc.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.toc')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table of contents')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Root must have version"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"/db:toc"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"@version"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"The root element must have a version attribute."')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('toc')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.toc.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.toc.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.tocdiv')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.tocentry')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocdiv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocdiv.pagenum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.toc.pagenum.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocdiv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tocdiv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tocdiv.pagenum.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkend.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocdiv.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocdiv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A division in a table of contents')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tocdiv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tocdiv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tocdiv.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.tocdiv')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.tocentry')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocentry.pagenum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.toc.pagenum.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tocentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tocentry.pagenum.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.linkend.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tocentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A component title in a table of contents')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tocentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tocentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.task.info')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db._info.title.req')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.task.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.task.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.task.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.task')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A task to be completed')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('task')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.task.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.task.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.tasksummary')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.taskprerequisites')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.procedure')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.example')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.taskrelated')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tasksummary.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tasksummary.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tasksummary.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tasksummary.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tasksummary')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A summary of a task')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tasksummary')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tasksummary.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tasksummary.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskprerequisites.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskprerequisites.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.taskprerequisites.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskprerequisites.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskprerequisites')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The prerequisites for a task')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('taskprerequisites')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.taskprerequisites.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.taskprerequisites.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskrelated.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskrelated.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.taskrelated.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskrelated.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.taskrelated')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Information related to a task')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('taskrelated')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.taskrelated.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.taskrelated.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.area.units.enumeration')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Coordinates expressed as a pair of CALS graphic coordinates.')
        PsiWhiteSpace('\n  ')
        CHOICE
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"calspair"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Coordinates expressed as a line and column.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"linecolumn"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Coordinates expressed as a pair of lines and columns.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"linecolumnpair"')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Coordinates expressed as a line range.')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            PsiElement(LITERAL)('"linerange"')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.area.units-enum.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Identifies the units used in the coords attribute The default units vary according to the type of callout specified: calspair')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  for graphics and linecolumn')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  for line-oriented elements.')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('units')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.area.units.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.area.units-other.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates that non-standard units are used for this area')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ## . In this case otherunits')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  must be specified.')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('units')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n    \n    ')
              PsiComment(DOCUMENTATION)('## Coordinates expressed in some non-standard units.')
              PsiWhiteSpace('\n    ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"other"')
              PsiWhiteSpace('\n  ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  \n  ')
          PsiComment(DOCUMENTATION)('## Identifies the units used in the coords')
          PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  attribute when the units')
          PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  attribute is other')
          PsiComment(DOCUMENTATION_CONTINUE)('\n  ## . This attribute is forbidden otherwise.')
          PsiWhiteSpace('\n  ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('otherunits')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:NMTOKEN')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.area.units.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.area.units-enum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.area.units-other.attributes')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.calloutlist.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.calloutlist.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.calloutlist.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.calloutlist.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.calloutlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A list of callout')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## s')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('calloutlist')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.calloutlist.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.calloutlist.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.callout')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.callout.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.callout.arearefs.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Identifies the areas described by this callout.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('arearefs')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:IDREFS')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.callout.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.callout.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.callout.arearefs.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.callout')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A called out')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  description of a marked Area')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('callout')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.callout.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlistingco.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlistingco.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlistingco.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlistingco.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.programlistingco')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A program listing with associated areas used in callouts')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('programlistingco')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlistingco.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlistingco.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaspec')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.programlisting')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.calloutlist')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaspec.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaspec.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaspec.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.area.units.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaspec')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A collection of regions in a graphic or code example')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('areaspec')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaspec.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.area')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.areaset')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area.linkends.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Point to the callout')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## s which refer to this area. (This provides bidirectional linking which may be useful in online presentation.)')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('linkends')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:IDREFS')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies an identifying number or string that may be used in presentation. The area label might be drawn on top of the figure, for example, at the position indicated by the coords attribute.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('label')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area.coords.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Provides the coordinates of the area. The coordinates must be interpreted using the units')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  specified.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('coords')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.area.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.idreq.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.area.units.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.area.linkends.attribute')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.href.attributes')
                PsiElement())(')')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.area.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.area.coords.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A region defined for a Callout in a graphic or code example')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('area')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.area.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.alt')
                PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        PsiComment(SINGLE_LINE_COMMENT)('# The only difference is that xml:id is optional')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area.inareaset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.area.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.area.units.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.area.linkends.attribute')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.href.attributes')
                PsiElement())(')')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.area.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.area.coords.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.area.inareaset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A region defined for a Callout in a graphic or code example')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('area')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.area.inareaset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.alt')
                PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaset.linkends.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.linkends.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaset.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.idreq.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.area.units.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.areaset.linkends.attribute')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db.href.attributes')
                PsiElement())(')')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaset.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.areaset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A set of related areas in a graphic or code example')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('areaset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.area.inareaset')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenco.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenco.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screenco.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenco.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.screenco')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A screen with associated areas used in callouts')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('screenco')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screenco.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screenco.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaspec')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.screen')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.calloutlist')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobjectco.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobjectco.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobjectco.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobjectco.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imageobjectco')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for an image object with callouts')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('imageobjectco')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobjectco.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imageobjectco.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.areaspec')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.imageobject')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.calloutlist')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.co.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.co.linkends.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.linkends.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.co.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.co.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.co.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.idreq.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.co.linkends.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.co.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.co')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The location of a callout embedded in text')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('co')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.co.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.coref.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.coref.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.coref.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.coref.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.linkend.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.coref.label.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.coref')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cross reference to a co')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('coref')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.coref.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productionset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productionset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productionset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productionset.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productionset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A set of EBNF productions')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('productionset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productionset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productionset.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.production')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.productionrecap')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.production.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.production.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.production.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.idreq.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.production')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A production in a set of EBNF productions')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('production')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.production.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lhs')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rhs')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.constraint')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lhs.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lhs.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lhs.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.lhs')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The left-hand side of an EBNF production')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('lhs')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.lhs.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.rhs.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.rhs.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rhs.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.rhs')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The right-hand side of an EBNF production')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('rhs')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rhs.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    TEXT_PATTERN
                      PsiElement(KEYWORD_TEXT)('text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.nonterminal')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.lineannotation')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.sbr')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.nonterminal.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.nonterminal.def.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies a URI that points to a production')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## where the nonterminal')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ##  is defined')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('def')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:anyURI')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.nonterminal.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.nonterminal.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.nonterminal.def.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.nonterminal')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A non-terminal in an EBNF production')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('nonterminal')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.nonterminal.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constraint.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constraint.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constraint.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.req.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constraint')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A constraint in an EBNF production')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('constraint')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constraint.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productionrecap.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productionrecap.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productionrecap.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.req.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.productionrecap')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cross-reference to an EBNF production')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('productionrecap')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.productionrecap.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constraintdef.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constraintdef.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constraintdef.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constraintdef.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.constraintdef')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The definition of a constraint in an EBNF production')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('constraintdef')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constraintdef.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.constraintdef.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.char.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the alignment character when align')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  is set to char')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ## .')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('char')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.charoff.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the percentage of the column's total width that should appear to the left of the first occurance of the character identified in char')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  when align')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ##  is set to char')
        PsiComment(DOCUMENTATION_CONTINUE)('\n  ## .')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('charoff')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:decimal')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            PARAM
              PsiElement(IDENTIFIER)('minExclusive')
              PsiWhiteSpace(' ')
              PsiElement(=)('=')
              PsiWhiteSpace(' ')
              PsiElement(LITERAL)('"0"')
            PsiWhiteSpace(' ')
            PARAM
              PsiElement(IDENTIFIER)('maxExclusive')
              PsiWhiteSpace(' ')
              PsiElement(=)('=')
              PsiWhiteSpace(' ')
              PsiElement(LITERAL)('"100"')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.frame.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies how the table is to be framed. Note that there is no way to obtain a border on only the starting edge (left, in left-to-right writing systems) of the table.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('frame')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Frame all four sides of the table. In some environments with limited control over table border formatting, such as HTML, this may imply additional borders.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"all"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Frame only the bottom of the table.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"bottom"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Place no border on the table. In some environments with limited control over table border formatting, such as HTML, this may disable other borders as well.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"none"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Frame the left and right sides of the table.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"sides"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Frame the top of the table.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"top"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Frame the top and bottom of the table.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"topbot"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.colsep.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the presence or absence of the column separator')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('colsep')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## No column separator rule.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"0"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Provide a column separator rule on the right')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"1"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.rowsep.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the presence or absence of the row separator')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('rowsep')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## No row separator rule.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"0"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Provide a row separator rule below')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"1"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.orient.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the orientation of the table')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('orient')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## 90 degrees counter-clockwise from the rest of the text flow.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"land"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## The same orientation as the rest of the text flow.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"port"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.tabstyle.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the table style')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('tabstyle')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.rowheader.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Indicates whether or not the entries in the first column should be considered row headers')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('rowheader')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Indicates that entries in the first column of the table are functionally row headers (analogous to the way that a thead provides column headers).')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"firstcol"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Indicates that entries in the first column have no special significance with respect to column headers.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"norowheader"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.align.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the horizontal alignment of text in an entry.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('align')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Centered.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"center"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Aligned on a particular character.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"char"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Left and right justified.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"justify"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Left justified.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"left"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Right justified.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"right"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.valign.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the vertical alignment of text in an entry.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('valign')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Aligned on the bottom of the entry.')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"bottom"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Aligned in the middle.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"middle"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Aligned at the top of the entry.')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"top"')
          PsiWhiteSpace('\n  ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.specify-col-by-colname.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies a column specification by name.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('colname')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.specify-col-by-namest.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies a starting column by name.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('namest')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.specify-span-by-spanspec.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies a span by name.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('spanname')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.specify-span-directly.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies a starting column by name.')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('namest')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies an ending column by name.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('nameend')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.column-spec.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.specify-col-by-colname.attributes')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.specify-col-by-namest.attributes')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.specify-span-by-spanspec.attributes')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.specify-span-directly.attributes')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.colname.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Provides a name for a column specification.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('colname')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.spanname.attribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Provides a name for a span specification.')
        PsiWhiteSpace('\n  ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('spanname')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tgroup.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tgroup.tgroupstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Additional style information for downstream processing; typically the name of a style.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tgroupstyle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tgroup.cols.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The number of columns in the table. Must be an integer greater than zero.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('cols')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:positiveInteger')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tgroup.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tgroup.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.char.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.charoff.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tgroup.tgroupstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.tgroup.cols.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.align.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.tgroup')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for the main content of a table, or part of a table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tgroup')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tgroup.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.colspec')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.spanspec')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.cals.thead')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.cals.tfoot')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.tbody')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colspec.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colspec.colnum.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The number of the column to which this specification applies. Must be greater than any preceding column number. Defaults to one more than the number of the preceding column, if there is one, or one.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('colnum')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:positiveInteger')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colspec.colwidth.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the width of the column.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('colwidth')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colspec.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colspec.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colspec.colnum.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.char.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colspec.colwidth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.charoff.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colname.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.align.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.colspec')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifications for a column in a table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('colspec')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colspec.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.spanspec.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.spanspec.namest.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies a starting column by name.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('namest')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.spanspec.nameend.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies an ending column by name.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('nameend')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.spanspec.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.spanspec.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.spanname.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.spanspec.namest.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.spanspec.nameend.attribute')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.char.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.charoff.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.align.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.spanspec')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Formatting information for a spanned column in a table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('spanspec')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.spanspec.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.thead.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.thead.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.thead.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.thead')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table header consisting of one or more rows')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('thead')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.thead.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.colspec')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.row')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.tfoot.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.tfoot.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.tfoot.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.tfoot')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table footer consisting of one or more rows')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tfoot')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.tfoot.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.colspec')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.row')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.tbody.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.tbody.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.tbody.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.tbody')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for the rows of a table or informal table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tbody')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.tbody.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.row')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.row.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.row.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.row.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.row')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A row in a table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('row')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.row.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.entry')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.entrytbl')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entry.morerows.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the number of additional rows which this entry occupies. Defaults to zero.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('morerows')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:integer')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entry.rotate.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the rotation of this entry. A value of 1 (true) rotates the cell 90 degrees counter-clockwise. A value of 0 (false) leaves the cell unrotated.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('rotate')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      \n      ')
            PsiComment(DOCUMENTATION)('## Do not rotate the cell.')
            PsiWhiteSpace('\n      ')
            CHOICE
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"0"')
              PsiWhiteSpace('\n      ')
              PsiElement(|)('|')
              PsiWhiteSpace(' \n        ')
              PsiComment(DOCUMENTATION)('## Rotate the cell 90 degrees counter-clockwise.')
              PsiWhiteSpace('\n        ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"1"')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.char.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.charoff.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entry.morerows.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.column-spec.attributes')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entry.rotate.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.align.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A cell in a table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('entry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.inlines')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.blocks')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl.tgroupstyle.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Additional style information for downstream processing; typically the name of a style.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tgroupstyle')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl.cols.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The number of columns in the entry table. Must be an integer greater than zero.')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('cols')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:positiveInteger')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entrytbl.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.char.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.charoff.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.column-spec.attributes')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entrytbl.tgroupstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entrytbl.cols.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.align.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subtable appearing in place of an Entry in a table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('entrytbl')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entrytbl.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.colspec')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.spanspec')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.cals.entrytbl.thead')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.entrytbl.tbody')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.entrytbl.thead.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.entrytbl.thead.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.entrytbl.thead.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.entrytbl.thead')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table header consisting of one or more rows')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('thead')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.entrytbl.thead.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.colspec')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.entrytbl.row')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.entrytbl.tbody.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.entrytbl.tbody.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.entrytbl.tbody.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.entrytbl.tbody')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for the rows of a table or informal table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tbody')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.entrytbl.tbody.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.entrytbl.row')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl.row.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl.row.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entrytbl.row.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.valign.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.entrytbl.row')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A row in a table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('row')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.entrytbl.row.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.entry')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.table.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.table.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.table.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.table.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.table.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tabstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.floatstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orient.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.frame.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pgwide.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Indicates if the short or long title should be used in a List of Tables')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('shortentry')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n        \n        ')
                PsiComment(DOCUMENTATION)('## Indicates that the full title should be used.')
                PsiWhiteSpace('\n        ')
                CHOICE
                  DATATYPE_PATTERN
                    PsiElement(LITERAL)('"0"')
                  PsiWhiteSpace('\n        ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' \n          ')
                  PsiComment(DOCUMENTATION)('## Indicates that the short short title (titleabbrev) should be used.')
                  PsiWhiteSpace('\n          ')
                  DATATYPE_PATTERN
                    PsiElement(LITERAL)('"1"')
                PsiWhiteSpace('\n      ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Indicates if the table should appear in a List of Tables')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('tocentry')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n        \n        ')
                PsiComment(DOCUMENTATION)('## Indicates that the table should not occur in the List of Tables.')
                PsiWhiteSpace('\n        ')
                CHOICE
                  DATATYPE_PATTERN
                    PsiElement(LITERAL)('"0"')
                  PsiWhiteSpace('\n        ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' \n          ')
                  PsiComment(DOCUMENTATION)('## Indicates that the table should appear in the List of Tables.')
                  PsiWhiteSpace('\n          ')
                  DATATYPE_PATTERN
                    PsiElement(LITERAL)('"1"')
                PsiWhiteSpace('\n      ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowheader.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.table.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.onlyreq')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.table')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A formal table in a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:informaltable)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"informaltable must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('table')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.table.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.table.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  OPTIONAL
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.alt')
                    PsiElement(?)('?')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.indexing.inlines')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.textobject')
                    PsiElement(*)('*')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.mediaobject')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.tgroup')
                    PsiElement(+)('+')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.informaltable.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.informaltable.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.informaltable.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tabstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.floatstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orient.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.colsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowsep.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.frame.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pgwide.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.rowheader.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.informaltable.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.cals.informaltable')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table without a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('informaltable')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.informaltable.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.cals.informaltable.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  OPTIONAL
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.alt')
                    PsiElement(?)('?')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.indexing.inlines')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.textobject')
                    PsiElement(*)('*')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.mediaobject')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.tgroup')
                    PsiElement(+)('+')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.coreattrs')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or names. Multiple class names must be separated by white space characters.')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('class')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## This attribute specifies style information for the current element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('style')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## This attribute offers advisory information about the element for which it is set.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('title')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.i18n')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## This attribute specifies the base language of an element's attribute values and text content. The default value of this attribute is unknown.')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('lang')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.events')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Occurs when the pointing device button is clicked over an element.')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onclick')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when the pointing device button is double clicked over an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('ondblclick')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when the pointing device button is pressed over an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onmousedown')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when the pointing device button is released over an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onmouseup')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when the pointing device is moved onto an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onmouseover')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when the pointing device is moved while it is over an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onmousemove')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when the pointing device is moved away from an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onmouseout')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when a key is pressed and released over an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onkeypress')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when a key is pressed down over an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onkeydown')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Occurs when a key is released over an element.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('onkeyup')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.attrs')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.common.attributes')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.html.coreattrs')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.html.i18n')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.html.events')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.cellhalign')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the alignment of data and the justification of text in a cell.')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('align')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n    \n    ')
              PsiComment(DOCUMENTATION)('## Left-flush data/Left-justify text. This is the default value for table data.')
              PsiWhiteSpace('\n    ')
              CHOICE
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"left"')
                PsiWhiteSpace('\n    ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n      ')
                PsiComment(DOCUMENTATION)('## Center data/Center-justify text. This is the default value for table headers.')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"center"')
                PsiWhiteSpace('\n    ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n      ')
                PsiComment(DOCUMENTATION)('## Right-flush data/Right-justify text.')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"right"')
                PsiWhiteSpace('\n    ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n      ')
                PsiComment(DOCUMENTATION)('## Double-justify text.')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"justify"')
                PsiWhiteSpace('\n    ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n      ')
                PsiComment(DOCUMENTATION)('## Align text around a specific character. If a user agent doesn't support character alignment, behavior in the presence of this value is unspecified.')
                PsiWhiteSpace('\n      ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"char"')
              PsiWhiteSpace('\n  ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## This attribute specifies a single character within a text fragment to act as an axis for alignment. The default value for this attribute is the decimal point character for the current language as set by the lang attribute (e.g., the period in English and the comma in French). User agents are not required to support this attribute.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('char')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## When present, this attribute specifies the offset to the first occurrence of the alignment character on each line. If a line doesn't include the alignment character, it should be horizontally shifted to end at the alignment position. When charoff is used to set the offset of an alignment character, the direction of offset is determined by the current text direction (set by the dir attribute). In left-to-right texts (the default), offset is from the left margin. In right-to-left texts, offset is from the right margin. User agents are not required to support this attribute.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('charoff')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      ')
              CHOICE
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:integer')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:string')
                  PsiWhiteSpace(' ')
                  PsiElement({)('{')
                  PsiWhiteSpace(' ')
                  PARAM
                    PsiElement(IDENTIFIER)('pattern')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"[0-9]+%"')
                  PsiWhiteSpace(' ')
                  PsiElement(})('}')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Specifies the vertical position of data within a cell.')
        PsiWhiteSpace('\n  ')
        OPTIONAL
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('valign')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n    \n    ')
            PsiComment(DOCUMENTATION)('## Cell data is flush with the top of the cell.')
            PsiWhiteSpace('\n    ')
            CHOICE
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"top"')
              PsiWhiteSpace('\n    ')
              PsiElement(|)('|')
              PsiWhiteSpace(' \n      ')
              PsiComment(DOCUMENTATION)('## Cell data is centered vertically within the cell. This is the default value.')
              PsiWhiteSpace('\n      ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"middle"')
              PsiWhiteSpace('\n    ')
              PsiElement(|)('|')
              PsiWhiteSpace(' \n      ')
              PsiComment(DOCUMENTATION)('## Cell data is flush with the bottom of the cell.')
              PsiWhiteSpace('\n      ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"bottom"')
              PsiWhiteSpace('\n    ')
              PsiElement(|)('|')
              PsiWhiteSpace(' \n      ')
              PsiComment(DOCUMENTATION)('## All cells in the same row as a cell whose valign attribute has this value should have their textual data positioned so that the first text line occurs on a baseline common to all cells in the row. This constraint does not apply to subsequent text lines in these cells.')
              PsiWhiteSpace('\n      ')
              DATATYPE_PATTERN
                PsiElement(LITERAL)('"baseline"')
            PsiWhiteSpace('\n  ')
            PsiElement(})('}')
          PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.table.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Provides a summary of the table's purpose and structure for user agents rendering to non-visual media such as speech and Braille.')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('summary')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the desired width of the entire table and is intended for visual user agents. When the value is a percentage value, the value is relative to the user agent's available horizontal space. In the absence of any width specification, table width is determined by the user agent.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('width')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      ')
              CHOICE
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:integer')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:string')
                  PsiWhiteSpace(' ')
                  PsiElement({)('{')
                  PsiWhiteSpace(' ')
                  PARAM
                    PsiElement(IDENTIFIER)('pattern')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"[0-9]+%"')
                  PsiWhiteSpace(' ')
                  PsiElement(})('}')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the width (in pixels only) of the frame around a table.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('border')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:nonNegativeInteger')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies which sides of the frame surrounding a table will be visible.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('frame')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      \n      ')
              PsiComment(DOCUMENTATION)('## No sides. This is the default value.')
              PsiWhiteSpace('\n      ')
              CHOICE
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"void"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The top side only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"above"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The bottom side only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"below"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The top and bottom sides only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"hsides"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The left-hand side only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"lhs"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The right-hand side only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"rhs"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The right and left sides only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"vsides"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## All four sides.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"box"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## All four sides.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"border"')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies which rules will appear between cells within a table. The rendering of rules is user agent dependent.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('rules')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      \n      ')
              PsiComment(DOCUMENTATION)('## No rules. This is the default value.')
              PsiWhiteSpace('\n      ')
              CHOICE
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"none"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## Rules will appear between row groups (see thead, tfoot, and tbody) and column groups (see colgroup and col) only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"groups"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## Rules will appear between rows only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"rows"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## Rules will appear between columns only.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"cols"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## Rules will appear between all rows and columns.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"all"')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies how much space the user agent should leave between the left side of the table and the left-hand side of the leftmost column, the top of the table and the top side of the topmost row, and so on for the right and bottom of the table. The attribute also specifies the amount of space to leave between cells.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('cellspacing')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      ')
              CHOICE
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:integer')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:string')
                  PsiWhiteSpace(' ')
                  PsiElement({)('{')
                  PsiWhiteSpace(' ')
                  PARAM
                    PsiElement(IDENTIFIER)('pattern')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"[0-9]+%"')
                  PsiWhiteSpace(' ')
                  PsiElement(})('}')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the amount of space between the border of the cell and its contents. If the value of this attribute is a pixel length, all four margins should be this distance from the contents. If the value of the attribute is a percentage length, the top and bottom margins should be equally separated from the content based on a percentage of the available vertical space, and the left and right margins should be equally separated from the content based on a percentage of the available horizontal space.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('cellpadding')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      ')
              CHOICE
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:integer')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:string')
                  PsiWhiteSpace(' ')
                  PsiElement({)('{')
                  PsiWhiteSpace(' ')
                  PARAM
                    PsiElement(IDENTIFIER)('pattern')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"[0-9]+%"')
                  PsiWhiteSpace(' ')
                  PsiElement(})('}')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.tablecell.attributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  \n  ')
        PsiComment(DOCUMENTATION)('## Provides an abbreviated form of the cell's content and may be rendered by user agents when appropriate in place of the cell's content. Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content.')
        PsiWhiteSpace('\n  ')
        INTERLEAVE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('abbr')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## This attribute may be used to place a cell into conceptual categories that can be considered to form axes in an n-dimensional space. User agents may give users access to these categories (e.g., the user may query the user agent for all cells that belong to certain categories, the user agent may present a table in the form of a table of contents, etc.). Please consult an HTML reference for more details.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('axis')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the list of header cells that provide header information for the current data cell. The value of this attribute is a space-separated list of cell names; those cells must be named by setting their id attribute. Authors generally use the headers attribute to help non-visual user agents render header information about data cells (e.g., header information is spoken prior to the cell data), but the attribute may also be used in conjunction with style sheets.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('headers')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              TEXT_PATTERN
                PsiElement(KEYWORD_TEXT)('text')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the set of data cells for which the current header cell provides header information. This attribute may be used in place of the headers attribute, particularly for simple tables.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('scope')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace('\n      \n      ')
              PsiComment(DOCUMENTATION)('## The current cell provides header information for the rest of the row that contains it')
              PsiWhiteSpace('\n      ')
              CHOICE
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"row"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The current cell provides header information for the rest of the column that contains it.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"col"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The header cell provides header information for the rest of the row group that contains it.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"rowgroup"')
                PsiWhiteSpace('\n      ')
                PsiElement(|)('|')
                PsiWhiteSpace(' \n        ')
                PsiComment(DOCUMENTATION)('## The header cell provides header information for the rest of the column group that contains it.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"colgroup"')
              PsiWhiteSpace('\n    ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the number of rows spanned by the current cell. The default value of this attribute is one (1')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## ). The value zero (0')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## ) means that the cell spans all rows from the current row to the last row of the table section (thead')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## , tbody')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## , or tfoot')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## ) in which the cell is defined.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('rowspan')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:nonNegativeInteger')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiWhiteSpace('\n  ')
          PsiElement(&)('&')
          PsiWhiteSpace(' \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the number of columns spanned by the current cell. The default value of this attribute is one (1')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## ). The value zero (0')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## ) means that the cell spans all columns from the current column to the last column of the column group (colgroup')
          PsiComment(DOCUMENTATION_CONTINUE)('\n    ## ) in which the cell is defined.')
          PsiWhiteSpace('\n    ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('colspan')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:nonNegativeInteger')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.table.info')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db._info.title.forbidden')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.table.model')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.table.info')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.html.caption')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.col')
                PsiElement(*)('*')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.colgroup')
                PsiElement(*)('*')
            PsiElement())(')')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.thead')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.tfoot')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.tbody')
                PsiElement(+)('+')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.tr')
                PsiElement(+)('+')
            PsiElement())(')')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.informaltable.info')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db._info.title.forbidden')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.html.informaltable.model')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.informaltable.info')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.col')
                PsiElement(*)('*')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.colgroup')
                PsiElement(*)('*')
            PsiElement())(')')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.thead')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          OPTIONAL
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.tfoot')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.tbody')
                PsiElement(+)('+')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.tr')
                PsiElement(+)('+')
            PsiElement())(')')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.table.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.table.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.table.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.table.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.table.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.table.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.orient.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pgwide.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.tabstyle.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.floatstyle.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.table')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A formal (captioned) HTML table in a document')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:table"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:informaltable)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"informaltable must not occur in the descendants of table"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('table')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.table.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.table.model')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.informaltable.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.table.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.informaltable')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An HTML table without a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('informaltable')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.informaltable.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.informaltable.model')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.caption.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.html.attrs')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.caption')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An HTML table caption')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:table)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"table must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:sidebar)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"sidebar must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:caption"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:task)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"task must not occur in the descendants of caption"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('caption')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.caption.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.inlines')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.col.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## This attribute, whose value must be an integer > 0, specifies the number of columns spanned')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  by the col')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element; the col')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element shares its attributes with all the columns it spans. The default value for this attribute is 1 (i.e., a single column). If the span attribute is set to N > 1, the current col')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element shares its attributes with the next N-1 columns.')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('span')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:nonNegativeInteger')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies a default width for each column spanned by the current col')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element. It has the same meaning as the width')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  attribute for the colgroup')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element and overrides it.')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('width')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                TEXT_PATTERN
                  PsiElement(KEYWORD_TEXT)('text')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.col')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifications for a column in an HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('col')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.col.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              EMPTY_PATTERN
                PsiElement(KEYWORD_EMPTY)('empty')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.colgroup.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## This attribute, which must be an integer > 0, specifies the number of columns in a column group. In the absence of a span attribute, each colgroup')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  defines a column group containing one column. If the span attribute is set to N > 0, the current colgroup')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element defines a column group containing N columns. User agents must ignore this attribute if the colgroup')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element contains one or more col')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  elements.')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('span')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                DATATYPE_PATTERN
                  NAME
                    PsiElement(PREFIXED_NAME)('xsd:nonNegativeInteger')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## This attribute specifies a default width for each column in the current column group. In addition to the standard pixel, percentage, and relative values, this attribute allows the special form 0*')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  (zero asterisk) which means that the width of the each column in the group should be the minimum width necessary to hold the column's contents. This implies that a column's entire contents must be known before its width may be correctly computed. Authors should be aware that specifying 0*')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  will prevent visual user agents from rendering a table incrementally. This attribute is overridden for any column in the column group whose width is specified via a col')
            PsiComment(DOCUMENTATION_CONTINUE)('\n      ##  element.')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('width')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace(' ')
                TEXT_PATTERN
                  PsiElement(KEYWORD_TEXT)('text')
                PsiWhiteSpace(' ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.colgroup')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A group of columns in an HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('colgroup')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.colgroup.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.col')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.thead.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.thead')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table header consisting of one or more rows in an HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('thead')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.thead.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.tr')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.tfoot.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.tfoot')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table footer consisting of one or more rows in an HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tfoot')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.tfoot.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.tr')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.tbody.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.tbody')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for the rows of an HTML table or informal HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tbody')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.tbody.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.html.tr')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.tr.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.tr')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A row in an HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('tr')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.tr.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.html.th')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.html.td')
                  PsiElement())(')')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.th.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.tablecell.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.th')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table header entry in an HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('th')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.th.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.inlines')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.blocks')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.td.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.attrs')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.tablecell.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellhalign')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.html.cellvalign')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.html.td')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A table entry in an HTML table')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('td')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.html.td.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.inlines')
                    PsiElement(*)('*')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.all.blocks')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgset.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A detailed set of messages, usually error messages')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgset.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.msgentry')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.simplemsgentry')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for an entry in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.msg')
                PsiElement(+)('+')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.msginfo')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.msgexplan')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplemsgentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplemsgentry.msgaud.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The audience to which the message relevant')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgaud')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplemsgentry.msgorig.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The origin of the message')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgorig')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplemsgentry.msglevel.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The level of importance or severity of a message')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msglevel')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplemsgentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplemsgentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplemsgentry.msgaud.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplemsgentry.msgorig.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplemsgentry.msglevel.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.simplemsgentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A wrapper for a simpler entry in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('simplemsgentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.simplemsgentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgtext')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.msgexplan')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msg.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msg.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msg.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msg.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msg')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A message in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msg')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msg.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msg.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgmain')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.msgsub')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.msgrel')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgmain.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgmain.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgmain.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgmain.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgmain')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The primary component of a message in a message set ')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgmain')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgmain.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgmain.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgtext')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgsub.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgsub.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgsub.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgsub.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgsub')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A subcomponent of a message in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgsub')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgsub.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgsub.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgtext')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgrel.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgrel.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgrel.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgrel.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgrel')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A related component of a message in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgrel')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgrel.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgrel.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgtext')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgtext.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgtext.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgtext.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgtext')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The actual text of a message component in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgtext')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgtext.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msginfo.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msginfo.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msginfo.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msginfo')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Information about a message in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msginfo')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msginfo.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.msglevel')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.msgorig')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.msgaud')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msglevel.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msglevel.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msglevel.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msglevel')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The level of importance or severity of a message in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msglevel')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msglevel.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgorig.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgorig.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgorig.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgorig')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The origin of a message in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgorig')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgorig.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgaud.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgaud.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgaud.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgaud')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## The audience to which a message in a message set is relevant')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgaud')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgaud.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgexplan.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgexplan.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgexplan.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgexplan.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.msgexplan')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Explanatory material relating to a message in a message set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('msgexplan')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgexplan.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.msgexplan.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaset.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaset.defaultlabel.enumeration')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## No labels')
          PsiWhiteSpace('\n    ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"none"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Numeric labels')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"number"')
            PsiWhiteSpace('\n    ')
            PsiElement(|)('|')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## "Q:" and "A:" labels')
            PsiWhiteSpace('\n      ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"qanda"')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaset.defaultlabel.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Specifies the default labelling')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('defaultlabel')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.qandaset.defaultlabel.enumeration')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaset.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandaset.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandaset.defaultlabel.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaset.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaset')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A question-and-answer set')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('qandaset')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandaset.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandaset.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.qandadiv')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.qandaentry')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandadiv.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandadiv.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandadiv.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandadiv.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandadiv')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A titled division in a QandASet')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('qandadiv')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandadiv.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandadiv.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.qandadiv')
                    PsiElement(+)('+')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.qandaentry')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaentry.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaentry.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandaentry.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaentry.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.qandaentry')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A question/answer set within a QandASet')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('qandaentry')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandaentry.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.qandaentry.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.question')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.answer')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.question.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.question.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.question.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.question')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A question in a QandASet')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('question')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.question.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.label')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.answer.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.answer.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.answer.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.answer')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An answer to a question posed in a QandASet')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('answer')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.answer.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.label')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.all.blocks')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.label.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.label.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.label')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A label on a Question or Answer')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('label')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.label.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db._text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.math.inlines')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('db.inlineequation')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.equation.content')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          GROUP_PATTERN
            PsiElement(()('(')
            CHOICE
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.mediaobject')
                PsiElement(+)('+')
              PsiWhiteSpace(' ')
              PsiElement(|)('|')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.mathphrase')
                PsiElement(+)('+')
            PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db._any.mml')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('db.inlineequation.content')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        CHOICE
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.inlinemediaobject')
            PsiElement(+)('+')
          PsiWhiteSpace(' ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          ONE_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.mathphrase')
            PsiElement(+)('+')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.equation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.equation.label.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db.label.attribute')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.equation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.equation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.equation.label.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.pgwide.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.floatstyle.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.equation.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.only')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.equation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A displayed mathematical equation')
          PsiWhiteSpace('\n    ')
          PATTERN
            ANNOTATION
              PsiElement([)('[')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:example)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"example must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:figure)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"figure must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:table)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"table must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:equation)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"equation must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:caution)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"caution must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:important)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"important must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:note)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"note must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:tip)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"tip must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n      ')
              ANNOTATION_ELEMENT
                NAME
                  PsiElement(PREFIXED_NAME)('s:pattern')
                PsiWhiteSpace(' ')
                PsiElement([)('[')
                PsiWhiteSpace('\n        ')
                PsiElement(IDENTIFIER)('name')
                PsiWhiteSpace(' ')
                PsiElement(=)('=')
                PsiWhiteSpace(' ')
                PsiElement(LITERAL)('"Element exclusion"')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"          "')
                PsiWhiteSpace('\n        ')
                ANNOTATION_ELEMENT
                  NAME
                    PsiElement(PREFIXED_NAME)('s:rule')
                  PsiWhiteSpace(' ')
                  PsiElement([)('[')
                  PsiWhiteSpace('\n          ')
                  PsiElement(IDENTIFIER)('context')
                  PsiWhiteSpace(' ')
                  PsiElement(=)('=')
                  PsiWhiteSpace(' ')
                  PsiElement(LITERAL)('"db:equation"')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"            "')
                  PsiWhiteSpace('\n          ')
                  ANNOTATION_ELEMENT
                    NAME
                      PsiElement(PREFIXED_NAME)('s:assert')
                    PsiWhiteSpace(' ')
                    PsiElement([)('[')
                    PsiWhiteSpace('\n            ')
                    PsiElement(IDENTIFIER)('test')
                    PsiWhiteSpace(' ')
                    PsiElement(=)('=')
                    PsiWhiteSpace(' ')
                    PsiElement(LITERAL)('"not(.//db:warning)"')
                    PsiWhiteSpace('\n            ')
                    PsiElement(LITERAL)('"warning must not occur in the descendants of equation"')
                    PsiWhiteSpace('\n          ')
                    PsiElement(])(']')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"\x{a}"')
                  PsiWhiteSpace(' ')
                  PsiElement(~)('~')
                  PsiWhiteSpace('\n          ')
                  PsiElement(LITERAL)('"          "')
                  PsiWhiteSpace('\n        ')
                  PsiElement(])(']')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"\x{a}"')
                PsiWhiteSpace(' ')
                PsiElement(~)('~')
                PsiWhiteSpace('\n        ')
                PsiElement(LITERAL)('"        "')
                PsiWhiteSpace('\n      ')
                PsiElement(])(']')
              PsiWhiteSpace('\n    ')
              PsiElement(])(']')
            PsiWhiteSpace('\n    ')
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('equation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.equation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.equation.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.alt')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.equation.content')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalequation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalequation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalequation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalequation.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.informalequation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A displayed mathematical equation without a title')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('informalequation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalequation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.informalequation.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.alt')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.equation.content')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.caption')
                PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.inlineequation.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.inlineequation.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.inlineequation.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.inlineequation')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A mathematical equation or expression occurring inline')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('inlineequation')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.inlineequation.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db.alt')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.inlineequation.content')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mathphrase.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mathphrase.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mathphrase.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.linking.attributes')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.mathphrase')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('mathphrase')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.mathphrase.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ZERO_OR_MORE
                GROUP_PATTERN
                  PsiElement(()('(')
                  CHOICE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._text')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db.ubiq.inlines')
                    PsiWhiteSpace(' ')
                    PsiElement(|)('|')
                    PsiWhiteSpace(' ')
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('db._emphasis')
                  PsiElement())(')')
                PsiElement(*)('*')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.mathml.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.mathml.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.mathml.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies that the format of the data is MathML')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('format')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n        \n        ')
                PsiComment(DOCUMENTATION)('## Specifies MathML.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"mathml"')
                PsiWhiteSpace('\n      ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.align.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.valign.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.width.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.contentwidth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.scalefit.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.scale.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.depth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.contentdepth.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.mathml.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.mathml')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## A MathML expression in a media object')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('imagedata')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.mathml.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.mathml.info')
              PsiElement(,)(',')
              PsiWhiteSpace('\n      ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db._any.mml')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db._any.mml')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Any element from the MathML namespace')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              NAME
                PsiElement(PREFIX_STAR)('mml:*')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            ZERO_OR_MORE
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._any.attribute')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  TEXT_PATTERN
                    PsiElement(KEYWORD_TEXT)('text')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._any')
                PsiElement())(')')
              PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.svg.role.attribute')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('role')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            TEXT_PATTERN
              PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.svg.attlist')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    ')
          INTERLEAVE
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.svg.role.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('db.common.attributes')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' \n      ')
            PsiComment(DOCUMENTATION)('## Specifies that the format of the data is SVG')
            PsiWhiteSpace('\n      ')
            OPTIONAL
              PATTERN
                PsiElement(KEYWORD_ATTRIBUTE)('attribute')
                PsiWhiteSpace(' ')
                NAME_CLASS
                  PsiElement(IDENTIFIER)('format')
                PsiWhiteSpace(' ')
                PsiElement({)('{')
                PsiWhiteSpace('\n        \n        ')
                PsiComment(DOCUMENTATION)('## Specifies SVG.')
                PsiWhiteSpace('\n        ')
                DATATYPE_PATTERN
                  PsiElement(LITERAL)('"svg"')
                PsiWhiteSpace('\n      ')
                PsiElement(})('}')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.align.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.valign.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.width.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.contentwidth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.scalefit.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.scale.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.depth.attribute')
              PsiElement(?)('?')
            PsiWhiteSpace('\n    ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            OPTIONAL
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.contentdepth.attribute')
              PsiElement(?)('?')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.svg.info')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace(' ')
          REF_PATTERN
            PsiElement(IDENTIFIER)('db._info.title.forbidden')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db.imagedata.svg')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## An SVG drawing in a media object')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('imagedata')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace('\n      ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.svg.attlist')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('db.imagedata.svg.info')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('db._any.svg')
                PsiElement(+)('+')
            PsiWhiteSpace('\n    ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')
      PsiWhiteSpace('\n')
      DIV
        PsiElement(KEYWORD_DIV)('div')
        PsiWhiteSpace(' ')
        PsiElement({)('{')
        PsiWhiteSpace('\n  ')
        DEFINE
          PsiElement(IDENTIFIER)('db._any.svg')
          PsiWhiteSpace(' ')
          PsiElement(=)('=')
          PsiWhiteSpace('\n    \n    ')
          PsiComment(DOCUMENTATION)('## Any element from the SVG namespace')
          PsiWhiteSpace('\n    ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              NAME
                PsiElement(PREFIX_STAR)('svg:*')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            ZERO_OR_MORE
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._any.attribute')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  TEXT_PATTERN
                    PsiElement(KEYWORD_TEXT)('text')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('db._any')
                PsiElement())(')')
              PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
        PsiWhiteSpace('\n')
        PsiElement(})('}')