Sophie

Sophie

distrib > Mageia > 7 > x86_64 > by-pkgid > b3bdfe6d859a3d6920ff2c44b38e9a6f > files > 2361

saxon-manual-9.4.0.9-2.mga7.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_18) on Fri Dec 09 20:48:24 GMT 2011 -->
<TITLE>
NodeSetPattern
</TITLE>

<META NAME="date" CONTENT="2011-12-09">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="NodeSetPattern";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../net/sf/saxon/pattern/NodeKindTest.html" title="class in net.sf.saxon.pattern"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/pattern/NodeTest.html" title="class in net.sf.saxon.pattern"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/pattern/NodeSetPattern.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NodeSetPattern.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
net.sf.saxon.pattern</FONT>
<BR>
Class NodeSetPattern</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">net.sf.saxon.pattern.Pattern</A>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>net.sf.saxon.pattern.NodeSetPattern</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/transform/SourceLocator.html?is-external=true" title="class or interface in javax.xml.transform">SourceLocator</A>, <A HREF="../../../../net/sf/saxon/expr/Container.html" title="interface in net.sf.saxon.expr">Container</A>, <A HREF="../../../../net/sf/saxon/pattern/PatternFinder.html" title="interface in net.sf.saxon.pattern">PatternFinder</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>NodeSetPattern</B><DT>extends <A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></DL>
</PRE>

<P>
A NodeSetPattern is a pattern based on an expression that is evaluated to return a set of nodes;
 a node matches the pattern if it is a member of this node-set.

 <p>In XSLT 2.0 there are two forms of NodeSetPattern allowed, represented by calls on the id() and
 key() functions. In XSLT 3.0, additional forms are allowed, for example a variable reference, and
 a call to the doc() function. This class provides the general capability to use any expression
 at the head of a pattern. This is used also to support streaming, where streaming XPath expressions
 are mapped to patterns.</p>
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#net.sf.saxon.pattern.NodeSetPattern">Serialized Form</A></DL>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#expression">expression</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#itemType">itemType</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#NodeSetPattern(net.sf.saxon.expr.Expression, net.sf.saxon.Configuration)">NodeSetPattern</A></B>(<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;exp,
               <A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A>&nbsp;config)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a node-set pattern.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#allocateSlots(net.sf.saxon.expr.StaticContext, net.sf.saxon.expr.instruct.SlotManager, int)">allocateSlots</A></B>(<A HREF="../../../../net/sf/saxon/expr/StaticContext.html" title="interface in net.sf.saxon.expr">StaticContext</A>&nbsp;env,
              <A HREF="../../../../net/sf/saxon/expr/instruct/SlotManager.html" title="class in net.sf.saxon.expr.instruct">SlotManager</A>&nbsp;slotManager,
              int&nbsp;nextFree)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allocate slots to any variables used within the pattern</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#analyze(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">analyze</A></B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
        <A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type-check the pattern.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;other)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether this pattern is the same as another pattern</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#getDependencies()">getDependencies</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the dependencies of the pattern.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#getItemType()">getItemType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a NodeTest that all the nodes matching this pattern must satisfy</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#getNodeKind()">getNodeKind</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine the type of nodes to which this pattern applies.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#hashCode()">hashCode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hashcode supporting equals()</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#iterateSubExpressions()">iterateSubExpressions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Iterate over the subexpressions within this pattern</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#matches(net.sf.saxon.om.Item, net.sf.saxon.expr.XPathContext)">matches</A></B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
        <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determine whether this Pattern matches the given Node</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#promote(net.sf.saxon.expr.parser.PromotionOffer, net.sf.saxon.expr.Expression)">promote</A></B>(<A HREF="../../../../net/sf/saxon/expr/parser/PromotionOffer.html" title="class in net.sf.saxon.expr.parser">PromotionOffer</A>&nbsp;offer,
        <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;parent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Offer promotion for subexpressions within this pattern.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../net/sf/saxon/pattern/NodeSetPattern.html#replaceSubExpression(net.sf.saxon.expr.Expression, net.sf.saxon.expr.Expression)">replaceSubExpression</A></B>(<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;original,
                     <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;replacement)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Replace a subexpression by a replacement subexpression</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_net.sf.saxon.pattern.Pattern"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class net.sf.saxon.pattern.<A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getColumnNumber()">getColumnNumber</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getContainerGranularity()">getContainerGranularity</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getDefaultPriority()">getDefaultPriority</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getExecutable()">getExecutable</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getFingerprint()">getFingerprint</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getHostLanguage()">getHostLanguage</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getLineNumber()">getLineNumber</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getLocationProvider()">getLocationProvider</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getPublicId()">getPublicId</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getSystemId()">getSystemId</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#internalMatches(net.sf.saxon.om.NodeInfo, net.sf.saxon.om.NodeInfo, net.sf.saxon.expr.XPathContext)">internalMatches</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#make(java.lang.String, net.sf.saxon.expr.StaticContext, net.sf.saxon.expr.instruct.Executable)">make</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#matchesBeneathAnchor(net.sf.saxon.om.NodeInfo, net.sf.saxon.om.NodeInfo, net.sf.saxon.expr.XPathContext)">matchesBeneathAnchor</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#resolveCurrent(net.sf.saxon.expr.LetExpression, net.sf.saxon.expr.parser.PromotionOffer, boolean)">resolveCurrent</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#selectNodes(net.sf.saxon.om.DocumentInfo, net.sf.saxon.expr.XPathContext)">selectNodes</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#setExecutable(net.sf.saxon.expr.instruct.Executable)">setExecutable</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#setLineNumber(int)">setLineNumber</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#setOriginalText(java.lang.String)">setOriginalText</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#setSystemId(java.lang.String)">setSystemId</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#simplify(net.sf.saxon.expr.parser.ExpressionVisitor)">simplify</A>, <A HREF="../../../../net/sf/saxon/pattern/Pattern.html#toString()">toString</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="expression"><!-- --></A><H3>
