XmlFile:test.xml
  PsiElement(XML_DOCUMENT)
    PsiElement(XML_PROLOG)
      PsiElement(XML_DOCTYPE)
        XmlToken:XML_DOCTYPE_START('<!DOCTYPE')
        PsiWhiteSpace(' ')
        XmlToken:XML_NAME('a')
        PsiWhiteSpace(' ')
        PsiElement(XML_MARKUP_DECL)
          XmlToken:XML_MARKUP_START('[')
          PsiElement(XML_ELEMENT_DECL)
            XmlToken:XML_ELEMENT_DECL_START('<!ELEMENT')
            PsiWhiteSpace(' ')
            XmlToken:XML_NAME('a')
            PsiWhiteSpace(' ')
            PsiElement(XML_ELEMENT_CONTENT_SPEC)
              PsiElement(XML_ELEMENT_CONTENT_GROUP)
                XmlToken:XML_LEFT_PAREN('(')
                XmlToken:XML_NAME('a')
                XmlToken:XML_RIGHT_PAREN(')')
            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('>')
      XmlTag:a
        XmlToken:XML_START_TAG_START('<')
        XmlToken:XML_NAME('a')
        PsiWhiteSpace(' ')
        PsiElement(XML_ATTRIBUTE)
          XmlToken:XML_NAME('ajsdg')
          PsiWhiteSpace(' ')
          XmlToken:XML_EQ('=')
          PsiWhiteSpace(' ')
          PsiElement(XML_ATTRIBUTE_VALUE)
            XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
            XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
        XmlToken:XML_TAG_END('>')
        XmlToken:XML_END_TAG_START('</')
        XmlToken:XML_NAME('a')
        XmlToken:XML_TAG_END('>')
      XmlToken:XML_END_TAG_START('</')
      XmlToken:XML_NAME('a')
      XmlToken:XML_TAG_END('>')