- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中net.sf.saxon.expr.XPathContextMajor
类的一些代码示例,展示了XPathContextMajor
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XPathContextMajor
类的具体详情如下:
包路径:net.sf.saxon.expr.XPathContextMajor
类名称:XPathContextMajor
[英]This class represents a "major context" in which an XPath expression is evaluated: a "major context" object allows all aspects of the dynamic context to change, whereas a "minor context" only allows changes to the focus and the destination for push output.
[中]这个类表示一个“主上下文”,在其中计算XPath表达式:“主上下文”对象允许动态上下文的所有方面发生更改,而“次要上下文”只允许更改推送输出的焦点和目标。
代码示例来源:origin: org.opengis.cite.saxon/saxon9
/**
* Get a raw iterator over the results of the expression. This returns results without
* any conversion of the returned items to "native" Java classes. This method is intended
* for use by applications that need to process the results of the expression using
* internal Saxon interfaces.
* @param contextItem the context item for evaluating the expression
* @return an iterator over the results of the expression, with no conversion of returned items
* @since 9.0
*/
public SequenceIterator rawIterator(Item contextItem) throws XPathException {
XPathContextMajor context = new XPathContextMajor(contextItem, executable);
context.openStackFrame(stackFrameMap);
return rawIterator(context);
}
代码示例来源:origin: net.sf.saxon/Saxon-HE
/**
* Construct a new context as a copy of another. The new context is effectively added
* to the top of a stack, and contains a pointer to the previous context
*/
public XPathContextMajor newContext() {
return XPathContextMajor.newContext(this);
}
代码示例来源:origin: net.sf.saxon/Saxon-HE
/**
* Construct a new minor context. A minor context can only hold new values of the focus
* (currentIterator) and current output destination.
*/
public XPathContextMinor newMinorContext() {
return newContext().newMinorContext();
// notAllowed();
// return null;
}
代码示例来源:origin: net.sf.saxon/Saxon-HE
/**
* Make an XPathContext object for expression evaluation.
* <p>This method is intended for internal use.</p>
*
* @return the new XPathContext
*/
public XPathContextMajor newXPathContext() {
XPathContextMajor c = new XPathContextMajor(this);
c.setCurrentOutputUri(principalResultURI);
return c;
}
代码示例来源:origin: net.sf.saxon/Saxon-HE
/**
* Construct a new context without copying (used for the context in a function call)
*/
public XPathContextMajor newCleanContext() {
XPathContextMajor c = new XPathContextMajor(getController());
c.setCaller(this);
return c;
}
代码示例来源:origin: net.sourceforge.saxon/saxon
public TailCall processLeavingTail(XPathContext context) throws XPathException {
XPathContextMajor cm = (XPathContextMajor)context;
ParameterSet params = assembleParams(context, actualParams);
cm.setLocalParameters(params);
cm.requestTailCall(continueFunction, emptyArgs);
return null;
}
代码示例来源:origin: net.sf.saxon/Saxon-HE
initialContext.createThreadManager();
initialContext.setOrigin(this);
initialContext.setReceiver(out);
initialContext.setCurrentIterator(new ManualIterator<>(globalContextItem));
XPathContextMajor c2 = initialContext.newContext();
initialContext.setOrigin(this);
c2.setCurrentComponent(initialComponent);
c2.openStackFrame(t.getStackFrameMap());
c2.setLocalParameters(ordinaryParams);
c2.setTunnelParameters(tunnelParams);
initialContext.waitForChildThreads();
out.close();
代码示例来源:origin: org.opengis.cite.saxon/saxon9
initialContext.setOrigin(this);
currentIter.next();
initialContext.setCurrentIterator(currentIter);
props.setProperty(SaxonOutputKeys.IMPLICIT_RESULT_DOCUMENT, "yes");
initialContext.changeOutputDestination(props, result, true,
Configuration.XSLT, Validation.PRESERVE, null);
initialContext.getCurrentIterator(),
mode,
null, null, initialContext, false, 0);
XPathContextMajor c2 = initialContext.newContext();
c2.setOrigin(this);
c2.openStackFrame(t.getStackFrameMap());
c2.setLocalParameters(new ParameterSet());
c2.setTunnelParameters(new ParameterSet());
Receiver out = initialContext.getReceiver();
if (out instanceof ComplexContentOutputter && ((ComplexContentOutputter)out).contentHasBeenWritten()) {
if (principalResultURI != null) {
代码示例来源:origin: net.sourceforge.saxon/saxon
/**
* Evaluate in a general context
*/
public Item evaluateItem(XPathContext c) throws XPathException {
if (operation == EXPRESSION) {
PreparedExpression pexpr = prepareExpression(c);
return new ObjectValue(pexpr);
} else if (operation == EVALUATE_NODE) {
XPathContextMajor c2 = c.newCleanContext();
PreparedExpression pexpr = prepareExpression(c2);
c2.setOrigin(details);
c2.openStackFrame(pexpr.stackFrameMap);
return pexpr.expression.evaluateItem(c2);
} else {
XPathContextMajor c2 = c.newCleanContext();
PreparedExpression pexpr = prepareExpression(c2);
for (int i=1; i<argument.length; i++) {
int slot = pexpr.variables[i-1].getLocalSlotNumber();
c2.setLocalVariable(slot, ExpressionTool.eagerEvaluate(argument[i],c));
}
c2.setOrigin(details);
c2.openStackFrame(pexpr.stackFrameMap);
c2.setCurrentIterator(c.getCurrentIterator());
return pexpr.expression.evaluateItem(c2);
}
}
代码示例来源:origin: net.sourceforge.saxon/saxon
/**
* Call the function dynamically. For this to be possible, the static arguments of the function call
* must have been set up as SuppliedParameterReference objects. The actual arguments are placed on the
* callee's stack, and the type conversion takes place "in situ".
* @param suppliedArguments the values to be used for the arguments of the function
* @param context the dynamic evaluation context
* @return the result of evaluating the function
*/
public ValueRepresentation dynamicCall(ValueRepresentation[] suppliedArguments, XPathContext context) throws XPathException {
ValueRepresentation[] convertedArgs = new ValueRepresentation[suppliedArguments.length];
XPathContextMajor c2 = context.newCleanContext();
c2.setOrigin(this);
c2.setCaller(context);
c2.openStackFrame(suppliedArguments.length);
for (int i=0; i<suppliedArguments.length; i++) {
c2.setLocalVariable(i, suppliedArguments[i]);
convertedArgs[i] = ExpressionTool.lazyEvaluate(argument[i], c2, 10);
}
XPathContextMajor c3 = c2.newCleanContext();
c3.setOrigin(this);
return function.call(convertedArgs, c3);
}
代码示例来源:origin: net.sf.saxon/Saxon-HE
/**
* Apply an accumulator rule
*
* @param rule the rule to apply
* @param node the node that was matched
* @param isPostDescent false for the pre-descent visit to a node, true for the post-descent visit
* @param value the value of the accumulator before applying the rule
* @param context the dynamic evaluation context
* @return the value of the accumulator after applying the rule
* @throws XPathException if a dynamic error occurs during the evaluation
*/
private Sequence<?> processRule(Rule rule, NodeInfo node, boolean isPostDescent, Sequence<?> value, XPathContext context) throws XPathException {
AccumulatorRule target = (AccumulatorRule) rule.getAction();
Expression delta = target.getNewValueExpression();
XPathContextMajor c2 = context.newCleanContext();
final Controller controller = c2.getController();
assert controller != null;
ManualIterator<NodeInfo> initialNode = new ManualIterator<>(node);
c2.setCurrentIterator(initialNode);
c2.openStackFrame(target.getStackFrameMap());
c2.setLocalVariable(0, value);
c2.setCurrentComponent(accumulator.getDeclaringComponent());
c2.setTemporaryOutputState(StandardNames.XSL_ACCUMULATOR_RULE);
value = Evaluator.EAGER_SEQUENCE.evaluate(delta, c2);
//System.err.println("Node " + ((TinyNodeImpl) node).getNodeNumber() + " : " + value);
values.add(new DataPoint(new Visit(node, isPostDescent), value));
return value;
}
代码示例来源: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: net.sf.saxon/Saxon-HE
/**
* 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 {
TemplateRule nh = (TemplateRule) rule.getAction();
nh.initialize();
XPathContextMajor c2 = evaluationContext.newContext();
c2.setOrigin(NextMatch.this);
//c2.setOriginatingConstructType(LocationKind.TEMPLATE);
c2.setLocalParameters(params);
c2.setTunnelParameters(tunnelParams);
c2.openStackFrame(nh.getStackFrameMap());
c2.setCurrentTemplateRule(rule);
c2.setCurrentComponent(evaluationContext.getCurrentComponent());
// System.err.println("Tail call on template");
return nh.applyLeavingTail(c2);
}
}
代码示例来源:origin: net.sf.saxon/Saxon-HE
/**
* Return an Iterator to iterate over the values of a sequence. The value of every
* expression can be regarded as a sequence, so this method is supported for all
* expressions. This default implementation relies on the process() method: it
* "pushes" the results of the instruction to a sequence in memory, and then
* iterates over this in-memory sequence.
* <p>In principle instructions should implement a pipelined iterate() method that
* avoids the overhead of intermediate storage.</p>
*
* @param context supplies the context for evaluation
* @return a SequenceIterator that can be used to iterate over the result
* of the expression
* @throws XPathException if any dynamic error occurs evaluating the
* expression
*/
/*@NotNull*/
public SequenceIterator<?> iterate(XPathContext context) throws XPathException {
GroupIterator master = getGroupIterator(context);
XPathContextMajor c2 = context.newContext();
c2.setOrigin(this);
c2.trackFocus(master);
c2.setCurrentGroupIterator(master);
c2.setCurrentTemplateRule(null);
return new ContextMappingIterator<>(this, c2);
}
代码示例来源:origin: org.opengis.cite.saxon/saxon9
/**
* Evaluate the variable. That is,
* get the value of the select expression if present or the content
* of the element otherwise, either as a tree or as a sequence
*/
public ValueRepresentation getSelectValue(XPathContext context) throws XPathException {
if (select==null) {
throw new AssertionError("*** No select expression for global variable $" +
getVariableQName().getDisplayName() + "!!");
} else {
XPathContextMajor c2 = context.newCleanContext();
c2.setOrigin(this);
UnfailingIterator initialNode =
SingletonIterator.makeIterator(c2.getController().getContextForGlobalVariables());
initialNode.next();
c2.setCurrentIterator(initialNode);
if (stackFrameMap != null) {
c2.openStackFrame(stackFrameMap);
}
return ExpressionTool.evaluate(select, evaluationMode, c2, referenceCount);
}
}
代码示例来源:origin: net.sourceforge.saxon/saxon
/**
* Return an Iterator to iterate over the values of a sequence. The value of every
* expression can be regarded as a sequence, so this method is supported for all
* expressions. This default implementation relies on the process() method: it
* "pushes" the results of the instruction to a sequence in memory, and then
* iterates over this in-memory sequence.
* <p/>
* In principle instructions should implement a pipelined iterate() method that
* avoids the overhead of intermediate storage.
*
* @param context supplies the context for evaluation
* @return a SequenceIterator that can be used to iterate over the result
* of the expression
* @throws XPathException if any dynamic error occurs evaluating the
* expression
*/
public SequenceIterator iterate(XPathContext context) throws XPathException {
GroupIterator master = getGroupIterator(context);
XPathContextMajor c2 = context.newContext();
c2.setOrigin(this);
c2.setCurrentIterator(master);
c2.setCurrentGroupIterator(master);
c2.setCurrentTemplateRule(null);
return new ContextMappingIterator(this, c2);
}
代码示例来源: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.sf.saxon/Saxon-HE
public TailCall processLeavingTail(XPathContext context) throws XPathException {
XPathContext c = context;
while (!(c instanceof XPathContextMajor)) {
c = c.getCaller();
}
XPathContextMajor cm = (XPathContextMajor)c;
if (actualParams.length == 1) {
cm.setLocalVariable(actualParams[0].getSlotNumber(), actualParams[0].getSelectValue(context));
} else {
// we can't overwrite any of the parameters until we've evaluated all of them: test iterate012
Sequence[] oldVars = cm.getAllVariableValues();
Sequence[] newVars = Arrays.copyOf(oldVars, oldVars.length);
for (WithParam wp : actualParams) {
newVars[wp.getSlotNumber()] = wp.getSelectValue(context);
}
cm.resetAllVariableValues(newVars);
}
cm.requestTailCall(this, null);
return null;
}
代码示例来源: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
/**
* Set the context item for evaluation of the XPath Expression
* @param item the context item
* @throws XPathException if the node is in a document that was built under the wrong configuration
*/
public void setContextItem(Item item) throws XPathException {
if (item instanceof NodeInfo) {
if (!((NodeInfo)item).getConfiguration().isCompatible(contextObject.getConfiguration())) {
throw new XPathException(
"Supplied node must be built using the same or a compatible Configuration",
SaxonErrorCode.SXXP0004);
}
}
UnfailingIterator iter = SingletonIterator.makeIterator(item);
iter.next();
contextObject.setCurrentIterator(iter);
}
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!