Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.sdoc
Class SelectionParser

    java.lang.Object
      net.sf.saxon.expr.ExpressionParser
          com.saxonica.sdoc.SelectionParser

public class SelectionParser
extends ExpressionParser

This class parses the two XPath subsets defined in XML Schema for handling the "selector" and "field" attributes of the , , and elements.

Nested Class Summary

Nested classes inherited from class net.sf.saxon.expr.ExpressionParser
`ExpressionParser.ForClause, ExpressionParser.TemporaryContainer`

Field Summary

Fields inherited from class net.sf.saxon.expr.ExpressionParser
`env, language, nameChecker, rangeVariables, scanOnly, SEQUENCE_TYPE, t, XPATH, XQUERY, XSLT_PATTERN`

Constructor Summary
`SelectionParser()`

Method Summary
`static PathSelection` | `makePathSelection(Expression path, boolean failIfInvalid)` Make a PathSelection object from a suitable expression.
`Selection` | `parseSelector(java.lang.String expression, StaticContext env, boolean isField)` Parse a string representing the restricted XPath expression allowed in an XML Schema selector or field attribute
`protected Expression` | `parseStepExpression()` Override the general XPath parsing of a StepExpression to support the simpler kind of Step used in XML Schema selectors

Methods inherited from class net.sf.saxon.expr.ExpressionParser
`currentTokenDisplay, declareRangeVariable, expect, getLanguage, getRangeVariableStack, getTokenizer, grumble, grumble, isKeyword, makeLocalNameTest, makeNameCode, makeNamespaceTest, makeNameTest, makeStringLiteral, makeTracer, nextToken, parse, parseConstructor, parseExpression, parseExprSingle, parseExtensionExpression, parseForExpression, parseMappingExpression, parseNodeTest, parsePattern, parseRelativePath, parseRemainingPath, parseSequenceType, parseSequenceType, parseTypeswitchExpression, parseValidateExpression, setLocation, setLocation, setRangeVariableStack, setScanOnly, undeclareRangeVariable, warning`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SelectionParser

    public SelectionParser()

Method Detail

### parseSelector

    public Selection parseSelector(java.lang.String expression,
                                   StaticContext env,
                                   boolean isField)
                            throws XPathException

  Parse a string representing the restricted XPath expression allowed in an XML Schema selector or field attribute

  Parameters:
    `expression` - the expression expressed as a String
    `env` - the static context for the expression
    `isField` - true if the attribute is a "field" attribute, false if it is a "selector" attribute
  Returns:
    an Expression object representing the result of parsing
  Throws:
    `XPathException` - if the expression contains a syntax error

### makePathSelection

    public static PathSelection makePathSelection(Expression path,
                                                  boolean failIfInvalid)
                                           throws XPathException

  Make a PathSelection object from a suitable expression. This method is public because it is also used by the optimizer for SequentialCopy expressions.

  Parameters:
    `path` - the input expression
    `failIfInvalid` - if true, the method will throw an exception if the expression is unsuitable. If false, it will return null if the expression is unsuitable.
  Returns:
    The PathSelection object, or null if the expression is unsuitable for use as a PathSelection and the failIfInvalid argument was set to false.
  Throws:
    `XPathException` - if the expression is unsuitable for use as a PathSelection and the failIfInvalid argument was set to true.

### parseStepExpression

    protected Expression parseStepExpression()
                                      throws StaticError

  Override the general XPath parsing of a StepExpression to support the simpler kind of Step used in XML Schema selectors

  Overrides:
    `parseStepExpression` in class `ExpressionParser`
  Returns:
    an Expression, which will always be either an AxisExpression or a ContextItemExpression
  Throws:
    `StaticError`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD