public Expression compile(Executable exec) throws XPathException { SortKeyDefinition[] sortKeys = makeSortKeys(); if (sortKeys != null) { useTailRecursion = false; } Expression sortedSequence = select; if (sortKeys != null) { sortedSequence = new SortExpression(select, sortKeys); } compileSequenceConstructor(exec, iterateAxis(Axis.CHILD), true); ApplyTemplates app = new ApplyTemplates( sortedSequence, useCurrentMode, useTailRecursion, mode, backwardsCompatibleModeIsEnabled(), implicitSelect); app.setActualParameters(getWithParamInstructions(exec, false, app), getWithParamInstructions(exec, true, app)); return app; }
public Expression compile(Executable exec) throws XPathException { SortKeyDefinition[] sortKeys = makeSortKeys(); if (sortKeys != null) { useTailRecursion = false; } Expression sortedSequence = select; if (sortKeys != null) { sortedSequence = new SortExpression(select, sortKeys); } compileSequenceConstructor(exec, iterateAxis(Axis.CHILD), true); ApplyTemplates app = new ApplyTemplates( sortedSequence, useCurrentMode, useTailRecursion, mode, backwardsCompatibleModeIsEnabled(), implicitSelect); app.setActualParameters(getWithParamInstructions(exec, false, app), getWithParamInstructions(exec, true, app)); return app; }
AxisIterator kids = iterateAxis(Axis.CHILD); while (true) { NodeInfo child = (NodeInfo)kids.next();
AxisIterator kids = iterateAxis(Axis.CHILD); while (true) { NodeInfo child = (NodeInfo)kids.next();
if (iterateAxis(AxisInfo.ANCESTOR, new NameTest(Type.ELEMENT, StandardNames.XSL_TEMPLATE, getNamePool())).next() == null) { issueWarning("Specifying mode=\"#current\" when not inside an xsl:template serves no useful purpose", this); AxisIterator kids = iterateAxis(AxisInfo.CHILD); NodeInfo child; while ((child = kids.next()) != null) {
if (iterateAxis(AxisInfo.ANCESTOR, new NameTest(Type.ELEMENT, StandardNames.XSL_TEMPLATE, getNamePool())).next() == null) { issueWarning("Specifying mode=\"#current\" when not inside an xsl:template serves no useful purpose", this); AxisIterator kids = iterateAxis(AxisInfo.CHILD); NodeInfo child; while ((child = kids.next()) != null) {