Class ParserExtension

java.lang.Object
net.sf.saxon.expr.parser.ParserExtension

public class ParserExtension extends Object
Dummy Parser extension for syntax in XPath that is accepted only in particular product variants. Originally, this meant XPath 3.0 syntax associated with higher-order functions. It now covers Saxon syntax extensions and XQuery Update.
  • Constructor Details

    • ParserExtension

      public ParserExtension()
  • Method Details

    • needExtension

      public void needExtension(XPathParser p, String what) throws XPathException
      Throws:
      XPathException
    • handleExternalFunctionDeclaration

      public void handleExternalFunctionDeclaration(XQueryParser p, XQueryFunction func) throws XPathException
      Throws:
      XPathException
    • parseExtendedItemType

      public ItemType parseExtendedItemType(XPathParser p) throws XPathException
      Parse an ItemType within a SequenceType
      Parameters:
      p - the XPath parser
      Returns:
      the ItemType after parsing
      Throws:
      XPathException - if a static error is found
    • parseTypePattern

      public Expression parseTypePattern(XPathParser p) throws XPathException
      Parse an extended XSLT pattern in the form ~itemType (predicate)*
      Parameters:
      p - the XPath parser
      Returns:
      the equivalent expression in the form .[. instance of type] (predicate)*
      Throws:
      XPathException - if a static error is found
    • parseItemTypeDeclaration

      public void parseItemTypeDeclaration(XQueryParser p) throws XPathException
      Parse a type alias declaration. Allowed only in Saxon-PE and higher
      Parameters:
      p - the XPath parser
      Throws:
      XPathException - if parsing fails
    • parseRevalidationDeclaration

      public void parseRevalidationDeclaration(XQueryParser p) throws XPathException
      Parse the "declare revalidation" declaration. Syntax: not allowed unless XQuery update is in use
      Parameters:
      p - the XPath parser
      Throws:
      XPathException - if the syntax is incorrect, or is not allowed in this XQuery processor
    • parseUpdatingFunctionDeclaration

      public void parseUpdatingFunctionDeclaration(XQueryParser p) throws XPathException
      Parse an updating function declaration (allowed in XQuery Update only)
      Parameters:
      p - the XPath parser
      Throws:
      XPathException - if parsing fails PathMapor if updating functions are not allowed
    • parseExtendedExprSingle

      protected Expression parseExtendedExprSingle(XPathParser p) throws XPathException
      Throws:
      XPathException