 |
Xalan-C++ API Reference
1.12.0
|
Go to the documentation of this file.
18 #if !defined(XPATH_HEADER_GUARD_1357924680)
19 #define XPATH_HEADER_GUARD_1357924680
48 namespace XERCES_CPP_NAMESPACE
63 class XPathConstructionContext;
81 static const XalanDOMChar PSEUDONAME_ANY[];
82 static const XalanDOMChar PSEUDONAME_ROOT[];
83 static const XalanDOMChar PSEUDONAME_TEXT[];
84 static const XalanDOMChar PSEUDONAME_COMMENT[];
85 static const XalanDOMChar PSEUDONAME_PI[];
86 static const XalanDOMChar PSEUDONAME_OTHER[];
87 static const XalanDOMChar PSEUDONAME_NODE[];
106 m_priority(eMatchScoreNone),
112 const XalanDOMChar* theString,
116 m_priority(thePriority),
117 m_targetType(theTargetType)
141 const XalanDOMChar* m_string;
145 eTargetType m_targetType;
169 MemoryManager& theManager,
170 const Locator* theLocator = 0);
174 MemoryManager& theManager,
175 const Locator* theLocator = 0);
180 return m_expression.getMemoryManager();
191 m_expression.shrink();
236 double& result)
const;
271 MemberFunctionPtr
function)
const;
320 return execute(context, prefixResolver, executionContext);
345 execute(context, prefixResolver, executionContext, result);
363 double& result)
const
370 execute(context, prefixResolver, executionContext, result);
396 execute(context, prefixResolver, executionContext, result);
416 MemberFunctionPtr
function)
const
423 execute(context, prefixResolver, executionContext, formatterListener,
function);
459 return execute(context, prefixResolver, executionContext, result);
479 getInitialOpCodePosition(),
502 getInitialOpCodePosition(),
519 double& result)
const
526 getInitialOpCodePosition(),
551 getInitialOpCodePosition(),
570 MemberFunctionPtr
function)
const
577 getInitialOpCodePosition(),
613 getInitialOpCodePosition(),
642 getInitialOpCodePosition(),
671 getInitialOpCodePosition(),
690 double& result)
const
701 getInitialOpCodePosition(),
732 getInitialOpCodePosition(),
750 MemberFunctionPtr
function)
const
761 getInitialOpCodePosition(),
803 getInitialOpCodePosition(),
835 case eMatchScoreNone:
836 return DoubleSupport::getNegativeInfinity();
839 case eMatchScoreNodeTest:
843 case eMatchScoreNSWild:
847 case eMatchScoreOther:
851 case eMatchScoreQName:
900 return executeMore(context, opPos + 2, executionContext);
922 s_functions.InstallFunction(funcName,
934 const XalanDOMChar* funcName,
937 s_functions.InstallFunction(funcName,
950 return s_functions.UninstallFunction(funcName);
962 return s_functions.UninstallFunction(funcName);
974 return s_functions.isInstalledFunction(theFunctionName);
995 template<
class OutputIteratorType>
999 s_functions.getInstalledFunctionNames(theIterator);
1005 s_functions.DestroyTable();
1011 return m_inStylesheet;
1017 m_inStylesheet = fValue;
1029 m_locator = theLocator;
1051 const Locator* theLocator = 0,
1066 return (this->*m_testFunction)(context, nodeType);
1072 return (this->*m_testFunction2)(context);
1078 m_executionContext = theRHS.m_executionContext;
1079 m_targetNamespace = theRHS.m_targetNamespace;
1080 m_targetLocalName = theRHS.m_targetLocalName;
1081 m_testFunction = theRHS.m_testFunction;
1082 m_testFunction2 = theRHS.m_testFunction2;
1094 const Locator* theLocator);
1139 testAttributeNCName(
1149 testAttributeNamespaceOnly(
1154 testAttributeTotallyWild(
1169 testElementNamespaceOnly(
1174 testElementTotallyWild(
1185 testElementNamespaceOnly2(
const XalanElement& context)
const;
1188 testElementTotallyWild2(
const XalanElement& context)
const;
1191 testNamespaceNCName(
1196 testNamespaceTotallyWild(
1209 matchLocalName(
const XalanNode& context)
const;
1212 matchNamespaceURI(
const XalanNode& context)
const;
1215 matchLocalNameAndNamespaceURI(
const XalanNode& context)
const;
1218 matchNamespace(
const XalanNode& context)
const;
1221 shouldStripSourceNode(
const XalanText& context)
const;
1230 TestFunctionPtr m_testFunction;
1232 TestFunctionPtr2 m_testFunction2;
1266 bool& theResult)
const;
1281 double& theResult)
const;
1313 MemberFunctionPtr
function)
const;
1330 step(executionContext, context, opPos + 2, theResult);
1360 bool& theResult)
const;
1375 double& theResult)
const;
1408 MemberFunctionPtr
function)
const;
1569 MemberFunctionPtr
function)
const;
1598 MemberFunctionPtr
function)
const;
1627 MemberFunctionPtr
function)
const;
1656 MemberFunctionPtr
function)
const;
1685 MemberFunctionPtr
function)
const;
1714 MemberFunctionPtr
function)
const;
1742 bool& result)
const;
1757 double& result)
const;
1789 MemberFunctionPtr
function)
const;
1825 bool& theResult)
const;
1836 double& theResult)
const;
1860 MemberFunctionPtr
function)
const;
1886 return executeMore(context, opPos + 2, executionContext);
1901 bool& theResult)
const
1903 executeMore(context, opPos + 2, executionContext, theResult);
1918 double& theResult)
const
1920 executeMore(context, opPos + 2, executionContext, theResult);
1937 executeMore(context, opPos + 2, executionContext, theResult);
1955 MemberFunctionPtr
function)
const
1985 if (theValue.
null() ==
false)
2022 bool& theResult)
const;
2047 MemberFunctionPtr
function)
const;
2115 return s_functions[funcID].execute(executionContext, context, argVec, m_locator);
2130 assert(context != 0);
2134 assert(
static_cast<double>(theResult) == theResult);
2136 return static_cast<double>(theResult);
2150 assert(
static_cast<double>(theResult) == theResult);
2152 return static_cast<double>(theResult);
2183 assert(context != 0);
2185 return !functionBoolean(context, opPos, executionContext);
2202 assert(context != 0);
2206 executeMore(context, opPos + 2, executionContext, result);
2220 assert(context != 0);
2222 return DOMServices::getNameOfNode(*context);
2274 assert(context != 0);
2276 return XObject::number(executionContext, *context);
2295 executeMore(context, opPos + 2, executionContext, result);
2314 return DoubleSupport::floor(functionNumber(context, opPos, executionContext));
2331 return DoubleSupport::ceiling(functionNumber(context, opPos, executionContext));
2348 return DoubleSupport::round(functionNumber(context, opPos, executionContext));
2410 operator=(
const XPath&);
2418 eDefaultTargetDataSize = 5
2421 OpCodeMapPositionType
2422 getInitialOpCodePosition()
const
2424 #if defined(XALAN_XPATH_EXPRESSION_USE_ITERATORS)
2425 assert(m_expression.getOpCodeMapValue(0) == XPathExpression::eOP_XPATH);
2427 assert(m_expression.getOpCodeMapValue(
2428 m_expression.getInitialOpCodePosition()) == XPathExpression::eOP_XPATH);
2430 return m_expression.getInitialOpCodePosition() + 2;
2434 locationPathPattern(
2435 XPathExecutionContext& executionContext,
2437 OpCodeMapPositionType opPos)
const;
2654 const Locator* m_locator;
2661 bool m_inStylesheet;
2679 #endif // XPATH_HEADER_GUARD_1357924680
const XObjectPtr execute(XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext) const
Execute the XPath from the provided context.
void Union(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
Computes the union of its operands which must be node-sets.
void executeMore(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &theResult) const
Execute the XPath from the provided context.
XPathExpression::TokenQueuePositionType TokenQueuePositionType
OpCodeMapPositionType findNodesOnUnknownAxis(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
eMatchScore initialize(const XalanDOMString &theNamespaceURI, const XalanDOMString &theLocalName)
XPathExpression & getExpression()
Retrieve a reference to the current expression.
eMatchScore initialize(XPathConstructionContext &theConstructionContext, const XalanDOMString &theNameTest, const PrefixResolver &thePrefixResolver, const Locator *theLocator)
OpCodeMapPositionType findPreceedingSiblings(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
const XObjectPtr runExtFunction(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Setup for and run an extension function.
void execute(const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, double &result) const
Execute the XPath from the provided context.
double functionNumber(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "number".
bool gt(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Tell if one argument is greater than the other argument.
const XPathExpression & getExpression() const
Retrieve a reference to the current expression.
bool Or(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
OR two expressions and return the boolean result.
void execute(XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Execute the XPath from the provided context.
void group(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &theResult) const
Execute an expression as a group.
void Union(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &result) const
Computes the union of its operands which must be node-sets.
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
virtual size_type getContextNodeListPosition(const XalanNode &contextNode) const =0
const XObjectPtr group(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Execute an expression as a group.
void locationPath(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &theResult) const
Execute a location path.
void execute(const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, bool &result) const
Execute the XPath from the provided context.
OpCodeMapPositionType findAncestors(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
eMatchScore operator()(const XalanElement &context) const
void neg(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Return the negation of a number.
bool And(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
OR two expressions and return the boolean result.
void execute(XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Execute the XPath from the provided context.
static void initialize(MemoryManager &theManager)
Perform static initialization.
void locationPath(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &theResult) const
Execute a location path.
bool functionBoolean(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "boolean".
double mod(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Return the remainder from a truncating division.
eMatchScore getMatchScore(XalanNode *node, const PrefixResolver &resolver, XPathExecutionContext &executionContext) const
Get the match score for the specified node.
void Union(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &result) const
Computes the union of its operands which must be node-sets.
double getNumericOperand(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Get a numeric operand for an expression.
static void installFunction(const XalanDOMChar *funcName, const Function &func)
Install a built-in function.
const XObjectPtr literal(OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Get a literal value.
void setInStylesheet(bool fValue)
void div(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Divide a number.
void setDocumentOrder()
Set the known order of the nodes.
const XalanDOMString & functionLocalName(XalanNode *context) const
Handle the built-in function "local-name".
double functionPosition(XalanNode *context, XPathExecutionContext &executionContext) const
Handle the built-in function "position".
bool lt(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Tell if one argument is less than the other argument.
const XalanDOMChar * getString() const
void mult(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Multiply two arguments.
Local implementation of MutableNodeRefList.
static bool isInstalledFunction(const XalanDOMString &theFunctionName)
Whether the named function is installed in the function table.
void addNodesInDocOrder(const XalanNodeList &nodelist, XPathExecutionContext &executionContext)
Copy NodeList members into this nodelist, adding in document order.
double neg(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Return the negation of a number.
void locationPath(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &theResult) const
Execute a location path.
void minus(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Give the difference of two arguments.
void plus(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Give the sum of two arguments.
OpCodeMapPositionType findFollowing(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
static void destroyTable()
void numberlit(OpCodeMapPositionType opPos, FormatterListener &formatterListener, MemberFunctionPtr function) const
Get a literal value.
static const FunctionTableType & getFunctionTable()
Retrieve the table of installed functions.
bool gte(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Tell if one argument is greater than or equal to the other argument.
void execute(const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Execute the XPath from the provided context.
const XObjectPtr execute(XPathExecutionContext &executionContext) const
Execute the XPath from the provided context.
virtual XalanNode * getCurrentNode() const =0
Retrieve the node currently being executed.
OpCodeMapPositionType findFollowingSiblings(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
MemoryManager & getMemoryManager()
OpCodeMapPositionType findAncestorsOrSelf(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
const Locator * getLocator() const
void execute(XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, XalanDOMString &result) const
Execute the XPath from the provided context.
static double getMatchScoreValue(eMatchScore score)
const XObjectPtr numberlit(OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Get a literal value.
void execute(XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, XalanDOMString &result) const
Execute the XPath from the provided context.
double functionNumber(XalanNode *context, XPathExecutionContext &executionContext) const
Handle the built-in function "number".
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
OpCodeMapPositionType findRoot(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
double mult(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Multiply two arguments.
XPathExecutionContext::GetCachedString GetCachedString
void Union(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &result) const
Computes the union of its operands which must be node-sets.
#define XALAN_XPATH_EXPORT
OpCodeMapPositionType findDescendants(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
xercesc::Locator LocatorType
Class to hold XObjectPtr return types.
void getTargetData(TargetDataVectorType &targetData) const
Add the data for the target of match pattern to a vector.
NodeTester(const NodeTester &theSource)
const XalanDOMString & functionName(XalanNode *context) const
Handle the built-in function "name".
double plus(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Give the sum of two arguments.
const XalanDOMString & functionLocalName(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "local-name".
double functionSum(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "sum".
eMatchScore handleFoundIndexPositional(XPathExecutionContext &executionContext, XalanNode *localContext, OpCodeMapPositionType startOpPos) const
void literal(OpCodeMapPositionType opPos, FormatterListener &formatterListener, MemberFunctionPtr function) const
Get a literal value.
void execute(XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, double &result) const
Execute the XPath from the provided context.
eMatchScore getMatchScore(XalanNode *node, XPathExecutionContext &executionContext) const
Get the match score for the specified node.
double functionCeiling(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "ceiling".
OpCodeMapPositionType findNamespace(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
NodeTester(const XPath &xpath, XPathExecutionContext &executionContext, OpCodeMapPositionType opPos, OpCodeMapValueType argLen, OpCodeMapValueType stepType)
virtual NodeType getNodeType() const =0
An enum value representing the type of the underlying object.
const XObjectPtr variable(OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Get the value of a variable.
XPathExecutionContext::PrefixResolverSetAndRestore PrefixResolverSetAndRestore
void literal(OpCodeMapPositionType opPos, bool &theResult) const
Get a literal value as a boolean.
void locationPath(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Execute a location path.
void shrink()
Shrink internal tables.
OpCodeMapPositionType findPreceeding(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
const XObjectPtr Union(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Computes the union of its operands which must be node-sets.
static void terminate()
Perform static shut down.
virtual const PrefixResolver * getPrefixResolver() const =0
Retrieve the resolver for namespaces.
OpCodeMapPositionType findChildren(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
double div(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Divide a number.
static bool uninstallFunction(const XalanDOMString &funcName)
Remove a named function from the function table.
double functionStringLength(XalanNode *context, XPathExecutionContext &executionContext) const
Handle the built-in function "string-length".
NodeTester(const XalanDOMString &theNamespaceURI, const XalanDOMString &theLocalName, eMatchScore *theMatchScore=0)
virtual const NodeRefListBase & nodeset() const
Cast result object to a nodelist.
double functionCount(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "count".
void execute(XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, bool &result) const
Execute the XPath from the provided context.
Class defines a table of functions that can be called in XPath expresions.
void group(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &theResult) const
Execute an expression as a group.
double numberlit(OpCodeMapPositionType opPos) const
Get a literal value.
const XObjectPtr execute(XPathExecutionContext &executionContext, MutableNodeRefList &result) const
Execute the XPath from the provided context.
NodeRefListBase::size_type size_type
void executeMore(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, XalanDOMString &theResult) const
Execute the XPath from the provided context.
void execute(XPathExecutionContext &executionContext, double &result) const
Execute the XPath from the provided context.
eMatchScore doStepPredicate(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapPositionType startOpPos, eMatchScore score) const
Potentially evaluate a predicate in a match pattern step.
void Union(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Computes the union of its operands which must be node-sets.
XPathFunctionTable FunctionTableType
XPathExpression::OpCodeMapPositionType OpCodeMapPositionType
void execute(XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, double &result) const
Execute the XPath from the provided context.
virtual size_type getContextNodeListLength() const =0
eMatchScore operator()(const XalanNode &context, XalanNode::NodeType nodeType) const
void numberlit(OpCodeMapPositionType opPos, XalanDOMString &theResult) const
Get a literal value.
void executeMore(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, bool &theResult) const
Execute the XPath from the provided context.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
NodeTester(XPathConstructionContext &theContext, const XalanDOMString &theNameTest, const PrefixResolver &thePrefixResolver, const Locator *theLocator=0, eMatchScore *theMatchScore=0)
void numberlit(OpCodeMapPositionType opPos, bool &theResult) const
Get a literal value as a boolean.
void literal(OpCodeMapPositionType opPos, XalanDOMString &theResult) const
Get a literal value.
const XObjectPtr runFunction(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Setup for and run a function.
XPathExpression::OpCodeMapValueType OpCodeMapValueType
static bool uninstallFunction(const XalanDOMChar *funcName)
Remove a named function from the function table.
const XalanDOMString & functionName(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "name".
const XObjectPtr execute(XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
Execute the XPath from the provided context.
XalanNode * stepPattern(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, eMatchScore &scoreHolder) const
Execute a step in a match pattern's location path.
eMatchScore handleFoundIndex(XPathExecutionContext &executionContext, XalanNode *localContext, OpCodeMapPositionType startOpPos) const
void locationPath(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &theResult) const
Execute a location path.
double functionRound(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "round".
const XObjectPtr predicate(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Evaluate a predicate.
double functionStringLength(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "string-length".
void doGetMatchScore(XalanNode *context, XPathExecutionContext &executionContext, eMatchScore &score) const
Helper function to get match score.
OpCodeMapPositionType findSelf(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
bool lte(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Tell if one argument is less than or equal to the other argument.
void mod(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Return the remainder from a truncating division.
XalanVector< TargetData > TargetDataVectorType
void execute(XPathExecutionContext &executionContext, bool &result) const
Execute the XPath from the provided context.
double functionFloor(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "floor".
void setLocator(const Locator *theLocator)
void execute(XalanNode *context, const PrefixResolver &prefixResolver, const NodeRefListBase &contextNodeList, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Execute the XPath from the provided context.
OpCodeMapType::value_type OpCodeMapValueType
const XObjectPtr execute(XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
Execute the XPath from the provided context.
const XObjectPtr execute(XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext) const
Execute the XPath from the provided context.
void execute(XPathExecutionContext &executionContext, XalanDOMString &result) const
Execute the XPath from the provided context.
void execute(const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, XalanDOMString &result) const
Execute the XPath from the provided context.
void literal(OpCodeMapPositionType opPos, double &theResult) const
Get a literal value as a number.
bool getInStylesheet() const
XObjectPtr execute(const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, MutableNodeRefList &result) const
Execute the XPath from the provided context.
bool notequals(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Tell if two expressions are functionally not equal.
OpCodeMapPositionType findNodeSet(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
Local implementation of NodeRefList.
OpCodeMapPositionType predicates(XPathExecutionContext &executionContext, OpCodeMapPositionType opPos, MutableNodeRefList &subQueryResults) const
XPath(MemoryManager &theManager, const Locator *theLocator=0)
Construct an XPath.
double minus(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Give the difference of two arguments.
virtual const XObjectPtr extFunction(const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator)=0
Handle an extension function.
const XObjectPtr extfunction(XalanNode *context, OpCodeMapPositionType, const XalanDOMString &theNamespace, const XalanDOMString &functionName, const Function::XObjectArgVectorType &argVec, XPathExecutionContext &executionContext) const
Handle an extension function.
const XObjectPtr executeMore(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Execute the XPath from the provided context.
void execute(XalanNode *context, const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext, bool &result) const
Execute the XPath from the provided context.
static void getInstalledFunctionNames(OutputIteratorType theIterator)
Add the names for the installed functions to a vector strings.
TokenQueueSizeType TokenQueuePositionType
OpCodeMapPositionType findAttributes(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
OpCodeMapType::const_iterator OpCodeMapPositionType
static XPath * create(MemoryManager &theManager, const Locator *theLocator=0)
void executeMore(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Execute the XPath from the provided context.
static void installFunction(const XalanDOMString &funcName, const Function &func)
Install a built-in function.
eTargetType getTargetType() const
NodeTester & operator=(const NodeTester &theRHS)
bool functionNot(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Handle the built-in function "not".
const XObjectPtr executeMore(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &theResult) const
Execute the XPath from the provided context.
OpCodeMapPositionType findParent(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, OpCodeMapValueType stepType, MutableNodeRefList &subQueryResults) const
const XObjectPtr execute(const PrefixResolver &prefixResolver, XPathExecutionContext &executionContext) const
Execute the XPath from the provided context.
void group(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, FormatterListener &formatterListener, MemberFunctionPtr function) const
Execute an expression as a group.
void group(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, MutableNodeRefList &theResult) const
Execute an expression as a group.
void group(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext, double &theResult) const
Execute an expression as a group.
eMatchScore getDefaultPriority() const
TargetData(const XalanDOMChar *theString, eMatchScore thePriority, eTargetType theTargetType)
void step(XPathExecutionContext &executionContext, XalanNode *context, OpCodeMapPositionType opPos, MutableNodeRefList &queryResults) const
Execute a step in a location path.
double functionLast(XPathExecutionContext &executionContext) const
Handle the built-in function "last".
const XObjectPtr locationPath(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Execute a location path.
bool equals(XalanNode *context, OpCodeMapPositionType opPos, XPathExecutionContext &executionContext) const
Tell if two expressions are functionally equal.
XPathExecutionContext::CurrentNodePushAndPop CurrentNodePushAndPop