code: public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
    {
  
      int whereNode = getArg0AsNode(xctxt);
      String fileLocation = null;
  
      if (DTM.NULL != whereNode)
      {
        DTM dtm = xctxt.getDTM(whereNode);
        
        // %REVIEW%
        if (DTM.DOCUMENT_FRAGMENT_NODE ==  dtm.getNodeType(whereNode))
        {
          whereNode = dtm.getFirstChild(whereNode);
        }
  
        if (DTM.NULL != whereNode)
        {        
          fileLocation = dtm.getDocumentBaseURI();
  //        int owner = dtm.getDocument();
  //        fileLocation = xctxt.getSourceTreeManager().findURIFromDoc(owner);
        }
      }
  
      return new XString((null != fileLocation) ? fileLocation : "");
    }
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