org.apache.xpath.compiler

Class Compiler

public class Compiler extends OpMap

An instance of this class compiles an XPath string expression into a Expression object. This class compiles the string into a sequence of operation codes (op map) and then builds from that into an Expression tree.

UNKNOWN: advanced

Constructor Summary
Compiler(ErrorListener errorHandler, SourceLocator locator, FunctionTable fTable)
Construct a Compiler object with a specific ErrorListener and SourceLocator where the expression is located.
Compiler()
Construct a Compiler instance that has a null error listener and a null source locator.
Method Summary
voidassertion(boolean b, String msg)
Tell the user of an assertion error, and probably throw an exception.
Expressioncompile(int opPos)
Execute the XPath object from a given opcode position.
intcountPredicates(int opPos)
Count the number of predicates in the step.
voiderror(String msg, Object[] args)
Tell the user of an error, and probably throw an exception.
Expression[]getCompiledPredicates(int opPos)
Compile a zero or more predicates for a given match pattern.
intgetLocationPathDepth()
Get the level of the location path or union being constructed.
PrefixResolvergetNamespaceContext()
Get the current namespace context for the xpath.
intgetWhatToShow(int opPos)
Get a {@link org.w3c.dom.traversal.NodeFilter} bit set that tells what to show for a given node test.
ExpressionlocationPath(int opPos)
Compile a location path.
ExpressionlocationPathPattern(int opPos)
Compile a location match pattern unit expression.
Expressionpredicate(int opPos)
Compile a location step predicate expression.
voidsetNamespaceContext(PrefixResolver pr)
Set the current namespace context for the xpath.
voidwarn(String msg, Object[] args)
Warn the user of an problem.

Constructor Detail

Compiler

public Compiler(ErrorListener errorHandler, SourceLocator locator, FunctionTable fTable)
Construct a Compiler object with a specific ErrorListener and SourceLocator where the expression is located.

Parameters: errorHandler Error listener where messages will be sent, or null if messages should be sent to System err. locator The location object where the expression lives, which may be null, but which, if not null, must be valid over the long haul, in other words, it will not be cloned. fTable The FunctionTable object where the xpath build-in functions are stored.

Compiler

public Compiler()
Construct a Compiler instance that has a null error listener and a null source locator.

Method Detail

assertion

public void assertion(boolean b, String msg)
Tell the user of an assertion error, and probably throw an exception.

Parameters: b If false, a runtime exception will be thrown. msg The assertion message, which should be informative.

Throws: RuntimeException if the b argument is false.

compile

public Expression compile(int opPos)
Execute the XPath object from a given opcode position.

Parameters: opPos The current position in the xpath.m_opMap array.

Returns: The result of the XPath.

Throws: TransformerException if there is a syntax or other error.

UNKNOWN: advanced

countPredicates

public int countPredicates(int opPos)
Count the number of predicates in the step.

Parameters: opPos The position of the first predicate the m_opMap array.

Returns: The number of predicates for this step.

Throws: TransformerException if a error occurs creating the Expression.

error

public void error(String msg, Object[] args)
Tell the user of an error, and probably throw an exception.

Parameters: msg An error msgkey that corresponds to one of the constants found in {@link org.apache.xpath.res.XPATHErrorResources}, which is a key for a format string. args An array of arguments represented in the format string, which may be null.

Throws: TransformerException if the current ErrorListoner determines to throw an exception.

getCompiledPredicates

public Expression[] getCompiledPredicates(int opPos)
Compile a zero or more predicates for a given match pattern.

Parameters: opPos The position of the first predicate the m_opMap array.

Returns: reference to array of {@link org.apache.xpath.Expression} instances.

Throws: TransformerException if a error occurs creating the Expression.

getLocationPathDepth

public int getLocationPathDepth()
Get the level of the location path or union being constructed.

Returns: 0 if it is a top-level path.

getNamespaceContext

public PrefixResolver getNamespaceContext()
Get the current namespace context for the xpath.

Returns: The current prefix resolver, *may* be null, though hopefully not.

getWhatToShow

public int getWhatToShow(int opPos)
Get a {@link org.w3c.dom.traversal.NodeFilter} bit set that tells what to show for a given node test.

Parameters: opPos the op map position for the location step.

Returns: {@link org.w3c.dom.traversal.NodeFilter} bit set that tells what to show for a given node test.

locationPath

public Expression locationPath(int opPos)
Compile a location path. The LocPathIterator itself may create {@link org.apache.xpath.axes.AxesWalker} children.

Parameters: opPos The current position in the m_opMap array.

Returns: reference to {@link org.apache.xpath.axes.LocPathIterator} instance.

Throws: TransformerException if a error occurs creating the Expression.

locationPathPattern

public Expression locationPathPattern(int opPos)
Compile a location match pattern unit expression.

Parameters: opPos The current position in the m_opMap array.

Returns: reference to {@link org.apache.xpath.patterns.StepPattern} instance.

Throws: TransformerException if a error occurs creating the Expression.

predicate

public Expression predicate(int opPos)
Compile a location step predicate expression.

Parameters: opPos The current position in the m_opMap array.

Returns: the contained predicate expression.

Throws: TransformerException if a error occurs creating the Expression.

setNamespaceContext

public void setNamespaceContext(PrefixResolver pr)
Set the current namespace context for the xpath.

Parameters: pr The resolver for prefixes in the XPath expression.

warn

public void warn(String msg, Object[] args)
Warn the user of an problem.

Parameters: msg An error msgkey that corresponds to one of the constants found in {@link org.apache.xpath.res.XPATHErrorResources}, which is a key for a format string. args An array of arguments represented in the format string, which may be null.

Throws: TransformerException if the current ErrorListoner determines to throw an exception.

Copyright © 2005 Apache XML Project. All Rights Reserved.