XmlFile:test.dtd
  PsiElement(XML_DOCUMENT)
    PsiElement(XML_PROLOG)
      <empty list>
    PsiElement(XML_ELEMENT_DECL)
      XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
      PsiWhiteSpace(' ')
      XmlToken:XML_NAME('name')
      PsiWhiteSpace(' ')
      PsiElement(XML_ELEMENT_CONTENT_SPEC)
        XmlToken:XML_NAME('-')
        PsiWhiteSpace(' ')
        XmlToken:XML_NAME('-')
        PsiWhiteSpace(' ')
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          PsiElement(XML_ENTITY_REF)
            XmlToken:XML_ENTITY_REF_TOKEN('%inline;')
          XmlToken:XML_RIGHT_PAREN(')')
        XmlToken:XML_STAR('*')
        PsiWhiteSpace(' ')
        XmlToken:XML_PLUS('+')
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          XmlToken:XML_NAME('A')
          XmlToken:XML_RIGHT_PAREN(')')
      XmlToken:XML_TAG_END('>')
    PsiWhiteSpace(' ')
    PsiElement(XML_ATTLIST_DECL)
      XmlToken:XML_ATTLIST_DECL_START('<!ATTLIST')
      PsiWhiteSpace(' ')
      PsiElement(XML_ELEMENT_CONTENT_GROUP)
        XmlToken:XML_LEFT_PAREN('(')
        XmlToken:XML_NAME('A')
        XmlToken:XML_BAR('|')
        XmlToken:XML_NAME('B')
        XmlToken:XML_RIGHT_PAREN(')')
      PsiWhiteSpace(' ')
      XmlToken:XML_TAG_END('>')
    PsiWhiteSpace('\n')
    PsiElement(XML_ELEMENT_DECL)
      XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
      PsiWhiteSpace(' ')
      PsiElement(XML_ELEMENT_CONTENT_GROUP)
        XmlToken:XML_LEFT_PAREN('(')
        XmlToken:XML_NAME('E')
        XmlToken:XML_BAR('|')
        XmlToken:XML_NAME('E2')
        XmlToken:XML_RIGHT_PAREN(')')
      PsiWhiteSpace(' ')
      PsiElement(XML_ELEMENT_CONTENT_SPEC)
        XmlToken:XML_NAME('-')
        PsiWhiteSpace(' ')
        XmlToken:XML_NAME('O')
        PsiWhiteSpace(' ')
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          PsiElement(XML_ENTITY_REF)
            XmlToken:XML_ENTITY_REF_TOKEN('%flow;')
          XmlToken:XML_RIGHT_PAREN(')')
        XmlToken:XML_STAR('*')
      PsiWhiteSpace('       ')
      PsiElement(XML_COMMENT)
        XmlToken:XML_COMMENT_START('--')
        XmlToken:XML_COMMENT_CHARACTERS(' table header cell, table data cell')
        XmlToken:XML_COMMENT_END('--')
      XmlToken:XML_TAG_END('>')
    PsiWhiteSpace('\n')
    PsiElement(XML_ELEMENT_DECL)
      XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
      PsiWhiteSpace(' ')
      XmlToken:XML_NAME('BODY')
      PsiWhiteSpace(' ')
      PsiElement(XML_ELEMENT_CONTENT_SPEC)
        XmlToken:XML_NAME('O')
        PsiWhiteSpace(' ')
        XmlToken:XML_NAME('O')
        PsiWhiteSpace(' ')
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          PsiElement(XML_ENTITY_REF)
            XmlToken:XML_ENTITY_REF_TOKEN('%block;')
          XmlToken:XML_BAR('|')
          XmlToken:XML_NAME('SCRIPT')
          XmlToken:XML_RIGHT_PAREN(')')
        XmlToken:XML_PLUS('+')
        PsiWhiteSpace(' ')
        XmlToken:XML_PLUS('+')
        PsiElement(XML_ELEMENT_CONTENT_GROUP)
          XmlToken:XML_LEFT_PAREN('(')
          XmlToken:XML_NAME('INS')
          XmlToken:XML_BAR('|')
          XmlToken:XML_NAME('DEL')
          XmlToken:XML_RIGHT_PAREN(')')
      PsiWhiteSpace(' ')
      PsiElement(XML_COMMENT)
        XmlToken:XML_COMMENT_START('--')
        XmlToken:XML_COMMENT_CHARACTERS(' document body ')
        XmlToken:XML_COMMENT_END('--')
      XmlToken:XML_TAG_END('>')