Sophie

Sophie

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

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:13 GMT 2011 -->
<TITLE>
PathMap
</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="PathMap";
    }
}
</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/expr/parser/Optimizer.html" title="class in net.sf.saxon.expr.parser"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapArc.html" title="class in net.sf.saxon.expr.parser"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?net/sf/saxon/expr/parser/PathMap.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="PathMap.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;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&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;FIELD&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.expr.parser</FONT>
<BR>
Class PathMap</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 "><B>net.sf.saxon.expr.parser.PathMap</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>PathMap</B><DT>extends <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></DL>
</PRE>

<P>
A PathMap is a description of all the paths followed by an expression.
 It is a set of trees. Each tree contains as its root an expression that selects
 nodes without any dependency on the context. The arcs in the tree are axis steps.
 So the expression doc('a.xml')/a[b=2]/c has a single root (the call on doc()), with
 a single arc representing child::a, this leads to a node which has two further arcs
 representing child::b and child::c. Because element b is atomized, there will also be
 an arc for the step descendant::text() indicating the requirement to access the text
 nodes of the element.

 <p>The current implementation works only for XPath 2.0 expressions (for example, constructs
 like xsl:for-each-group are not handled.)</p>

 <p>This class, together with the overloaded method
 <A HREF="../../../../../net/sf/saxon/expr/Expression.html#addToPathMap(net.sf.saxon.expr.parser.PathMap, net.sf.saxon.expr.parser.PathMap.PathMapNodeSet)"><CODE>Expression.addToPathMap(PathMap, PathMap.PathMapNodeSet)</CODE></A> can be
 seen as an implementation of the static path analysis algorithm given in section 4 of
 <a href="http://www-db.research.bell-labs.com/user/simeon/xml_projection.pdf">A. Marian and J. Simeon,
 Projecting XML Documents, VLDB 2003</a>.</p>
<P>

<P>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->

<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapArc.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapArc</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An arc joining two nodes in the path map.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapNode.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapNode</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A node in the path map.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapNodeSet.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapNodeSet</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A (mutable) set of nodes in the path map</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A root node in the path map.</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/expr/parser/PathMap.html#PathMap(net.sf.saxon.expr.Expression)">PathMap</A></B>(<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;exp)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create the PathMap for an expression</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#diagnosticDump(java.io.PrintStream)">diagnosticDump</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A>&nbsp;out)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display a printed representation of the path map</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#getContextDocumentRoot()">getContextDocumentRoot</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the path map root for the context document</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#getContextItemRoot()">getContextItemRoot</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the path map root for the context item</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapNodeSet.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapNodeSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#getPathForVariable(net.sf.saxon.expr.Binding)">getPathForVariable</A></B>(<A HREF="../../../../../net/sf/saxon/expr/Binding.html" title="interface in net.sf.saxon.expr">Binding</A>&nbsp;binding)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the path used when evaluating a given variable binding</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#getPathMapRoots()">getPathMapRoots</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get all the root expressions from the path map</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#getRootForDocument(java.lang.String)">getRootForDocument</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;requiredUri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the path map root for a call on the doc() or document() function with a given literal argument</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#main(java.lang.String[])">main</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main method for testing</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#makeNewRoot(net.sf.saxon.expr.Expression)">makeNewRoot</A></B>(<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;exp)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make a new root node in the path map.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.html#reduceToDownwardsAxes(net.sf.saxon.expr.parser.PathMap.PathMapRoot)">reduceToDownwardsAxes</A></B>(<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A>&nbsp;root)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a PathMapRoot, simplify the tree rooted at this node so that
 it only contains downwards selections: specifically, so that the only axes
 used are child, attribute, namespace, and descendant.</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/expr/parser/PathMap.html#registerPathForVariable(net.sf.saxon.expr.Binding, net.sf.saxon.expr.parser.PathMap.PathMapNodeSet)">registerPathForVariable</A></B>(<A HREF="../../../../../net/sf/saxon/expr/Binding.html" title="interface in net.sf.saxon.expr">Binding</A>&nbsp;binding,
                        <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapNodeSet.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapNodeSet</A>&nbsp;nodeset)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register the path used when evaluating a given variable binding</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#equals(java.lang.Object)" title="class or interface in java.lang">equals</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#hashCode()" title="class or interface in java.lang">hashCode</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#toString()" title="class or interface in java.lang">toString</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>

<!-- ========= 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="PathMap(net.sf.saxon.expr.Expression)"><!-- --></A><H3>
PathMap</H3>
<PRE>
public <B>PathMap</B>(<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;exp)</PRE>
<DL>
<DD>Create the PathMap for an expression
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>exp</CODE> - the expression whose PathMap is required</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="makeNewRoot(net.sf.saxon.expr.Expression)"><!-- --></A><H3>
makeNewRoot</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A> <B>makeNewRoot</B>(<A HREF="../../../../../net/sf/saxon/expr/Expression.html" title="class in net.sf.saxon.expr">Expression</A>&nbsp;exp)</PRE>
<DL>
<DD>Make a new root node in the path map. However, if there is already a root for the same
 expression, the existing root for that expression is returned.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>exp</CODE> - the expression represented by this root node
