gpt4 book ai didi

net.sf.saxon.expr.XPathContextMajor.setOrigin()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-20 19:25:40 31 4
gpt4 key购买 nike

本文整理了Java中net.sf.saxon.expr.XPathContextMajor.setOrigin()方法的一些代码示例,展示了XPathContextMajor.setOrigin()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XPathContextMajor.setOrigin()方法的具体详情如下:
包路径:net.sf.saxon.expr.XPathContextMajor
类名称:XPathContextMajor
方法名:setOrigin

XPathContextMajor.setOrigin介绍

[英]Set the creating expression (for use in diagnostics). The origin is generally set to "this" by the object that creates the new context. It's up to the debugger to determine whether this information is useful. The object will either be an Expression, allowing information about the calling instruction to be obtained, or null.
[中]设置创建表达式(用于诊断)。创建新上下文的对象通常会将原点设置为“this”。由调试器决定这些信息是否有用。对象要么是表达式,允许获取有关调用指令的信息,要么为空。

代码示例

代码示例来源:origin: net.sourceforge.saxon/saxon

/**
 * Evaluate an updating expression, adding the results to a Pending Update List.
 * The default implementation of this method, which is used for non-updating expressions,
 * throws an UnsupportedOperationException
 *
 * @param context the XPath dynamic evaluation context
 * @param pul     the pending update list to which the results should be written
 */
public void evaluatePendingUpdates(XPathContext context, PendingUpdateList pul) throws XPathException {
  ValueRepresentation[] actualArgs = evaluateArguments(context);
  XPathContextMajor c2 = context.newCleanContext();
  c2.setOrigin(this);
  function.callUpdating(actualArgs, c2, pul);
}

代码示例来源:origin: net.sf.saxon/Saxon-HE

/**
 * Evaluate an updating expression, adding the results to a Pending Update List.
 * The default implementation of this method, which is used for non-updating expressions,
 * throws an UnsupportedOperationException
 *
 * @param context the XPath dynamic evaluation context
 * @param pul     the pending update list to which the results should be written
 */
