XmlFile:test.xml
  PsiElement(XML_DOCUMENT)
    PsiElement(XML_PROLOG)
      PsiElement(XML_DOCTYPE)
        XmlToken:XML_DOCTYPE_START('<!DOCTYPE')
        PsiWhiteSpace(' ')
        XmlToken:XML_NAME('greeting')
        PsiWhiteSpace(' ')
        XmlToken:XML_DOCTYPE_SYSTEM('SYSTEM')
        PsiWhiteSpace(' ')
        XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('"hello.dtd"')
        PsiWhiteSpace(' ')
        PsiElement(XML_MARKUP_DECL)
          XmlToken:XML_MARKUP_START('[')
          PsiElement(XML_ELEMENT_DECL)
            XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
            PsiWhiteSpace(' ')
            XmlToken:XML_NAME('greeting')
            PsiWhiteSpace(' ')
            PsiElement(XML_ELEMENT_CONTENT_SPEC)
              XmlToken:XML_CONTENT_EMPTY('EMPTY')
            XmlToken:XML_TAG_END('>')
          XmlToken:XML_MARKUP_END(']')
        XmlToken:XML_DOCTYPE_END('>')
      PsiWhiteSpace(' ')
    XmlTag:a
      XmlToken:XML_START_TAG_START('<')
      XmlToken:XML_NAME('a')
      XmlToken:XML_TAG_END('>')
      XmlText
        PsiWhiteSpace(' ')
      XmlTag:b
        XmlToken:XML_START_TAG_START('<')
        XmlToken:XML_NAME('b')
        XmlToken:XML_EMPTY_ELEMENT_END('/>')
      XmlText
        PsiWhiteSpace(' ')
      XmlToken:XML_END_TAG_START('</')
      XmlToken:XML_NAME('a')
      XmlToken:XML_TAG_END('>')