16 #if !defined(XPATHPROCESSORIMPL_HEADER_GUARD_1357924680)
17 #define XPATHPROCESSORIMPL_HEADER_GUARD_1357924680
52 XALAN_CPP_NAMESPACE_BEGIN
90 bool allowVariableReferences =
true,
91 bool allowKeyFunction =
true);
100 bool allowVariableReferences =
true,
101 bool allowKeyFunction =
true);
118 replaceTokenWithNamespaceToken()
const;
145 tokenIs(
const XalanDOMChar* s)
const;
153 tokenIs(XalanDOMChar c)
const;
176 const XalanDOMChar* s,
217 lookbehindHasToken(
int n)
const;
231 getTokenRelative(
int theOffset)
const;
245 consumeExpected(XalanDOMChar expected);
248 isCurrentLiteral()
const;
278 error(XalanMessages::Codes theCode)
const;
282 XalanMessages::Codes theCode,
287 XalanMessages::Codes theCode,
288 const XalanDOMChar* theToken)
const;
292 XalanMessages::Codes theCode,
293 XalanDOMChar theToken1,
302 return searchTable(s_functionTable, s_functionTableSize, key).m_opCode;
311 return searchTable(s_nodeTypeTable, s_nodeTypeTableSize, key).m_opCode;
320 return searchTable(s_axisTable, s_axisTableSize, key).m_opCode;
363 EqualityExpr(
int opCodePos = -1);
378 RelationalExpr(
int opCodePos = -1);
391 AdditiveExpr(
int opCodePos = -1);
406 MultiplicativeExpr(
int opCodePos = -1);
511 FunctionName(
int opPos);
514 FunctionLocalName(
int opPos);
517 FunctionNumber(
int opPos);
532 FunctionStringLength(
int opPos);
557 RelativeLocationPath();
660 LocationPathPattern();
680 RelativePathPattern();
696 AbbreviatedNodeTestStep();
704 FunctionCallArguments();
708 const XalanDOMChar* m_string;
713 #if defined(XALAN_STRICT_ANSI_HEADERS)
719 static const TableEntry&
721 const TableEntry theTable[],
735 XalanDOMChar m_tokenChar;
757 bool m_requireLiterals;
759 bool m_isMatchPattern;
763 BoolVectorType m_positionPredicateStack;
765 StringToStringMapType m_namespaces;
767 bool m_allowVariableReferences;
769 bool m_allowKeyFunction;
774 static const XalanDOMChar s_functionIDString[];
778 static const XalanDOMChar s_functionKeyString[];
780 static const XalanDOMChar s_orString[];
782 static const XalanDOMChar s_andString[];
784 static const XalanDOMChar s_divString[];
786 static const XalanDOMChar s_modString[];
788 static const XalanDOMChar s_dotString[];
790 static const XalanDOMChar s_dotDotString[];
792 static const XalanDOMChar s_axisString[];
794 static const XalanDOMChar s_attributeString[];
796 static const XalanDOMChar s_childString[];
798 static const XalanDOMChar s_lastString[];
800 static const XalanDOMChar s_positionString[];
802 static const XalanDOMChar s_asteriskString[];
804 static const XalanDOMChar s_commentString[];
806 static const XalanDOMChar s_piString[];
808 static const XalanDOMChar s_nodeString[];
810 static const XalanDOMChar s_textString[];
812 static const XalanDOMChar s_ancestorString[];
814 static const XalanDOMChar s_ancestorOrSelfString[];
816 static const XalanDOMChar s_descendantString[];
818 static const XalanDOMChar s_descendantOrSelfString[];
820 static const XalanDOMChar s_followingString[];
822 static const XalanDOMChar s_followingSiblingString[];
824 static const XalanDOMChar s_parentString[];
826 static const XalanDOMChar s_precedingString[];
828 static const XalanDOMChar s_precedingSiblingString[];
830 static const XalanDOMChar s_selfString[];
832 static const XalanDOMChar s_namespaceString[];
834 static const TableEntry s_functionTable[];
836 static const size_type s_functionTableSize;
838 static const TableEntry s_nodeTypeTable[];
840 static const size_type s_nodeTypeTableSize;
842 static const TableEntry s_axisTable[];
846 static const TableEntry s_dummyEntry;
851 XALAN_CPP_NAMESPACE_END
855 #endif // XPATHPROCESSORIMPL_HEADER_GUARD_1357924680
XalanMap< XalanDOMString, const XalanDOMString * > StringToStringMapType
Definition: XPathProcessorImpl.hpp:69
Definition: XalanNode.hpp:44
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
Definition: XPathConstructionContext.hpp:54
The XPathProcessorImpl class responsibilities include tokenizing and parsing the XPath expression...
Definition: XPathProcessorImpl.hpp:64
virtual void initMatchPattern(XPath &pathObj, XPathConstructionContext &constructionContext, const XalanDOMString &expression, const PrefixResolver &resolver, const LocatorType *locator=0, bool allowVariableReferences=true, bool allowKeyFunction=true)=0
Given a string, create an XSLT Match Pattern object.
XalanVector< bool > BoolVectorType
Definition: XPathProcessorImpl.hpp:71
Definition: XPathExpression.hpp:60
#define XALAN_DEFAULT_MEMMGR
Definition: XalanMemoryManagement.hpp:402
XPath implementation of "string" function.
Definition: FunctionString.hpp:46
XALAN_CPP_NAMESPACE_BEGIN typedef size_t size_type
Definition: XalanMap.hpp:44
XPath implementation of "namespace-uri" function.
Definition: FunctionNamespaceURI.hpp:46
This class defines an interface for classes that resolve namespace prefixes to their URIs...
Definition: PrefixResolver.hpp:37
eOpCodes
List of operations codes.
Definition: XPathExpression.hpp:106
virtual void initXPath(XPath &pathObj, XPathConstructionContext &constructionContext, const XalanDOMString &expression, const PrefixResolver &resolver, const LocatorType *locator=0, bool allowVariableReferences=true, bool allowKeyFunction=true)=0
Given a string, make an XPath object, in order that a parse doesn't have to be done each time the exp...
Definition: XPathProcessor.hpp:47
Definition: XalanDOMString.hpp:42
Xalan implementation of a hashtable.
Definition: XalanMap.hpp:182
#define XALAN_XPATH_EXPORT
Definition: XPathDefinitions.hpp:33