public void evaluatePendingUpdates(XPathContext context, PendingUpdateList pul) throws XPathException {
  Sequence[] actualArgs = evaluateArguments(context);
  XPathContextMajor c2 = context.newCleanContext();
  c2.setOrigin(this);
  function.callUpdating(actualArgs, c2, pul);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon

/**
 * Evaluate an updating expression, adding the results to a Pending Update List.
 * The default implementation of this method, which is used for non-updating expressions,
 * throws an UnsupportedOperationException
 *
 * @param context the XPath dynamic evaluation context
 * @param pul     the pending update list to which the results should be written
 */
public void evaluatePendingUpdates(XPathContext context, PendingUpdateList pul) throws XPathException {
  Sequence[] actualArgs = evaluateArguments(context);
  XPathContextMajor c2 = context.newCleanContext();
  c2.setOrigin(this);
  function.callUpdating(actualArgs, c2, pul);
}

代码示例来源:origin: org.opengis.cite.saxon/saxon9

/**
 * Return an Iterator to iterate over the values of the sequence. 
 *
 * @exception XPathException if any dynamic error occurs evaluating the
 *     expression
 * @param context supplies the context for evaluation
 * @return a SequenceIterator that can be used to iterate over the result
 *     of the expression
 */
public SequenceIterator iterate(XPathContext context) throws XPathException {
  SequenceIterator master = select.iterate(context);
  XPathContextMajor c2 = context.newContext();
  c2.setOrigin(this);
  c2.setCurrentTemplateRule(null);
  c2.setCurrentIterator(master);
  master = new ContextMappingIterator(this, c2);
  return master;
}

代码示例来源:origin: net.sourceforge.saxon/saxon

/**
 * Return an Iterator to iterate over the values of the sequence. 
 *
 * @exception XPathException if any dynamic error occurs evaluating the
 *     expression
 * @param context supplies the context for evaluation
 * @return a SequenceIterator that can be used to iterate over the result
 *     of the expression
 */
public SequenceIterator iterate(XPathContext context) throws XPathException {
  SequenceIterator master = select.iterate(context);
  XPathContextMajor c2 = context.newContext();
  c2.setOrigin(this);
  c2.setCurrentTemplateRule(null);
  c2.setCurrentIterator(master);
  master = new ContextMappingIterator(this, c2);
  return master;
}

代码示例来源:origin: net.sourceforge.saxon/saxon

/**
 * Process the function call in push mode
 * @param context the XPath dynamic context
 * @throws XPathException
 */
public void process(XPathContext context) throws XPathException {
  ValueRepresentation[] actualArgs = evaluateArguments(context);
  if (tailCall) {
    ((XPathContextMajor)context).requestTailCall(function, actualArgs);
  } else {
    SequenceReceiver out = context.getReceiver();
    XPathContextMajor c2 = context.newCleanContext();
    c2.setReceiver(out);
    c2.setOrigin(this);
    function.process(actualArgs, c2);
  }
}

代码示例来源:origin: org.opengis.cite.saxon/saxon9

/**
 * Process the function call in push mode
 * @param context the XPath dynamic context
 * @throws XPathException
 */
public void process(XPathContext context) throws XPathException {
  ValueRepresentation[] actualArgs = evaluateArguments(context);
  if (tailCall) {
    ((XPathContextMajor)context).requestTailCall(function, actualArgs);
  } else {
    SequenceReceiver out = context.getReceiver();
    XPathContextMajor c2 = context.newCleanContext();
    c2.setReceiver(out);
    c2.setOrigin(this);
    function.process(actualArgs, c2);
  }
}

代码示例来源:origin: net.sf.saxon/Saxon-B

/**
 * Process the function call in push mode
 * @param context the XPath dynamic context
 * @throws XPathException
 */
public void process(XPathContext context) throws XPathException {
  ValueRepresentation[] actualArgs = evaluateArguments(context);
  if (tailCall) {
    ((XPathContextMajor)context).requestTailCall(function, actualArgs);
  } else {
    SequenceReceiver out = context.getReceiver();
    XPathContextMajor c2 = context.newCleanContext();
    c2.setReceiver(out);
    c2.setOrigin(this);
    function.process(actualArgs, c2);
  }
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon

/**
 * Create a context for evaluating this function
 *
 * @param oldContext the existing context of the caller
 * @return a new context which should be supplied to the call() method.
 */
public XPathContextMajor makeNewContext(XPathContext oldContext) {
  XPathContextMajor c2 = oldContext.newCleanContext();
  c2.setOrigin(this);
  c2.setReceiver(oldContext.getReceiver());
  c2.setTemporaryOutputState(StandardNames.XSL_FUNCTION);
  c2.setCurrentOutputUri(null);
  c2.setCurrentComponent(getDeclaringComponent());  // default value for the caller to override if necessary
  return c2;
}

代码示例来源:origin: net.sf.saxon/Saxon-HE

/**
 * Create a context for evaluating this function
 *
 * @param oldContext the existing context of the caller
 * @param originator
 * @return a new context which should be supplied to the call() method.
 */
public XPathContextMajor makeNewContext(XPathContext oldContext, ContextOriginator originator) {
  XPathContextMajor c2 = oldContext.newCleanContext();
  c2.setReceiver(oldContext.getReceiver());
  c2.setTemporaryOutputState(StandardNames.XSL_FUNCTION);
  c2.setCurrentOutputUri(null);
  c2.setCurrentComponent(getDeclaringComponent());  // default value for the caller to override if necessary
  c2.setOrigin(originator);
  return c2;
}

代码示例来源:origin: net.sourceforge.saxon/saxon

/**
 * Process the function call in pull mode
 * @param context the XPath dynamic context
 * @throws XPathException
 */
public EventIterator iterateEvents(XPathContext context) throws XPathException {
  ValueRepresentation[] actualArgs = evaluateArguments(context);
  if (tailCall) {
    ((XPathContextMajor)context).requestTailCall(function, actualArgs);
    return EmptyEventIterator.getInstance();
  } else {
    SequenceReceiver out = context.getReceiver();
    XPathContextMajor c2 = context.newCleanContext();
    c2.setReceiver(out);
    c2.setOrigin(this);
    return function.iterateEvents(actualArgs, c2);
  }
}

代码示例来源:origin: net.sf.saxon/Saxon-B

/**
 * Process the function call in pull mode
 * @param context the XPath dynamic context
 * @throws XPathException
 */
public EventIterator iterateEvents(XPathContext context) throws XPathException {
  ValueRepresentation[] actualArgs = evaluateArguments(context);
  if (tailCall) {
    ((XPathContextMajor)context).requestTailCall(function, actualArgs);
    return EmptyEventIterator.getInstance();
  } else {
    SequenceReceiver out = context.getReceiver();
    XPathContextMajor c2 = context.newCleanContext();
    c2.setReceiver(out);
    c2.setOrigin(this);
    return function.iterateEvents(actualArgs, c2);
  }
}

代码示例来源:origin: org.opengis.cite.saxon/saxon9

/**
 * Process the function call in pull mode
 * @param context the XPath dynamic context
 * @throws XPathException
 */
public EventIterator iterateEvents(XPathContext context) throws XPathException {
  ValueRepresentation[] actualArgs = evaluateArguments(context);
  if (tailCall) {
    ((XPathContextMajor)context).requestTailCall(function, actualArgs);
    return EmptyEventIterator.getInstance();
  } else {
    SequenceReceiver out = context.getReceiver();
    XPathContextMajor c2 = context.newCleanContext();
    c2.setReceiver(out);
    c2.setOrigin(this);
    return function.iterateEvents(actualArgs, c2);
  }
}

代码示例来源:origin: net.sf.saxon/Saxon-HE

/**
 * Make a new XPath context for evaluating patterns if there is any possibility that the
 * pattern uses local variables
 *
 * @param context The existing XPath context
 * @return a new XPath context
 */
public XPathContext makeNewContext(XPathContext context) {
  XPathContextMajor c2 = context.newContext();
  c2.setOrigin(context.getController());   // WHY?
  c2.openStackFrame(getStackFrameSlotsNeeded());
  if (!(context.getCurrentComponent().getActor() instanceof Accumulator)) {
    c2.setCurrentComponent(context.getCurrentMode()); // bug 3706
  }
  return c2;
}

代码示例来源:origin: net.sourceforge.saxon/saxon

/**
  * Process the template call encapsulated by this package.
  * @return another TailCall. This will never be the original call, but it may be the next
  * recursive call. For example, if A calls B which calls C which calls D, then B may return
  * a TailCall to A representing the call from B to C; when this is processed, the result may be
  * a TailCall representing the call from C to D.
   * @throws XPathException if a dynamic error occurs
  */
  public TailCall processLeavingTail() throws XPathException {
    Template nh = (Template)rule.getAction();
    XPathContextMajor c2 = evaluationContext.newContext();
    c2.setOrigin(NextMatch.this);
    c2.setLocalParameters(params);
    c2.setTunnelParameters(tunnelParams);
    c2.openStackFrame(nh.getStackFrameMap());
    // System.err.println("Tail call on template");
    return nh.applyLeavingTail(c2, rule);
  }
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon

/**
 * Make a new XPath context for evaluating patterns if there is any possibility that the
 * pattern uses local variables
 *
 * @param context The existing XPath context
 * @return a new XPath context
 */
public XPathContext makeNewContext(XPathContext context) {
  XPathContextMajor c2 = context.newContext();
  c2.setOrigin(context.getController());   // WHY?
  c2.openStackFrame(getStackFrameSlotsNeeded());
  if (!(context.getCurrentComponent().getActor() instanceof Accumulator)) {
    c2.setCurrentComponent(context.getCurrentMode()); // bug 3706
  }
  return c2;
}

代码示例来源:origin: org.opengis.cite.saxon/saxon9

/**
 * Evaluate an attribute set
 * @param context the dynamic context
 * @throws XPathException if any failure occurs
 */
public void expand(XPathContext context) throws XPathException {
  // apply the content of any attribute sets mentioned in use-attribute-sets
  if (useAttributeSets != null) {
    AttributeSet.expand(useAttributeSets, context);
  }
  if (getStackFrameMap() != null) {
    XPathContextMajor c2 = context.newContext();
    c2.setOrigin(this);
    c2.openStackFrame(getStackFrameMap());
    getBody().process(c2);
  } else {
    getBody().process(context);
  }
}

代码示例来源:origin: net.sourceforge.saxon/saxon

/**
 * Evaluate an attribute set
 * @param context the dynamic context
 * @throws XPathException if any failure occurs
 */
public void expand(XPathContext context) throws XPathException {
  // apply the content of any attribute sets mentioned in use-attribute-sets
  if (useAttributeSets != null) {
    AttributeSet.expand(useAttributeSets, context);
  }
  if (getStackFrameMap() != null) {
    XPathContextMajor c2 = context.newContext();
    c2.setOrigin(this);
    c2.openStackFrame(getStackFrameMap());
    getBody().process(c2);
  } else {
    getBody().process(context);
  }
}

代码示例来源:origin: net.sourceforge.saxon/saxon

/**
* Iterate over the results of the function
*/
public SequenceIterator iterate(XPathContext c) throws XPathException {
  PreparedExpression pexpr = prepareExpression(c);
  if (operation == EXPRESSION) {
    return SingletonIterator.makeIterator(new ObjectValue(pexpr));
  } else {
    XPathContextMajor c2 = c.newCleanContext();
    c2.setOrigin(details);
    c2.openStackFrame(pexpr.stackFrameMap);
    c2.setCurrentIterator(c.getCurrentIterator());
    for (int i=1; i<argument.length; i++) {
      int slot = pexpr.variables[i-1].getLocalSlotNumber();
      c2.setLocalVariable(slot, ExpressionTool.eagerEvaluate(argument[i],c));
    }
    return Value.getIterator(
        ExpressionTool.lazyEvaluate(pexpr.expression,  c2, 1));
  }
}

代码示例来源:origin: net.sf.saxon/Saxon-B

/**
* Iterate over the results of the function
*/
public SequenceIterator iterate(XPathContext c) throws XPathException {
  PreparedExpression pexpr = prepareExpression(c);
  if (operation == EXPRESSION) {
    return SingletonIterator.makeIterator(new ObjectValue(pexpr));
  } else {
    XPathContextMajor c2 = c.newCleanContext();
    c2.setOrigin(details);
    c2.openStackFrame(pexpr.stackFrameMap);
    c2.setCurrentIterator(c.getCurrentIterator());
    for (int i=1; i<argument.length; i++) {
      int slot = pexpr.variables[i-1].getLocalSlotNumber();
      c2.setLocalVariable(slot, ExpressionTool.eagerEvaluate(argument[i],c));
    }
    return Value.getIterator(
        ExpressionTool.lazyEvaluate(pexpr.expression,  c2, 1));
  }
}

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com