expression</H3>
<PRE>
protected <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A> <B>expression</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="itemType"><!-- --></A><H3>
itemType</H3>
<PRE>
protected <A HREF="../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A> <B>itemType</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="NodeSetPattern(net.sf.saxon.expr.Expression, net.sf.saxon.Configuration)"><!-- --></A><H3>
NodeSetPattern</H3>
<PRE>
public <B>NodeSetPattern</B>(<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;exp,
                      <A HREF="../../../../net/sf/saxon/Configuration.html" title="class in net.sf.saxon">Configuration</A>&nbsp;config)</PRE>
<DL>
<DD>Create a node-set pattern.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>exp</CODE> - an expression that can be evaluated to return a node-set; a node matches the pattern
 if it is present in this node-set. The expression must not depend on the focus, though it can depend on
 other aspects of the dynamic context such as local or global variables.</DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="analyze(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)"><!-- --></A><H3>
analyze</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A> <B>analyze</B>(<A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor</A>&nbsp;visitor,
                       <A HREF="../../../../net/sf/saxon/expr/parser/ExpressionVisitor.ContextItemType.html" title="class in net.sf.saxon.expr.parser">ExpressionVisitor.ContextItemType</A>&nbsp;contextItemType)
                throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Type-check the pattern.
 Default implementation does nothing. This is only needed for patterns that contain
 variable references or function calls.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#analyze(net.sf.saxon.expr.parser.ExpressionVisitor, net.sf.saxon.expr.parser.ExpressionVisitor.ContextItemType)">analyze</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>visitor</CODE> - the expression visitor<DD><CODE>contextItemType</CODE> - the type of the context item at the point where the pattern
 is defined. Set to null if it is known that the context item is undefined.
<DT><B>Returns:</B><DD>the optimised Pattern
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getDependencies()"><!-- --></A><H3>
getDependencies</H3>
<PRE>
public int <B>getDependencies</B>()</PRE>
<DL>
<DD>Get the dependencies of the pattern. The only possible dependency for a pattern is
 on local variables. This is analyzed in those patterns where local variables may appear.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getDependencies()">getDependencies</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the dependencies, as a bit-significant mask</DL>
</DD>
</DL>
<HR>

<A NAME="iterateSubExpressions()"><!-- --></A><H3>
iterateSubExpressions</H3>
<PRE>
public <A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A> <B>iterateSubExpressions</B>()</PRE>
<DL>
<DD>Iterate over the subexpressions within this pattern
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#iterateSubExpressions()">iterateSubExpressions</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator over the subexpressions. Default implementation returns an empty sequence</DL>
</DD>
</DL>
<HR>

<A NAME="promote(net.sf.saxon.expr.parser.PromotionOffer, net.sf.saxon.expr.Expression)"><!-- --></A><H3>
promote</H3>
<PRE>
public void <B>promote</B>(<A HREF="../../../../net/sf/saxon/expr/parser/PromotionOffer.html" title="class in net.sf.saxon.expr.parser">PromotionOffer</A>&nbsp;offer,
                    <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;parent)
             throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Offer promotion for subexpressions within this pattern. The offer will be accepted if the subexpression
 is not dependent on the factors (e.g. the context item) identified in the PromotionOffer.
 By default the offer is not accepted - this is appropriate in the case of simple expressions
 such as constant values and variable references where promotion would give no performance
 advantage. This method is always called at compile time.
 <p/>
 <p>Unlike the corresponding method on <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr"><CODE>Expression</CODE></A>, this method does not return anything:
 it can make internal changes to the pattern, but cannot return a different pattern. Only certain
 kinds of promotion are applicable within a pattern: specifically, promotions affecting local
 variable references within the pattern.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#promote(net.sf.saxon.expr.parser.PromotionOffer, net.sf.saxon.expr.Expression)">promote</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>offer</CODE> - details of the offer, for example the offer to move
              expressions that don't depend on the context to an outer level in
              the containing expression<DD><CODE>parent</CODE> - 
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE> - if any error is detected</DL>
</DD>
</DL>
<HR>

