XmlFile:test.dtd
  PsiElement(XML_DOCUMENT)
    PsiElement(XML_PROLOG)
      <empty list>
    PsiElement(XML_ELEMENT_DECL)
      XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
      PsiErrorElement:xml name expected
        <empty list>
    PsiWhiteSpace(' ')
    XmlToken:XML_TAG_END('>')
    PsiWhiteSpace('\n')
    PsiElement(XML_ELEMENT_DECL)
      XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
      PsiWhiteSpace(' ')
      XmlToken:XML_NAME('name')
      PsiWhiteSpace(' ')
      PsiElement(XML_ELEMENT_CONTENT_SPEC)
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          PsiErrorElement:Xml name or entity ref expected
            <empty list>
      XmlToken:XML_COMMA(',')
      XmlToken:XML_RIGHT_PAREN(')')
    PsiWhiteSpace('\n')
    PsiElement(XML_ATTLIST_DECL)
      XmlToken:XML_ATTLIST_DECL_START('<!ATTLIST')
      PsiErrorElement:xml name expected
        <empty list>
    PsiWhiteSpace(' ')
    XmlToken:XML_TAG_END('>')
    PsiWhiteSpace(' ')
    PsiElement(XML_ELEMENT_DECL)
      XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
      PsiWhiteSpace(' ')
      XmlToken:XML_NAME('zzz')
      PsiWhiteSpace(' ')
      PsiElement(XML_ELEMENT_CONTENT_SPEC)
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          XmlToken:XML_NAME('aa')
          XmlToken:XML_QUESTION('?')
          XmlToken:XML_COMMA(',')
          PsiWhiteSpace(' ')
          XmlToken:XML_NAME('bb')
          XmlToken:XML_RIGHT_PAREN(')')
        XmlToken:XML_PLUS('+')
      XmlToken:XML_TAG_END('>')
    PsiWhiteSpace(' ')
    PsiElement(XML_ELEMENT_DECL)
      XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
      PsiWhiteSpace(' ')
      XmlToken:XML_NAME('xxx')
      PsiErrorElement:Whitespace expected
        <empty list>
      PsiElement(XML_ELEMENT_CONTENT_SPEC)
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          XmlToken:XML_NAME('aaa')
          XmlToken:XML_COMMA(',')
          PsiErrorElement:Xml name or entity ref expected
            <empty list>
          XmlToken:XML_RIGHT_PAREN(')')
      XmlToken:XML_TAG_END('>')
    PsiElement(XML_ATTLIST_DECL)
      XmlToken:XML_ATTLIST_DECL_START('<!ATTLIST')
      PsiWhiteSpace(' ')
      PsiElement(XML_ENTITY_REF)
        XmlToken:XML_ENTITY_REF_TOKEN('%aaa;')
      XmlToken:XML_TAG_END('>')