# Package net.sf.saxon.expr.parser

This package contains classes associated with parsing and general static analysis of XPath expressions.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  CodeInjector | A code injector can be used to add code to the expression tree (for example, diagnostic tracing code) during the process of parsing and tree construction
  ExpressionTool.ExpressionPredicate |
  ExpressionTool.ExpressionSelector | Callback for selecting expressions in the tree

- Class Summary
  Class | Description
  --- | ---
  ExpressionLocation | Class to hold details of the location of an expression, of an error in a source file, etc.
  ExpressionParser | Parser for XPath expressions and XSLT patterns.
  ExpressionParser.TemporaryContainer | A Container used on a temporary basis to hold an expression while it is being parsed
  ExpressionTool | This class, ExpressionTool, contains a number of useful static methods for manipulating expressions.
  ExpressionVisitor | The ExpressionVisitor supports the various phases of processing of an expression tree which require a recursive walk of the tree structure visiting each node in turn.
  ExpressionVisitor.ContextItemType | A data structure that represents the required type of the context item, together with information about whether it is known to be present or absent or whether it is not known statically whether it is present or absent.
  Optimizer | This class performs optimizations that vary between different versions of the Saxon product.
  PathMap | A PathMap is a description of all the paths followed by an expression.
  PathMap.PathMapArc | An arc joining two nodes in the path map.
  PathMap.PathMapNode | A node in the path map.
  PathMap.PathMapNodeSet | A (mutable) set of nodes in the path map
  PathMap.PathMapRoot | A root node in the path map.
  PromotionOffer | PromotionOffer is an object used transiently during compilation of an expression.
  RoleLocator | A RoleLocator identifies the role in which an expression is used, for example as the third argument of the concat() function.
  Token | This class holds static constants and methods defining the lexical tokens used in XPath and XQuery, and associated keywords.
  Tokenizer | Tokenizer for expressions and inputs.
  TypeChecker | This class provides Saxon's type checking capability.

## Package net.sf.saxon.expr.parser Description

This package contains classes associated with parsing and general static analysis of XPath expressions.

Michael H. Kay
Saxonica Limited
28 November 2011

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.