public class PatternParser20 extends ExpressionParser implements PatternParser
ExpressionParser.TemporaryContainer
allowXPath30Syntax, catchDepth, codeInjector, defaultContainer, env, language, languageVersion, nameChecker, rangeVariables, scanOnly, SEQUENCE_TYPE, t, XPATH, XQUERY, XSLT_PATTERN
Constructor and Description |
---|
PatternParser20() |
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 an argument to a function call.
|
protected Expression |
parseFunctionCall()
Parse a function call appearing within a pattern.
|
Pattern |
parsePattern(String pattern,
StaticContext env)
Parse a string representing an XSLT pattern
|
protected Expression |
parsePredicate()
Parse an expression appearing within a predicate.
|
protected Expression |
parseTypePattern()
Parse a type pattern of the form "~ ItemType" (introduced in XSLT 3.0)
|
protected void |
testPermittedAxis(byte axis) |
atStartOfRelativePath, currentTokenDisplay, declareRangeVariable, disallowedAtStartOfRelativePath, expect, findRangeVariable, getCodeInjector, getDefaultContainer, getLanguage, getNameChecker, getRangeVariables, getStaticContext, getTokenizer, grumble, grumble, grumble, grumble, isKeyword, isNamespaceTestAllowed, isReservedInQuery, makeCurriedFunction, makeLocalNameTest, makeNameCode, makeNamespaceTest, makeNameTest, makeNodeName, makeStringLiteral, makeStructuredQName, makeStructuredQNameSilently, nextToken, normalizeEQName, parse, parseAnnotations, parseBinaryExpression, parseConstructor, parseDynamicFunctionCall, parseExprSingle, parseExtensionExpression, parseFLWORExpression, parseFunctionItemType, parseInlineFunction, parseItemType, parseLiteralFunctionItem, parseMapExpression, parseMapItemType, parseNodeTest, parseNumericLiteral, parseParenthesizedItemType, parsePathExpression, parseRelativePath, parseRemainingPath, parseSequenceType, parseSequenceType, parseSimpleMappingExpression, parseStepExpression, parseStringLiteral, parseSwitchExpression, parseTryCatchExpression, parseTypeswitchExpression, parseValidateExpression, parseVariableReference, reportMissingFunction, resolveFunctionName, setCodeInjector, setDefaultContainer, setLanguage, setLocation, setLocation, setLocation, setRangeVariables, setRangeVariableStack, setScanOnly, undeclareRangeVariable, warning
public Pattern parsePattern(String pattern, StaticContext env) throws XPathException
parsePattern
in interface PatternParser
pattern
- the pattern expressed as a Stringenv
- the static context for the patternXPathException
- if the pattern contains a syntax errorprotected void customizeTokenizer(Tokenizer t)
customizeTokenizer
in class ExpressionParser
t
- the Tokenizer to be customizedpublic Expression parseExpression() throws XPathException
parseExpression
in class ExpressionParser
XPathException
protected Expression parseBasicStep(boolean firstInPattern) throws XPathException
parseBasicStep
in class ExpressionParser
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) throws XPathException
testPermittedAxis
in class ExpressionParser
XPathException
protected Expression parseTypePattern() throws XPathException
parseTypePattern
in class ExpressionParser
XPathException
- if any error is found, for example if XSLT 3.0 is not enabledprotected Expression parsePredicate() throws XPathException
parsePredicate
in class ExpressionParser
XPathException
protected Expression parseFunctionCall() throws XPathException
parseFunctionCall
in class ExpressionParser
XPathException
public Expression parseFunctionArgument() throws XPathException
ExpressionParser
parseFunctionArgument
in class ExpressionParser
XPathException
- if the argument expression does not parse correctlypublic Expression makeTracer(int startOffset, Expression exp, int construct, StructuredQName qName)
ExpressionParser
makeTracer
in class ExpressionParser
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-2013 Saxonica Limited. All rights reserved.