<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.ast</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.ast</strong></font><br>
               Class XPathExpr</h2><br><hr><pre>public class <strong>XPathExpr</strong>
extends org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr</pre>Path expression walks tries to walk the path specified in its argument<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathExpr">XPathExpr</a></strong>(int slashes
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr expr)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_tail">add_tail</a>(int slashes
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr expr)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Add to tail of path</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr</code></td><td width="" align="left"><code><a href="#method_expr">expr</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr</code></td><td width="" align="left"><code><a href="#method_next">next</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_next">set_next</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr n)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               an XPath expression, n is copied to _next</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_slashes">set_slashes</a>(int count)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_slashes">slashes</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_XPathExpr">XPathExpr</a></h2><p><code>public <strong>XPathExpr</strong>(int slashes
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr expr)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code></p><p>Support for Visitor interface.</p><h3>Parameters</h3><p><code>v</code></p><h3>Returns</h3><p><code>java.lang.Object</code> - Result of Visitor operation.</p><hr><h2><a name="method_add_tail">add_tail</a></h2><p><code>public void <strong>add_tail</strong>(int slashes
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr expr)</code></p><p>Add to tail of path</p><h3>Parameters</h3><p><code>slashes</code></p><p><code>expr</code></p><hr><h2><a name="method_expr">expr</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr <strong>expr</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr</code> - Step expression _expr</p><hr><h2><a name="method_next">next</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr <strong>next</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr</code> - XPath expression _next</p><hr><h2><a name="method_set_next">set_next</a></h2><p><code>public void <strong>set_next</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr n)</code></p><p>an XPath expression, n is copied to _next</p><h3>Parameters</h3><p><code>n</code></p><hr><h2><a name="method_set_slashes">set_slashes</a></h2><p><code>public void <strong>set_slashes</strong>(int count)</code></p><p></p><h3>Parameters</h3><p><code>count</code> - is copied to _slashes</p><hr><h2><a name="method_slashes">slashes</a></h2><p><code>public int <strong>slashes</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - int _slashes</p><hr></body></html>