<DT><B>Returns:</B><DD>the new root node</DL>
</DD>
</DL>
<HR>

<A NAME="getPathMapRoots()"><!-- --></A><H3>
getPathMapRoots</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A>[] <B>getPathMapRoots</B>()</PRE>
<DL>
<DD>Get all the root expressions from the path map
<P>
<DD><DL>

<DT><B>Returns:</B><DD>an array containing the root expressions</DL>
</DD>
</DL>
<HR>

<A NAME="registerPathForVariable(net.sf.saxon.expr.Binding, net.sf.saxon.expr.parser.PathMap.PathMapNodeSet)"><!-- --></A><H3>
registerPathForVariable</H3>
<PRE>
public void <B>registerPathForVariable</B>(<A HREF="../../../../../net/sf/saxon/expr/Binding.html" title="interface in net.sf.saxon.expr">Binding</A>&nbsp;binding,
                                    <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapNodeSet.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapNodeSet</A>&nbsp;nodeset)</PRE>
<DL>
<DD>Register the path used when evaluating a given variable binding
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>binding</CODE> - the variable binding<DD><CODE>nodeset</CODE> - the set of PathMap nodes reachable when evaluating that variable</DL>
</DD>
</DL>
<HR>

<A NAME="getPathForVariable(net.sf.saxon.expr.Binding)"><!-- --></A><H3>
getPathForVariable</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapNodeSet.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapNodeSet</A> <B>getPathForVariable</B>(<A HREF="../../../../../net/sf/saxon/expr/Binding.html" title="interface in net.sf.saxon.expr">Binding</A>&nbsp;binding)</PRE>
<DL>
<DD>Get the path used when evaluating a given variable binding
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>binding</CODE> - the variable binding
<DT><B>Returns:</B><DD>the set of PathMap nodes reachable when evaluating that variable</DL>
</DD>
</DL>
<HR>

<A NAME="getContextDocumentRoot()"><!-- --></A><H3>
getContextDocumentRoot</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A> <B>getContextDocumentRoot</B>()</PRE>
<DL>
<DD>Get the path map root for the context document
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the path map root for the context document if there is one, or null if none is found.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE> - if there is more than one path map root for the context document</DL>
</DD>
</DL>
<HR>

<A NAME="getContextItemRoot()"><!-- --></A><H3>
getContextItemRoot</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A> <B>getContextItemRoot</B>()</PRE>
<DL>
<DD>Get the path map root for the context item
<P>
<DD><DL>

<DT><B>Returns:</B><DD>the path map root for the context item if there is one, or null if none is found.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE> - if there is more than one path map root for the context item</DL>
</DD>
</DL>
<HR>

<A NAME="getRootForDocument(java.lang.String)"><!-- --></A><H3>
getRootForDocument</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A> <B>getRootForDocument</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;requiredUri)</PRE>
<DL>
<DD>Get the path map root for a call on the doc() or document() function with a given literal argument
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>requiredUri</CODE> - the literal argument we are looking for
<DT><B>Returns:</B><DD>the path map root for the specified document if there is one, or null if none is found.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE> - if there is more than one path map root for the specified document</DL>
</DD>
</DL>
<HR>

<A NAME="reduceToDownwardsAxes(net.sf.saxon.expr.parser.PathMap.PathMapRoot)"><!-- --></A><H3>
reduceToDownwardsAxes</H3>
<PRE>
public <A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A> <B>reduceToDownwardsAxes</B>(<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapRoot.html" title="class in net.sf.saxon.expr.parser">PathMap.PathMapRoot</A>&nbsp;root)</PRE>
<DL>
<DD>Given a PathMapRoot, simplify the tree rooted at this node so that
 it only contains downwards selections: specifically, so that the only axes
 used are child, attribute, namespace, and descendant. If the root expression
 is a ContextItemExpression (that is, the path can start at any node) then it is rebased
 to start at a root node, which means in effect that a path such as a/b/c is treated
 as //a/b/c.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>root</CODE> - the root of the path to be simplified
<DT><B>Returns:</B><DD>the path map root after converting the tree to use downwards axes only</DL>
</DD>
</DL>
<HR>

<A NAME="diagnosticDump(java.io.PrintStream)"><!-- --></A><H3>
diagnosticDump</H3>
<PRE>
public void <B>diagnosticDump</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/io/PrintStream.html?is-external=true" title="class or interface in java.io">PrintStream</A>&nbsp;out)</PRE>
<DL>
<DD>Display a printed representation of the path map
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>out</CODE> - the output stream to which the output will be written</DL>
</DD>
</DL>
<HR>

<A NAME="main(java.lang.String[])"><!-- --></A><H3>
main</H3>
<PRE>
public static void <B>main</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[]&nbsp;args)
                 throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Main method for testing
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>args</CODE> - Takes one argument, the XPath expression to be analyzed
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></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/expr/parser/Optimizer.html" title="class in net.sf.saxon.expr.parser"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../net/sf/saxon/expr/parser/PathMap.PathMapArc.html" title="class in net.sf.saxon.expr.parser"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?net/sf/saxon/expr/parser/PathMap.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="PathMap.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;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&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;FIELD&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>