public class PatternParser30 extends XPathParserPE implements PatternParser
XPathParserPE.InlineFunctionDetails, XPathParserPE.TemporaryXSLTVariableBinding
XPathParser.NestedLocation
allowXPath30Syntax, allowXPath31Syntax, catchDepth, charChecker, codeInjector, env, EXTENDED_ITEM_TYPE, language, languageVersion, qNameParser, rangeVariables, scanOnly, SEQUENCE_TYPE, t, XPATH, XQUERY, XSLT_PATTERN
Constructor and Description |
---|
PatternParser30() |
Modifier and Type | Method and Description |
---|---|
protected void |
customizeTokenizer(Tokenizer t)
Callback to tailor the tokenizer
|
Expression |
makeTracer(int startOffset,
Expression exp,
int construct,
StructuredQName qName)
If tracing, wrap an expression in a trace instruction
|
protected Expression |
parseBasicStep(boolean firstInPattern)
Parse a basic step expression (without the predicates)
|
Expression |
parseExpression()
Override the parsing of top-level expressions
|
Expression |
parseFunctionArgument()
Parse a function argument.
|
Expression |
parseFunctionCall(Expression prefixArgument)
Parse a function call appearing within a pattern.
|
Pattern |
parsePattern(String pattern,
StaticContext env,
int lineNumber)
Parse a string representing an XSLT pattern
|
protected Expression |
parsePredicate()
Parse an expression appearing within a predicate.
|
protected void |
testPermittedAxis(byte axis,
String errorCode) |
curryFunction, findOuterRangeVariable, findRangeVariable, makeCurriedFunction, makeCurriedFunction, parseArrowPostfix, parseArrowPostfix, parseDynamicFunctionCall, parseDynamicFunctionCall, parseFunctionItemType, parseFunctionItemType, parseInlineFunction, parseInlineFunction, parseNamedFunctionReference, parseNamedFunctionReference
atStartOfRelativePath, checkAnnotations, checkLanguageVersion30, checkLanguageVersion31, currentTokenDisplay, declareRangeVariable, disallowedAtStartOfRelativePath, expect, getCodeInjector, getLanguage, getMissingFunctionExplanation, getQNameParser, getRangeVariables, getStaticContext, getTokenizer, grumble, grumble, grumble, grumble, isAllowAbsentExpression, isAllowXPath31Syntax, isKeyword, isNamespaceTestAllowed, isReservedFunctionName30, isReservedFunctionName31, isReservedInQuery, makeLocalNameTest, makeLocation, makeNameCode, makeNamespaceTest, makeNameTest, makeNodeName, makeStringLiteral, makeStructuredQName, makeStructuredQNameSilently, nextToken, normalizeEQName, parse, parseAnnotations, parseAnnotationsList, parseArrayCurlyConstructor, parseArrayItemType, parseArraySquareConstructor, parseBinaryExpression, parseConstructor, parseExprSingle, parseExtendedItemType, parseExtendedSequenceType, parseExtensionExpression, parseFLWORExpression, parseItemType, parseLookup, parseMapExpression, parseMapItemType, parseNodeTest, parseNumericLiteral, parseParenthesizedExpression, parsePathExpression, parseRelativePath, parseRemainingPath, parseSequenceType, parseSequenceType, parseSimpleMappingExpression, parseStepExpression, parseStringLiteral, parseStringTemplate, parseSwitchExpression, parseTryCatchExpression, parseTypeswitchExpression, parseValidateExpression, parseVariableReference, reportMissingFunction, resolveFunctionName, setAllowAbsentExpression, setCatchDepth, setCodeInjector, setLanguage, setLocation, setLocation, setLocation, setQNameParser, setRangeVariables, setRangeVariableStack, setScanOnly, undeclareRangeVariable, unescape, warning, whyDisallowedType
public Pattern parsePattern(String pattern, StaticContext env, int lineNumber) throws XPathException
parsePattern
in interface PatternParser
pattern
- the pattern expressed as a Stringenv
- the static context for the patternlineNumber
- XPathException
- if the pattern contains a syntax errorprotected void customizeTokenizer(Tokenizer t)
customizeTokenizer
in class XPathParser
t
- the Tokenizer to be customizedpublic Expression parseExpression() throws XPathException
parseExpression
in class XPathParser
XPathException
protected Expression parseBasicStep(boolean firstInPattern) throws XPathException
parseBasicStep
in class XPathParser
firstInPattern
- true only if we are parsing the first step in a
RelativePathPattern in the XSLT Pattern syntaxXPathException
- if any error is encounteredprotected void testPermittedAxis(byte axis, String errorCode) throws XPathException
testPermittedAxis
in class XPathParser
XPathException
protected Expression parsePredicate() throws XPathException
parsePredicate
in class XPathParser
XPathException
public Expression parseFunctionCall(Expression prefixArgument) throws XPathException
parseFunctionCall
in class XPathParser
prefixArgument
- XPathException
public Expression parseFunctionArgument() throws XPathException
XPathParserPE
parseFunctionArgument
in class XPathParserPE
XPathException
- if the argument expression does not parse correctlypublic Expression makeTracer(int startOffset, Expression exp, int construct, StructuredQName qName)
XPathParser
makeTracer
in class XPathParser
startOffset
- the position of the expression in the soruceexp
- the expression to be wrappedconstruct
- integer constant identifying the kind of constructqName
- the name of the construct (if applicable)Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.