<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 ElementTest</h2><br><hr><pre>public class <strong>ElementTest</strong>
extends org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest</pre>Class for Element testing.<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_ElementTest">ElementTest</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
         ,
      boolean wild
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.types.QName type
         ,
      boolean qmark)</code></td></tr><tr><td><code><strong><a href="#con_ElementTest">ElementTest</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
         ,
      boolean wild
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.types.QName type)</code></td></tr><tr><td><code><strong><a href="#con_ElementTest">ElementTest</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
         ,
      boolean wild)</code></td></tr><tr><td><code><strong><a href="#con_ElementTest">ElementTest</a></strong>()</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 org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_createTestType">createTestType</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class</code></td><td width="" align="left"><code><a href="#method_getXDMClassType">getXDMClassType</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isWild">isWild</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_qmark">qmark</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Set nilled property.</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_ElementTest">ElementTest</a></h2><p><code>public <strong>ElementTest</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
         ,
      boolean wild
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.types.QName type
         ,
      boolean qmark)</code></p><p>Constructor for ElementTest. This takes in 4 inputs, Name, wildcard
 test(true/false), type and question mark test(true/false).</p><hr><h2><a name="con_ElementTest">ElementTest</a></h2><p><code>public <strong>ElementTest</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
         ,
      boolean wild
         ,
      org.eclipse.wst.xml.xpath2.processor.internal.types.QName type)</code></p><p>Constructor for ElementTest. This takes in 3 inputs, Name, wildcard
 test(true/false)and type.</p><hr><h2><a name="con_ElementTest">ElementTest</a></h2><p><code>public <strong>ElementTest</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
         ,
      boolean wild)</code></p><p>Constructor for ElementTest. This takes in 2 inputs, Name, wildcard
 test(true/false).</p><hr><h2><a name="con_ElementTest">ElementTest</a></h2><p><code>public <strong>ElementTest</strong>()</code></p><p>Default Constructor for ElementTest.</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_createTestType">createTestType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>createTestType</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_getXDMClassType">getXDMClassType</a></h2><p><code>public java.lang.Class <strong>getXDMClassType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class</code></p><hr><h2><a name="method_isWild">isWild</a></h2><p><code>public boolean <strong>isWild</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_qmark">qmark</a></h2><p><code>public boolean <strong>qmark</strong>()</code></p><p>Set nilled property.</p><h3>Returns</h3><p><code>boolean</code> - Result of operation.</p><hr></body></html>