net.sf.saxon.pattern
Class PatternMaker

java.lang.Object
  extended by net.sf.saxon.pattern.PatternMaker

public class PatternMaker
extends Object

This is a singleton class used to convert an expression to an equivalent pattern. This version of the class is used to generate conventional XSLT match patterns; there is another version used to generate patterns suitable for streamed evaluation in Saxon-EE.


Constructor Summary
PatternMaker()
           
 
Method Summary
static Pattern fromExpression(Expression expression, Configuration config)
          Static factory method to make a pattern by converting an expression.
static byte getAxisForPathStep(Expression step)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PatternMaker

public PatternMaker()
Method Detail

fromExpression

public static Pattern fromExpression(Expression expression,
                                     Configuration config)
                              throws XPathException
Static factory method to make a pattern by converting an expression. The supplied expression is the equivalent expression to the pattern, in the sense that it takes the same syntactic form.

Note that this method does NOT check all the rules for XSLT patterns; it deliberately allows a (slightly) wider class of expressions to be converted than XSLT allows.

The expression root() at the start of the expression has a special meaning: it refers to the root of the subtree in which the pattern must match, which can be supplied at run-time during pattern matching. This is used for patterns that represent streamable path expressions.

Parameters:
expression - the expression to be converted
config - the Saxon configuration
Throws:
XPathException - if the expression cannot be converted

getAxisForPathStep

public static byte getAxisForPathStep(Expression step)
                               throws XPathException
Throws:
XPathException


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