| Modifier and Type | Field and Description |
|---|---|
| public static final int | BIT_ANCESTOR
Bit is on if any of the walkers contain an ancestor step. |
| public static final int | BIT_ANCESTOR_OR_SELF
Bit is on if any of the walkers contain an ancestor-or-self step. |
| public static final int | BIT_ANY_DESCENDANT_FROM_ROOT
Found "//foo" pattern |
| public static final int | BIT_ATTRIBUTE
Bit is on if any of the walkers contain an attribute step. |
| public static final int | BIT_BACKWARDS_SELF
Bit is on if any of the walkers can go backwards in document order from the context node. |
| public static final int | BIT_CHILD
Bit is on if any of the walkers contain a child step. |
| public static final int | BIT_DESCENDANT
Bit is on if any of the walkers contain a descendant step. |
| public static final int | BIT_DESCENDANT_OR_SELF
Bit is on if any of the walkers contain a descendant-or-self step. |
| public static final int | BIT_FILTER
Bit is on if any of the walkers contain a filter (i.e. id(), extension function, etc.) step. |
| public static final int | BIT_FOLLOWING
Bit is on if any of the walkers contain a following step. |
| public static final int | BIT_FOLLOWING_SIBLING
Bit is on if any of the walkers contain a following-sibiling step. |
| public static final int | BIT_MATCH_PATTERN
Bit is on if the expression is a match pattern. |
| public static final int | BIT_NAMESPACE
Bit is on if any of the walkers contain a namespace step. |
| public static final int | BIT_NODETEST_ANY
Bit is on if any of the walkers contain an node() test. |
| public static final int | BIT_PARENT
Bit is on if any of the walkers contain a parent step. |
| public static final int | BIT_PRECEDING
Bit is on if any of the walkers contain a preceding step. |
| public static final int | BIT_PRECEDING_SIBLING
Bit is on if any of the walkers contain a preceding-sibling step. |
| public static final int | BIT_PREDICATE
Bit is on if the expression contains a top-level predicate. |
| public static final int | BIT_ROOT
Bit is on if any of the walkers contain a root step. |
| public static final int | BIT_SELF
Bit is on if any of the walkers contain a self step. |
| public static final int | BITMASK_TRAVERSES_OUTSIDE_SUBTREE
If any of these bits are on, the expression may likely traverse outside the given subtree. |
| public static final int | BITS_COUNT
First 8 bits are the number of top-level location steps. |
| public static final int | BITS_RESERVED
4 bits are reserved for future use. |
| pack-priv static final boolean | DEBUG_ITERATOR_CREATION
Set to true for diagnostics about iterator creation |
| pack-priv static final boolean | DEBUG_PATTERN_CREATION
Set to true for diagnostics about walker creation |
| pack-priv static final boolean | DEBUG_WALKER_CREATION
Set to true for diagnostics about walker creation |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static int | Returns: 32 bits as an integer that give information about the location path as a whole.non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. stepOpCodePos, int The top-level step index withing the iterator. stepIndex)Analyze the location path and return 32 bits that give information about the location path as a whole. |
| pack-priv static boolean | Returns: true if step has a predicate.non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. opPos, int The type of step, one of OP_GROUP, etc. stepType)Analyze a step and give information about it's predicates. |
| public static boolean | |
| public static boolean | |
| private static StepPattern | Returns: the head of the list.The compiler that holds the syntax tree/op map to
construct from. compiler, int opPos, MatchPatternIterator The MatchPatternIterator to which the steps will be attached. mpi, int 32 bits of analysis, from which the type of AxesWalker
may be influenced. analysis, StepPattern The step that is the first step analyzed, but the last
step in the relative match linked list, i.e. the tail.
May be null. tail, StepPattern The step that is the current head of the relative
match step linked list.
May be null. head)Create a StepPattern that is contained within a LocationPath. |
| private static AxesWalker | Returns: non-null reference to AxesWalker derivative.non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. opPos, WalkingIterator The owning location path iterator. lpi, int 32 bits of analysis, from which the type of AxesWalker
may be influenced. analysis)Create the proper Walker from the axes type. |
| public static void | |
| pack-priv static boolean | |
| public static int | Returns: One of BIT_ANCESTOR, etc.One of Axis.ANCESTOR, etc. axis)Get a corresponding BIT_XXX from an axis. |
| public static String | |
| public static int | Returns: 32 bits as an integer that give information about the location path as a whole.non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. stepOpCodePos)Special purpose function to see if we can optimize the pattern for a DescendantIterator. |
| public static int | |
| public static boolean | |
| public static boolean | |
| public static boolean | Returns: true if the axis is not a child axis and does not go up from the axis root.One of Axis.XXX. axis)Tell if the given axis goes downword. |
| public static boolean | Returns: true if the walk can be done in natural order.The general analysis of the pattern. analysis)Tell if the pattern can be 'walked' with the iteration steps in natural document order, without duplicates. |
| private static boolean | Returns: true if the walk can be done in natural order.non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. stepOpCodePos, int The top-level step index withing the iterator. stepIndex, int The general analysis of the pattern. analysis)Tell if the pattern can be 'walked' with the iteration steps in natural document order, without duplicates. |
| public static boolean | |
| private static boolean | Returns: 32 bits as an integer that give information about the location path as a whole.non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. stepOpCodePos, int The top-level step index withing the iterator. stepIndex)Special purpose function to see if we can optimize the pattern for a DescendantIterator. |
| pack-priv static boolean | |
| public static boolean | |
| public static boolean | |
| pack-priv static AxesWalker | Returns: non-null AxesWalker derivative.The owning location path iterator. lpi, Compiler non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. stepOpCodePos)This method is for building an array of possible levels where the target element(s) could be found for a match. |
| pack-priv static StepPattern | Returns: A StepPattern object, which may contain relative StepPatterns.The MatchPatternIterator to which the steps will be attached. mpi, Compiler The compiler that holds the syntax tree/op map to
construct from. compiler, int The current op code position within the opmap. stepOpCodePos, int The top-level step index withing the iterator. stepIndex)Read a LocationPath as a generalized match pattern. |
| pack-priv static AxesWalker | Returns: non-null AxesWalker derivative.The owning location path iterator object. lpi, Compiler non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The opcode position for the step. stepOpCodePos, int The top-level step index withing the iterator. stepIndex)This method is for building an array of possible levels where the target element(s) could be found for a match. |
| public static boolean | mightBeProximate(Compiler compiler, int opPos, int stepType)
Tell if the predicates need to have proximity knowledge. |
| public static DTMIterator | Returns: non-null reference to a LocPathIterator or derivative.non-null reference to compiler object that has processed
the XPath operations into an opcode map. compiler, int The position of the operation code for this itterator. opPos, boolean isTopLevel)Create a new LocPathIterator iterator. |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean | |
| public static boolean |
| BIT_ANCESTOR | back to summary |
|---|---|
| public static final int BIT_ANCESTOR Bit is on if any of the walkers contain an ancestor step. | |
| BIT_ANCESTOR_OR_SELF | back to summary |
|---|---|
| public static final int BIT_ANCESTOR_OR_SELF Bit is on if any of the walkers contain an ancestor-or-self step. | |
| BIT_ANY_DESCENDANT_FROM_ROOT | back to summary |
|---|---|
| public static final int BIT_ANY_DESCENDANT_FROM_ROOT Found "//foo" pattern | |
| BIT_ATTRIBUTE | back to summary |
|---|---|
| public static final int BIT_ATTRIBUTE Bit is on if any of the walkers contain an attribute step. | |
| BIT_BACKWARDS_SELF | back to summary |
|---|---|
| public static final int BIT_BACKWARDS_SELF Bit is on if any of the walkers can go backwards in document order from the context node. | |
| BIT_CHILD | back to summary |
|---|---|
| public static final int BIT_CHILD Bit is on if any of the walkers contain a child step. | |
| BIT_DESCENDANT | back to summary |
|---|---|
| public static final int BIT_DESCENDANT Bit is on if any of the walkers contain a descendant step. | |
| BIT_DESCENDANT_OR_SELF | back to summary |
|---|---|
| public static final int BIT_DESCENDANT_OR_SELF Bit is on if any of the walkers contain a descendant-or-self step. | |
| BIT_FILTER | back to summary |
|---|---|
| public static final int BIT_FILTER Bit is on if any of the walkers contain a filter (i.e. id(), extension function, etc.) step. | |
| BIT_FOLLOWING | back to summary |
|---|---|
| public static final int BIT_FOLLOWING Bit is on if any of the walkers contain a following step. | |
| BIT_FOLLOWING_SIBLING | back to summary |
|---|---|
| public static final int BIT_FOLLOWING_SIBLING Bit is on if any of the walkers contain a following-sibiling step. | |
| BIT_MATCH_PATTERN | back to summary |
|---|---|
| public static final int BIT_MATCH_PATTERN Bit is on if the expression is a match pattern. | |
| BIT_NAMESPACE | back to summary |
|---|---|
| public static final int BIT_NAMESPACE Bit is on if any of the walkers contain a namespace step. | |
| BIT_NODETEST_ANY | back to summary |
|---|---|
| public static final int BIT_NODETEST_ANY Bit is on if any of the walkers contain an node() test. This is really only useful if the count is 1. | |
| BIT_PARENT | back to summary |
|---|---|
| public static final int BIT_PARENT Bit is on if any of the walkers contain a parent step. | |
| BIT_PRECEDING | back to summary |
|---|---|
| public static final int BIT_PRECEDING Bit is on if any of the walkers contain a preceding step. | |
| BIT_PRECEDING_SIBLING | back to summary |
|---|---|
| public static final int BIT_PRECEDING_SIBLING Bit is on if any of the walkers contain a preceding-sibling step. | |
| BIT_PREDICATE | back to summary |
|---|---|
| public static final int BIT_PREDICATE Bit is on if the expression contains a top-level predicate. | |
| BIT_ROOT | back to summary |
|---|---|
| public static final int BIT_ROOT Bit is on if any of the walkers contain a root step. | |
| BIT_SELF | back to summary |
|---|---|
| public static final int BIT_SELF Bit is on if any of the walkers contain a self step. | |
| BITMASK_TRAVERSES_OUTSIDE_SUBTREE | back to summary |
|---|---|
| public static final int BITMASK_TRAVERSES_OUTSIDE_SUBTREE If any of these bits are on, the expression may likely traverse outside the given subtree. | |
| BITS_COUNT | back to summary |
|---|---|
| public static final int BITS_COUNT First 8 bits are the number of top-level location steps. Hopefully there will never be more that 255 location steps!!! | |
| BITS_RESERVED | back to summary |
|---|---|
| public static final int BITS_RESERVED 4 bits are reserved for future use. | |
| DEBUG_ITERATOR_CREATION | back to summary |
|---|---|
| pack-priv static final boolean DEBUG_ITERATOR_CREATION Set to true for diagnostics about iterator creation | |
| DEBUG_PATTERN_CREATION | back to summary |
|---|---|
| pack-priv static final boolean DEBUG_PATTERN_CREATION Set to true for diagnostics about walker creation | |
| DEBUG_WALKER_CREATION | back to summary |
|---|---|
| pack-priv static final boolean DEBUG_WALKER_CREATION Set to true for diagnostics about walker creation | |
| WalkerFactory | back to summary |
|---|---|
| public WalkerFactory() | |
| analyze | back to summary |
|---|---|
| private static int analyze(Compiler compiler, int stepOpCodePos, int stepIndex) throws TransformerException Analyze the location path and return 32 bits that give information about the location path as a whole. See the BIT_XXX constants for meaning about each of the bits.
| |
| analyzePredicate | back to summary |
|---|---|
| pack-priv static boolean analyzePredicate(Compiler compiler, int opPos, int stepType) throws TransformerException Analyze a step and give information about it's predicates. Right now this just returns true or false if the step has a predicate.
| |
| canCrissCross | back to summary |
|---|---|
| public static boolean canCrissCross(int analysis) | |
| canSkipSubtrees | back to summary |
|---|---|
| public static boolean canSkipSubtrees(int analysis) | |
| createDefaultStepPattern | back to summary |
|---|---|
| private static StepPattern createDefaultStepPattern(Compiler compiler, int opPos, MatchPatternIterator mpi, int analysis, StepPattern tail, StepPattern head) throws TransformerException Create a StepPattern that is contained within a LocationPath.
| |
| createDefaultWalker | back to summary |
|---|---|
| private static AxesWalker createDefaultWalker(Compiler compiler, int opPos, WalkingIterator lpi, int analysis) Create the proper Walker from the axes type.
| |
| diagnoseIterator | back to summary |
|---|---|
| public static void diagnoseIterator(String name, int analysis, Compiler compiler) | |
| functionProximateOrContainsProximate | back to summary |
|---|---|
| pack-priv static boolean functionProximateOrContainsProximate(Compiler compiler, int opPos) | |
| getAnalysisBitFromAxes | back to summary |
|---|---|
| public static int getAnalysisBitFromAxes(int axis) Get a corresponding BIT_XXX from an axis.
| |
| getAnalysisString | back to summary |
|---|---|
| public static String getAnalysisString(int analysis) | |
| getAxisFromStep | back to summary |
|---|---|
| public static int getAxisFromStep(Compiler compiler, int stepOpCodePos) throws TransformerException Special purpose function to see if we can optimize the pattern for a DescendantIterator.
| |
| getStepCount | back to summary |
|---|---|
| public static int getStepCount(int analysis) | |
| hasPredicate | back to summary |
|---|---|
| public static boolean hasPredicate(int analysis) | |
| isAbsolute | back to summary |
|---|---|
| public static boolean isAbsolute(int analysis) | |
| isDownwardAxisOfMany | back to summary |
|---|---|
| public static boolean isDownwardAxisOfMany(int axis) Tell if the given axis goes downword. Bogus name, if you can think of a better one, please do tell. This really has to do with inverting attribute axis.
| |
| isNaturalDocOrder | back to summary |
|---|---|
| public static boolean isNaturalDocOrder(int analysis) Tell if the pattern can be 'walked' with the iteration steps in natural document order, without duplicates.
| |
| isNaturalDocOrder | back to summary |
|---|---|
| private static boolean isNaturalDocOrder(Compiler compiler, int stepOpCodePos, int stepIndex, int analysis) throws TransformerException Tell if the pattern can be 'walked' with the iteration steps in natural document order, without duplicates.
| |
| isOneStep | back to summary |
|---|---|
| public static boolean isOneStep(int analysis) | |
| isOptimizableForDescendantIterator | back to summary |
|---|---|
| private static boolean isOptimizableForDescendantIterator(Compiler compiler, int stepOpCodePos, int stepIndex) throws TransformerException Special purpose function to see if we can optimize the pattern for a DescendantIterator.
| |
| isProximateInnerExpr | back to summary |
|---|---|
| pack-priv static boolean isProximateInnerExpr(Compiler compiler, int opPos) | |
| isSet | back to summary |
|---|---|
| public static boolean isSet(int analysis, int bits) | |
| isWild | back to summary |
|---|---|
| public static boolean isWild(int analysis) | |
| loadOneWalker | back to summary |
|---|---|
| pack-priv static AxesWalker loadOneWalker(WalkingIterator lpi, Compiler compiler, int stepOpCodePos) throws TransformerException This method is for building an array of possible levels where the target element(s) could be found for a match.
| |
| loadSteps | back to summary |
|---|---|
| pack-priv static StepPattern loadSteps(MatchPatternIterator mpi, Compiler compiler, int stepOpCodePos, int stepIndex) throws TransformerException Read a LocationPath as a generalized match pattern. What this means is that the LocationPath is read backwards, as a test on a given node, to see if it matches the criteria of the selection, and ends up at the context node. Essentially, this is a backwards query from a given node, to find the context node. So, the selection "foo/daz[2]" is, in non-abreviated expanded syntax, "self::node()/following-sibling::foo/child::daz[position()=2]". Taking this as a match pattern for a probable node, it works out to "self::daz/parent::foo[child::daz[position()=2 and isPrevStepNode()] precedingSibling::node()[isContextNodeOfLocationPath()]", adding magic isPrevStepNode and isContextNodeOfLocationPath operations. Predicates in the location path have to be executed by the following step, because they have to know the context of their execution.
| |
| loadWalkers | back to summary |
|---|---|
| pack-priv static AxesWalker loadWalkers(WalkingIterator lpi, Compiler compiler, int stepOpCodePos, int stepIndex) throws TransformerException This method is for building an array of possible levels where the target element(s) could be found for a match.
| |
| mightBeProximate | back to summary |
|---|---|
| public static boolean mightBeProximate(Compiler compiler, int opPos, int stepType) throws TransformerException Tell if the predicates need to have proximity knowledge. | |
| newDTMIterator | back to summary |
|---|---|
| public static DTMIterator newDTMIterator(Compiler compiler, int opPos, boolean isTopLevel) throws TransformerException Create a new LocPathIterator iterator. The exact type of iterator returned is based on an analysis of the XPath operations.
| |
| walksAncestors | back to summary |
|---|---|
| public static boolean walksAncestors(int analysis) | |
| walksAttributes | back to summary |
|---|---|
| public static boolean walksAttributes(int analysis) | |
| walksChildren | back to summary |
|---|---|
| public static boolean walksChildren(int analysis) | |
| walksChildrenAndExtraAndSelfOnly | back to summary |
|---|---|
| public static boolean walksChildrenAndExtraAndSelfOnly(int analysis) | |
| walksChildrenOnly | back to summary |
|---|---|
| public static boolean walksChildrenOnly(int analysis) | |
| walksDescendants | back to summary |
|---|---|
| public static boolean walksDescendants(int analysis) | |
| walksDescendantsAndExtraAndSelfOnly | back to summary |
|---|---|
| public static boolean walksDescendantsAndExtraAndSelfOnly(int analysis) | |
| walksDownExtraOnly | back to summary |
|---|---|
| public static boolean walksDownExtraOnly(int analysis) | |
| walksDownOnly | back to summary |
|---|---|
| public static boolean walksDownOnly(int analysis) | |
| walksExtraNodes | back to summary |
|---|---|
| public static boolean walksExtraNodes(int analysis) | |
| walksExtraNodesOnly | back to summary |
|---|---|
| public static boolean walksExtraNodesOnly(int analysis) | |
| walksFilteredList | back to summary |
|---|---|
| public static boolean walksFilteredList(int analysis) | |
| walksFollowingOnlyMaybeAbsolute | back to summary |
|---|---|
| public static boolean walksFollowingOnlyMaybeAbsolute(int analysis) | |
| walksInDocOrder | back to summary |
|---|---|
| public static boolean walksInDocOrder(int analysis) | |
| walksNamespaces | back to summary |
|---|---|
| public static boolean walksNamespaces(int analysis) | |
| walksSelfOnly | back to summary |
|---|---|
| public static boolean walksSelfOnly(int analysis) | |
| walksSideways | back to summary |
|---|---|
| public static boolean walksSideways(int analysis) | |
| walksSubtree | back to summary |
|---|---|
| public static boolean walksSubtree(int analysis) | |
| walksSubtreeOnly | back to summary |
|---|---|
| public static boolean walksSubtreeOnly(int analysis) | |
| walksSubtreeOnlyFromRootOrContext | back to summary |
|---|---|
| public static boolean walksSubtreeOnlyFromRootOrContext(int analysis) | |
| walksSubtreeOnlyMaybeAbsolute | back to summary |
|---|---|
| public static boolean walksSubtreeOnlyMaybeAbsolute(int analysis) | |
| walksUp | back to summary |
|---|---|
| public static boolean walksUp(int analysis) | |
| walksUpOnly | back to summary |
|---|---|
| public static boolean walksUpOnly(int analysis) | |