protected void Number() throws javax.xml.transform.TransformerException
  {

    if (null != m_token)
    {

      // Mutate the token to remove the quotes and have the XNumber object
      // already made.
      double num;

      try
      {
      	// XPath 1.0 does not support number in exp notation
      	if ((m_token.indexOf('e') > -1)||(m_token.indexOf('E') > -1))
      		throw new NumberFormatException();
        num = Double.valueOf(m_token).doubleValue();
      }
      catch (NumberFormatException nfe)
      {
        num = 0.0;  // to shut up compiler.

        error(XPATHErrorResources.ER_COULDNOT_BE_FORMATTED_TO_NUMBER,
              new Object[]{ m_token });  //m_token+" could not be formatted to a number!");
      }

      m_ops.m_tokenQueue.setElementAt(new XNumber(num),m_queueMark - 1);
      m_ops.setOp(m_ops.getOp(OpMap.MAPINDEX_LENGTH), m_queueMark - 1);
      m_ops.setOp(OpMap.MAPINDEX_LENGTH, m_ops.getOp(OpMap.MAPINDEX_LENGTH) + 1);

      nextToken();
    }
  }
protected void Number ( ) throws javax . xml . transform . TransformerException { if ( null != m_token ) { double num ; try { if ( ( m_token . indexOf ( 'e' ) > - 1 ) || ( m_token . indexOf ( 'E' ) > - 1 ) ) throw new NumberFormatException ( ) ; num = Double . valueOf ( m_token ) . doubleValue ( ) ; } catch ( NumberFormatException nfe ) { num = 0.0 ; error ( XPATHErrorResources . ER_COULDNOT_BE_FORMATTED_TO_NUMBER , new Object [ ] { m_token } ) ; } m_ops . m_tokenQueue . setElementAt ( new XNumber ( num ) , m_queueMark - 1 ) ; m_ops . setOp ( m_ops . getOp ( OpMap . MAPINDEX_LENGTH ) , m_queueMark - 1 ) ; m_ops . setOp ( OpMap . MAPINDEX_LENGTH , m_ops . getOp ( OpMap . MAPINDEX_LENGTH ) + 1 ) ; nextToken ( ) ; } }
Number ::= [0-9]+('.'[0-9]+)? | '.'[0-9]+


@throws javax.xml.transform.TransformerException