<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal.types</strong></font><br>
               Class XPathDecimalFormat</h2><br><hr><pre>public class <strong>XPathDecimalFormat</strong>
extends java.text.DecimalFormat</pre>This is an XPath specific implementation of DecimalFormat to handle
 some of the xpath specific formatting requirements.   Specifically
 it allows for E# to be represented to indicate that the exponent value
 is optional.  Otherwise all existing DecimalFormat patterns are handled
 as is.<p></p><p></p><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_XPathDecimalFormat">XPathDecimalFormat</a></strong>(java.lang.String pattern)</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.String</code></td><td width="" align="left"><code><a href="#method_xpathFormat">xpathFormat</a>(java.lang.Object obj)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               Formats the string dropping a Zero Exponent Value if it exists.</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_XPathDecimalFormat">XPathDecimalFormat</a></h2><p><code>public <strong>XPathDecimalFormat</strong>(java.lang.String pattern)</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_xpathFormat">xpathFormat</a></h2><p><code>public java.lang.String <strong>xpathFormat</strong>(java.lang.Object obj)</code></p><p>Formats the string dropping a Zero Exponent Value if it exists.</p><h3>Parameters</h3><p><code>obj</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>