code: public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
    {
  
  //    DTMIterator nl = m_arg0.asIterator(xctxt, xctxt.getCurrentNode());
  
  //    // We should probably make a function on the iterator for this, 
  //    // as a given implementation could optimize.
  //    int i = 0;
  //
  //    while (DTM.NULL != nl.nextNode())
  //    {
  //      i++;
  //    }
  //    nl.detach();
  	DTMIterator nl = m_arg0.asIterator(xctxt, xctxt.getCurrentNode());
  	int i = nl.getLength();	
  	nl.detach();
  
      return new XNumber((double) i);
    }
docs: Execute the function.  The function must return
  a valid object.
  @param xctxt The current execution context.
  @return A valid XObject.
  
  @throws javax.xml.transform.TransformerException