code: protected void Literal() throws javax.xml.transform.TransformerException
    {
  
      int last = m_token.length() - 1;
      char c0 = m_tokenChar;
      char cX = m_token.charAt(last);
  
      if (((c0 == '\"') && (cX == '\"')) || ((c0 == '\'') && (cX == '\'')))
      {
  
        // Mutate the token to remove the quotes and have the XString object
        // already made.
        int tokenQueuePos = m_queueMark - 1;
  
        m_ops.m_tokenQueue.setElementAt(null,tokenQueuePos);
  
        Object obj = new XString(m_token.substring(1, last));
  
        m_ops.m_tokenQueue.setElementAt(obj,tokenQueuePos);
  
        // lit = m_token.substring(1, last);
        m_ops.setOp(m_ops.getOp(OpMap.MAPINDEX_LENGTH), tokenQueuePos);
        m_ops.setOp(OpMap.MAPINDEX_LENGTH, m_ops.getOp(OpMap.MAPINDEX_LENGTH) + 1);
  
        nextToken();
      }
      else
      {
        error(XPATHErrorResources.ER_PATTERN_LITERAL_NEEDS_BE_QUOTED,
              new Object[]{ m_token });  //"Pattern literal ("+m_token+") needs to be quoted!");
      }
    }
docs: The value of the Literal is the sequence of characters inside
  the " or ' characters>.
  
  Literal  ::=  '"' [^"]* '"'
  | "'" [^']* "'"
  
  
  @throws javax.xml.transform.TransformerException