Пример #1
0
 /**
  * Dereference the variable, and return the reference value. Note that lazy evaluation will occur.
  * If a variable within scope is not found, a warning will be sent to the error listener, and an
  * empty nodeset will be returned.
  *
  * @param xctxt The runtime execution context.
  * @return The evaluated variable, or an empty nodeset if not found.
  * @throws javax.xml.transform.TransformerException
  */
 public XObject execute(XPathContext xctxt, boolean destructiveOK)
     throws javax.xml.transform.TransformerException {
   XNodeSet xns = (XNodeSet) super.execute(xctxt, destructiveOK);
   DTMManager dtmMgr = xctxt.getDTMManager();
   int context = xctxt.getContextNode();
   if (dtmMgr.getDTM(xns.getRoot()).getDocument() != dtmMgr.getDTM(context).getDocument()) {
     Expression expr = (Expression) xns.getContainedIter();
     xns = (XNodeSet) expr.asIterator(xctxt, context);
   }
   return xns;
 }