HtmlFile:test.html
  PsiElement(HTML_DOCUMENT)
    PsiElement(XML_PROLOG)
      <empty list>
    HtmlTag:style
      XmlToken:XML_START_TAG_START('<')
      XmlToken:XML_NAME('style')
      PsiWhiteSpace(' ')
      PsiElement(XML_ATTRIBUTE)
        XmlToken:XML_NAME('type')
        XmlToken:XML_EQ('=')
        PsiElement(XML_ATTRIBUTE_VALUE)
          XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
          XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('text/css')
          XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
      XmlToken:XML_TAG_END('>')
      PsiElement(CSS_STYLESHEET)
        PsiWhiteSpace('\n  ')
        PsiElement(CSS_RULESET_LIST)
          PsiElement(CSS_RULESET)
            PsiElement(CSS_SELECTOR_LIST)
              PsiElement(CSS_SELECTOR)
                PsiElement(CSS_SIMPLE_SELECTOR)
                  XmlToken:CSS_IDENT('p')
                  PsiElement(CSS_SELECTOR_SUFFIX_LIST)
                    PsiElement(CSS_CLASS)
                      XmlToken:CSS_PERIOD('.')
                      XmlToken:CSS_IDENT('a')
            PsiElement(CSS_DECLARATION_BLOCK)
              XmlToken:CSS_LBRACE('{')
              PsiElement(CSS_DECLARATION)
                XmlToken:CSS_IDENT('color')
                XmlToken:CSS_COLON(':')
                PsiElement(CSS_TERM_LIST)
                  PsiElement(CSS_TERM)
                    XmlToken:CSS_IDENT('red')
              XmlToken:CSS_SEMICOLON(';')
              PsiWhiteSpace(' ')
              PsiElement(CSS_DECLARATION)
                XmlToken:CSS_IDENT('font-size')
                XmlToken:CSS_COLON(':')
                PsiElement(CSS_TERM_LIST)
                  PsiElement(CSS_TERM)
                    PsiElement(CSS_NUMBER_TERM)
                      XmlToken:CSS_NUMBER('20')
                      XmlToken:CSS_IDENT('pt')
              XmlToken:CSS_SEMICOLON(';')
              XmlToken:CSS_RBRACE('}')
        PsiWhiteSpace('\n')
      XmlToken:XML_END_TAG_START('</')
      XmlToken:XML_NAME('style')
      XmlToken:XML_TAG_END('>')
    PsiWhiteSpace('\n\n')
    HtmlTag:script
      XmlToken:XML_START_TAG_START('<')
      XmlToken:XML_NAME('script')
      PsiWhiteSpace(' ')
      PsiElement(XML_ATTRIBUTE)
        XmlToken:XML_NAME('type')
        XmlToken:XML_EQ('=')
        PsiElement(XML_ATTRIBUTE_VALUE)
          XmlToken:XML_ATTRIBUTE_VALUE_START_DELIMITER('"')
          XmlToken:XML_ATTRIBUTE_VALUE_TOKEN('JavaScript')
          XmlToken:XML_ATTRIBUTE_VALUE_END_DELIMITER('"')
      XmlToken:XML_TAG_END('>')
      JSEmbeddedContent
        PsiWhiteSpace('\n  ')
        PsiComment(JS:END_OF_LINE_COMMENT)('//migger')
        PsiWhiteSpace('\n  ')
        JSFunction
          PsiElement(JS:FUNCTION_KEYWORD)('function')
          PsiWhiteSpace(' ')
          JSReferenceExpression
            PsiElement(JS:IDENTIFIER)('a')
          JSParameterList
            PsiElement(JS:LPAR)('(')
            PsiElement(JS:RPAR)(')')
          JSBlockStatement
            PsiElement(JS:LBRACE)('{')
            JSVarStatement
              PsiElement(JS:VAR_KEYWORD)('var')
              PsiWhiteSpace(' ')
              JSLocalVariable
                PsiElement(JS:IDENTIFIER)('a')
                PsiWhiteSpace(' ')
                PsiElement(JS:EQ)('=')
                PsiWhiteSpace(' ')
                JSLiteralExpression
                  PsiElement(JS:STRING_LITERAL)('":) ;) 8) ;-> <!-"')
              PsiElement(JS:SEMICOLON)(';')
            PsiElement(JS:RBRACE)('}')
        PsiWhiteSpace('\n')
      XmlToken:XML_END_TAG_START('</')
      XmlToken:XML_NAME('script')
      XmlToken:XML_TAG_END('>')
    PsiWhiteSpace('\n\n')
    HtmlTag:html
      XmlToken:XML_START_TAG_START('<')
      XmlToken:XML_NAME('html')
      XmlToken:XML_TAG_END('>')
      XmlText
        PsiWhiteSpace('\n')
      XmlToken:XML_END_TAG_START('</')
      XmlToken:XML_NAME('html')
      XmlToken:XML_TAG_END('>')