<A NAME="replaceSubExpression(net.sf.saxon.expr.Expression, net.sf.saxon.expr.Expression)"><!-- --></A><H3>
replaceSubExpression</H3>
<PRE>
public boolean <B>replaceSubExpression</B>(<A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;original,
                                    <A HREF="../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;replacement)</PRE>
<DL>
<DD>Replace a subexpression by a replacement subexpression
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#replaceSubExpression(net.sf.saxon.expr.Expression, net.sf.saxon.expr.Expression)">replaceSubExpression</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>original</CODE> - the expression to be replaced<DD><CODE>replacement</CODE> - the new expression to be inserted in its place
<DT><B>Returns:</B><DD>true if the replacement was carried out</DL>
</DD>
</DL>
<HR>

<A NAME="allocateSlots(net.sf.saxon.expr.StaticContext, net.sf.saxon.expr.instruct.SlotManager, int)"><!-- --></A><H3>
allocateSlots</H3>
<PRE>
public int <B>allocateSlots</B>(<A HREF="../../../../net/sf/saxon/expr/StaticContext.html" title="interface in net.sf.saxon.expr">StaticContext</A>&nbsp;env,
                         <A HREF="../../../../net/sf/saxon/expr/instruct/SlotManager.html" title="class in net.sf.saxon.expr.instruct">SlotManager</A>&nbsp;slotManager,
                         int&nbsp;nextFree)</PRE>
<DL>
<DD>Allocate slots to any variables used within the pattern
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#allocateSlots(net.sf.saxon.expr.StaticContext, net.sf.saxon.expr.instruct.SlotManager, int)">allocateSlots</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>env</CODE> - the static context in the XSLT stylesheet<DD><CODE>slotManager</CODE> - the slot manager representing the stack frame for local variables<DD><CODE>nextFree</CODE> - the next slot that is free to be allocated @return the next slot that is free to be allocated
<DT><B>Returns:</B><DD>the next slot that is free to be allocated</DL>
</DD>
</DL>
<HR>

<A NAME="matches(net.sf.saxon.om.Item, net.sf.saxon.expr.XPathContext)"><!-- --></A><H3>
matches</H3>
<PRE>
public boolean <B>matches</B>(<A HREF="../../../../net/sf/saxon/om/Item.html" title="interface in net.sf.saxon.om">Item</A>&nbsp;item,
                       <A HREF="../../../../net/sf/saxon/expr/XPathContext.html" title="interface in net.sf.saxon.expr">XPathContext</A>&nbsp;context)
                throws <A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></PRE>
<DL>
<DD>Determine whether this Pattern matches the given Node
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#matches(net.sf.saxon.om.Item, net.sf.saxon.expr.XPathContext)">matches</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>item</CODE> - The NodeInfo representing the Element or other node to be tested against the Pattern<DD><CODE>context</CODE> - The dynamic context. Only relevant if the pattern
 uses variables, or contains calls on functions such as document() or key().
<DT><B>Returns:</B><DD>true if the node matches the Pattern, false otherwise
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../net/sf/saxon/trans/XPathException.html" title="class in net.sf.saxon.trans">XPathException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getNodeKind()"><!-- --></A><H3>
getNodeKind</H3>
<PRE>
public int <B>getNodeKind</B>()</PRE>
<DL>
<DD>Determine the type of nodes to which this pattern applies.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getNodeKind()">getNodeKind</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>Type.NODE (may be overridden in subclasses)</DL>
</DD>
</DL>
<HR>

<A NAME="getItemType()"><!-- --></A><H3>
getItemType</H3>
<PRE>
public <A HREF="../../../../net/sf/saxon/type/ItemType.html" title="interface in net.sf.saxon.type">ItemType</A> <B>getItemType</B>()</PRE>
<DL>
<DD>Get a NodeTest that all the nodes matching this pattern must satisfy
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html#getItemType()">getItemType</A></CODE> in class <CODE><A HREF="../../../../net/sf/saxon/pattern/Pattern.html" title="class in net.sf.saxon.pattern">Pattern</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an ItemType, as specific as possible, which all the matching items satisfy</DL>
</DD>
</DL>
<HR>

<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;other)</PRE>
<DL>
<DD>Determine whether this pattern is the same as another pattern
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>other</CODE> - the other object</DL>
</DD>
</DL>
<HR>

<A NAME="hashCode()"><!-- --></A><H3>
hashCode</H3>
<PRE>
public int <B>hashCode</B>()</PRE>
<DL>
<DD>Hashcode supporting equals()
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../net/sf/saxon/pattern/NodeKindTest.html" title="class in net.sf.saxon.pattern"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../net/sf/saxon/pattern/NodeTest.html" title="class in net.sf.saxon.pattern"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?net/sf/saxon/pattern/NodeSetPattern.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="NodeSetPattern.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.
</BODY>
</HTML>