RncFileImpl:RelaxNG.rnc
  PsiComment(SINGLE_LINE_COMMENT)('# RELAX NG XML syntax specified in compact syntax.')
  PsiWhiteSpace('\n\n')
  DOCUMENT
    NS_DECL
      PsiElement(KEYWORD_DEFAULT)('default')
      PsiWhiteSpace(' ')
      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)('local')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('""')
    PsiWhiteSpace('\n')
    DATATYPES_DECL
      PsiElement(KEYWORD_DATATYPES)('datatypes')
      PsiWhiteSpace(' ')
      PsiElement(IDENTIFIER)('xsd')
      PsiWhiteSpace(' ')
      PsiElement(=)('=')
      PsiWhiteSpace(' ')
      PsiElement(LITERAL)('"http://www.w3.org/2001/XMLSchema-datatypes"')
    PsiWhiteSpace('\n\n')
    GRAMMAR_PATTERN
      START
        PsiElement(KEYWORD_START)('start')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        REF_PATTERN
          PsiElement(IDENTIFIER)('pattern')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('pattern')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('nameQName')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('nameClass')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('common')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('pattern')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              GROUP_PATTERN
                PsiElement(()('(')
                CHOICE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('nameQName')
                  PsiWhiteSpace(' ')
                  PsiElement(|)('|')
                  PsiWhiteSpace(' ')
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('nameClass')
                PsiElement())(')')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('common')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  OPTIONAL
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('pattern')
                    PsiElement(?)('?')
                PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS_CHOICE
              NAME_CLASS
                PsiElement(IDENTIFIER)('group')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(IDENTIFIER)('interleave')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(IDENTIFIER)('choice')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(IDENTIFIER)('optional')
              PsiWhiteSpace('\n            ')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(IDENTIFIER)('zeroOrMore')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(IDENTIFIER)('oneOrMore')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(KEYWORD_LIST)('list')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(KEYWORD_MIXED)('mixed')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            INTERLEAVE
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
              PsiWhiteSpace(' ')
              PsiElement(&)('&')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('pattern')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS_CHOICE
              NAME_CLASS
                PsiElement(IDENTIFIER)('ref')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(IDENTIFIER)('parentRef')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('nameNCName')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS_CHOICE
              NAME_CLASS
                PsiElement(KEYWORD_EMPTY)('empty')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(KEYWORD_NOTALLOWED)('notAllowed')
              PsiElement(|)('|')
              NAME_CLASS
                PsiElement(KEYWORD_TEXT)('text')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('common')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('data')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('type')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('param')
                PsiElement(*)('*')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('common')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  OPTIONAL
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('exceptPattern')
                    PsiElement(?)('?')
                PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('value')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('commonAttributes')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('type')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:string')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('externalRef')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('href')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_GRAMMAR)('grammar')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            INTERLEAVE
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
              PsiWhiteSpace(' ')
              PsiElement(&)('&')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('grammarContent')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('param')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ELEMENT)('element')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('param')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          SEQUENCE
            REF_PATTERN
              PsiElement(IDENTIFIER)('commonAttributes')
            PsiElement(,)(',')
            PsiWhiteSpace(' ')
            REF_PATTERN
              PsiElement(IDENTIFIER)('nameNCName')
            PsiElement(,)(',')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              NAME
                PsiElement(PREFIXED_NAME)('xsd:string')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('exceptPattern')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ELEMENT)('element')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('except')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('common')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            ONE_OR_MORE
              REF_PATTERN
                PsiElement(IDENTIFIER)('pattern')
              PsiElement(+)('+')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('grammarContent')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('definition')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_DIV)('div')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            INTERLEAVE
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
              PsiWhiteSpace(' ')
              PsiElement(&)('&')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('grammarContent')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_INCLUDE)('include')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('href')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('common')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ZERO_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('includeContent')
                    PsiElement(*)('*')
                PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('includeContent')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          REF_PATTERN
            PsiElement(IDENTIFIER)('definition')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_DIV)('div')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            INTERLEAVE
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
              PsiWhiteSpace(' ')
              PsiElement(&)('&')
              PsiWhiteSpace(' ')
              ZERO_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('includeContent')
                PsiElement(*)('*')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('definition')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(KEYWORD_START)('start')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('combine')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('common')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('pattern')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('define')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('nameNCName')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('combine')
                PsiElement(?)('?')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              GROUP_PATTERN
                PsiElement(()('(')
                INTERLEAVE
                  REF_PATTERN
                    PsiElement(IDENTIFIER)('common')
                  PsiWhiteSpace(' ')
                  PsiElement(&)('&')
                  PsiWhiteSpace(' ')
                  ONE_OR_MORE
                    REF_PATTERN
                      PsiElement(IDENTIFIER)('pattern')
                    PsiElement(+)('+')
                PsiElement())(')')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('combine')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('combine')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          CHOICE
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"choice"')
            PsiWhiteSpace(' ')
            PsiElement(|)('|')
            PsiWhiteSpace(' ')
            DATATYPE_PATTERN
              PsiElement(LITERAL)('"interleave"')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('nameClass')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        CHOICE
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('name')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            SEQUENCE
              REF_PATTERN
                PsiElement(IDENTIFIER)('commonAttributes')
              PsiElement(,)(',')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:QName')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('anyName')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            INTERLEAVE
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
              PsiWhiteSpace(' ')
              PsiElement(&)('&')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('exceptNameClass')
                PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('nsName')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            INTERLEAVE
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
              PsiWhiteSpace(' ')
              PsiElement(&)('&')
              PsiWhiteSpace(' ')
              OPTIONAL
                REF_PATTERN
                  PsiElement(IDENTIFIER)('exceptNameClass')
                PsiElement(?)('?')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
          PsiWhiteSpace('\n  ')
          PsiElement(|)('|')
          PsiWhiteSpace(' ')
          PATTERN
            PsiElement(KEYWORD_ELEMENT)('element')
            PsiWhiteSpace(' ')
            NAME_CLASS
              PsiElement(IDENTIFIER)('choice')
            PsiWhiteSpace(' ')
            PsiElement({)('{')
            PsiWhiteSpace(' ')
            INTERLEAVE
              REF_PATTERN
                PsiElement(IDENTIFIER)('common')
              PsiWhiteSpace(' ')
              PsiElement(&)('&')
              PsiWhiteSpace(' ')
              ONE_OR_MORE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('nameClass')
                PsiElement(+)('+')
            PsiWhiteSpace(' ')
            PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('exceptNameClass')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ELEMENT)('element')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('except')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          INTERLEAVE
            REF_PATTERN
              PsiElement(IDENTIFIER)('common')
            PsiWhiteSpace(' ')
            PsiElement(&)('&')
            PsiWhiteSpace(' ')
            ONE_OR_MORE
              REF_PATTERN
                PsiElement(IDENTIFIER)('nameClass')
              PsiElement(+)('+')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('nameQName')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('name')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:QName')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('nameNCName')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('name')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:NCName')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('href')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('href')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:anyURI')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('type')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(IDENTIFIER)('type')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          DATATYPE_PATTERN
            NAME
              PsiElement(PREFIXED_NAME)('xsd:NCName')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('common')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        SEQUENCE
          REF_PATTERN
            PsiElement(IDENTIFIER)('commonAttributes')
          PsiElement(,)(',')
          PsiWhiteSpace(' ')
          ZERO_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('foreignElement')
            PsiElement(*)('*')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('commonAttributes')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace('\n  ')
        SEQUENCE
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('ns')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:string')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          OPTIONAL
            PATTERN
              PsiElement(KEYWORD_ATTRIBUTE)('attribute')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(IDENTIFIER)('datatypeLibrary')
              PsiWhiteSpace(' ')
              PsiElement({)('{')
              PsiWhiteSpace(' ')
              DATATYPE_PATTERN
                NAME
                  PsiElement(PREFIXED_NAME)('xsd:anyURI')
              PsiWhiteSpace(' ')
              PsiElement(})('}')
            PsiElement(?)('?')
          PsiElement(,)(',')
          PsiWhiteSpace('\n  ')
          ZERO_OR_MORE
            REF_PATTERN
              PsiElement(IDENTIFIER)('foreignAttribute')
            PsiElement(*)('*')
      PsiWhiteSpace('\n\n')
      DEFINE
        PsiElement(IDENTIFIER)('foreignElement')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ELEMENT)('element')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(*)('*')
            PsiWhiteSpace(' ')
            EXCEPT_NAME_CLASS
              PsiElement(-)('-')
              PsiWhiteSpace(' ')
              NAME_CLASS
                NAME
                  PsiElement(PREFIX_STAR)('rng:*')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          ZERO_OR_MORE
            GROUP_PATTERN
              PsiElement(()('(')
              CHOICE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('anyAttribute')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                TEXT_PATTERN
                  PsiElement(KEYWORD_TEXT)('text')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('anyElement')
              PsiElement())(')')
            PsiElement(*)('*')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('foreignAttribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(*)('*')
            PsiWhiteSpace(' ')
            EXCEPT_NAME_CLASS
              PsiElement(-)('-')
              PsiWhiteSpace(' ')
              NAME_CLASS
                PsiElement(()('(')
                NAME_CLASS_CHOICE
                  NAME_CLASS
                    NAME
                      PsiElement(PREFIX_STAR)('rng:*')
                  PsiElement(|)('|')
                  NAME_CLASS
                    NAME
                      PsiElement(PREFIX_STAR)('local:*')
                PsiElement())(')')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('anyElement')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ELEMENT)('element')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(*)('*')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          ZERO_OR_MORE
            GROUP_PATTERN
              PsiElement(()('(')
              CHOICE
                REF_PATTERN
                  PsiElement(IDENTIFIER)('anyAttribute')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                TEXT_PATTERN
                  PsiElement(KEYWORD_TEXT)('text')
                PsiWhiteSpace(' ')
                PsiElement(|)('|')
                PsiWhiteSpace(' ')
                REF_PATTERN
                  PsiElement(IDENTIFIER)('anyElement')
              PsiElement())(')')
            PsiElement(*)('*')
          PsiWhiteSpace(' ')
          PsiElement(})('}')
      PsiWhiteSpace('\n')
      DEFINE
        PsiElement(IDENTIFIER)('anyAttribute')
        PsiWhiteSpace(' ')
        PsiElement(=)('=')
        PsiWhiteSpace(' ')
        PATTERN
          PsiElement(KEYWORD_ATTRIBUTE)('attribute')
          PsiWhiteSpace(' ')
          NAME_CLASS
            PsiElement(*)('*')
          PsiWhiteSpace(' ')
          PsiElement({)('{')
          PsiWhiteSpace(' ')
          TEXT_PATTERN
            PsiElement(KEYWORD_TEXT)('text')
          PsiWhiteSpace(' ')
          PsiElement(})('}')