<!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.4.2_08) on Sat Apr 22 18:56:42 PDT 2006 -->
<TITLE>
SOAPElement (Axis API)
</TITLE>

<META NAME="keywords" CONTENT="javax.xml.soap.SOAPElement interface">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="SOAPElement (Axis API)";
}
</SCRIPT>

</HEAD>

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


<!-- ========= 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=3 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="class-use/SOAPElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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="../../../javax/xml/soap/SOAPConstants.html" title="interface in javax.xml.soap"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/xml/soap/SOAPEnvelope.html" title="interface in javax.xml.soap"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SOAPElement.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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">
javax.xml.soap</FONT>
<BR>
Interface SOAPElement</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD>org.w3c.dom.Element, <A HREF="../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</A>, org.w3c.dom.Node</DD>
</DL>
<DL>
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../javax/xml/soap/Detail.html" title="interface in javax.xml.soap">Detail</A>, <A HREF="../../../javax/xml/soap/DetailEntry.html" title="interface in javax.xml.soap">DetailEntry</A>, <A HREF="../../../javax/xml/soap/SOAPBody.html" title="interface in javax.xml.soap">SOAPBody</A>, <A HREF="../../../javax/xml/soap/SOAPBodyElement.html" title="interface in javax.xml.soap">SOAPBodyElement</A>, <A HREF="../../../javax/xml/soap/SOAPEnvelope.html" title="interface in javax.xml.soap">SOAPEnvelope</A>, <A HREF="../../../javax/xml/soap/SOAPFault.html" title="interface in javax.xml.soap">SOAPFault</A>, <A HREF="../../../javax/xml/soap/SOAPFaultElement.html" title="interface in javax.xml.soap">SOAPFaultElement</A>, <A HREF="../../../javax/xml/soap/SOAPHeader.html" title="interface in javax.xml.soap">SOAPHeader</A>, <A HREF="../../../javax/xml/soap/SOAPHeaderElement.html" title="interface in javax.xml.soap">SOAPHeaderElement</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../org/apache/axis/message/Detail.html" title="class in org.apache.axis.message">Detail</A>, <A HREF="../../../org/apache/axis/message/DetailEntry.html" title="class in org.apache.axis.message">DetailEntry</A>, <A HREF="../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A>, <A HREF="../../../org/apache/axis/message/SOAPBody.html" title="class in org.apache.axis.message">SOAPBody</A>, <A HREF="../../../org/apache/axis/message/SOAPBodyElement.html" title="class in org.apache.axis.message">SOAPBodyElement</A>, <A HREF="../../../org/apache/axis/message/SOAPEnvelope.html" title="class in org.apache.axis.message">SOAPEnvelope</A>, <A HREF="../../../org/apache/axis/message/SOAPFault.html" title="class in org.apache.axis.message">SOAPFault</A>, <A HREF="../../../org/apache/axis/message/SOAPFaultElement.html" title="class in org.apache.axis.message">SOAPFaultElement</A>, <A HREF="../../../org/apache/axis/message/SOAPHeader.html" title="class in org.apache.axis.message">SOAPHeader</A>, <A HREF="../../../org/apache/axis/message/SOAPHeaderElement.html" title="class in org.apache.axis.message">SOAPHeaderElement</A></DD>
</DL>
<HR>
<DL>
<DT>public interface <B>SOAPElement</B><DT>extends <A HREF="../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</A>, org.w3c.dom.Element</DL>

<P>
An object representing the contents in a
 <code>SOAPBody</code> object, the contents in a <code>SOAPHeader</code>
 object, the content that can follow the <code>SOAPBody</code> object in a
 <code>SOAPEnvelope</code> object, or what can follow the detail element
 in a <code>SOAPFault</code> object. It is
 the base class for all of the classes that represent the SOAP objects as
 defined in the SOAP specification.
<P>

<P>
<HR>

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


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

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from interface org.w3c.dom.Node</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE</CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->


<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addAttribute(javax.xml.soap.Name, java.lang.String)">addAttribute</A></B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name,
             java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an attribute with the specified name and value to this
 <code>SOAPElement</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addChildElement(javax.xml.soap.Name)">addChildElement</A></B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>SOAPElement</code> object initialized with the
 given <code>Name</code> object and adds the new element to this
 <code>SOAPElement</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addChildElement(javax.xml.soap.SOAPElement)">addChildElement</A></B>(<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A>&nbsp;element)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add a <code>SOAPElement</code> as a child of this
 <code>SOAPElement</code> instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String)">addChildElement</A></B>(java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>SOAPElement</code> object initialized with the
 given <code>String</code> object and adds the new element to this
 <code>SOAPElement</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String, java.lang.String)">addChildElement</A></B>(java.lang.String&nbsp;localName,
                java.lang.String&nbsp;prefix)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>SOAPElement</code> object initialized with the
 specified local name and prefix and adds the new element to this
 <code>SOAPElement</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String, java.lang.String, java.lang.String)">addChildElement</A></B>(java.lang.String&nbsp;localName,
                java.lang.String&nbsp;prefix,
                java.lang.String&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>SOAPElement</code> object initialized with the
 specified local name, prefix, and URI and adds the new element to this
 <code>SOAPElement</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addNamespaceDeclaration(java.lang.String, java.lang.String)">addNamespaceDeclaration</A></B>(java.lang.String&nbsp;prefix,
                        java.lang.String&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a namespace declaration with the specified prefix and URI to this
 <code>SOAPElement</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#addTextNode(java.lang.String)">addTextNode</A></B>(java.lang.String&nbsp;text)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new <code>Text</code> object initialized with the given
 <code>String</code> and adds it to this <code>SOAPElement</code> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getAllAttributes()">getAllAttributes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an iterator over all of the attribute names in
 this <CODE>SOAPElement</CODE> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getAttributeValue(javax.xml.soap.Name)">getAttributeValue</A></B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the attribute with the specified
 name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getChildElements()">getChildElements</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an iterator over all the immediate content of
 this element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getChildElements(javax.xml.soap.Name)">getChildElements</A></B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an iterator over all the child elements with the
 specified name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getElementName()">getElementName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this <CODE>SOAPElement</CODE>
 object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getEncodingStyle()">getEncodingStyle</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the encoding style for this <CODE>
 SOAPElement</CODE> object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getNamespacePrefixes()">getNamespacePrefixes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an iterator of namespace prefixes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getNamespaceURI(java.lang.String)">getNamespaceURI</A></B>(java.lang.String&nbsp;prefix)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the URI of the namespace that has the given
 prefix.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Iterator</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/xml/soap/SOAPElement.html#getVisibleNamespacePrefixes()">getVisibleNamespacePrefixes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <code>Iterator</code> over the namespace prefix
 <code>String</code>s visible to this element.</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="../../../javax/xml/soap/SOAPElement.html#removeAttribute(javax.xml.soap.Name)">removeAttribute</A></B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the attribute with the specified name.</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="../../../javax/xml/soap/SOAPElement.html#removeContents()">removeContents</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Detaches all children of this <code>SOAPElement</code>.</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="../../../javax/xml/soap/SOAPElement.html#removeNamespaceDeclaration(java.lang.String)">removeNamespaceDeclaration</A></B>(java.lang.String&nbsp;prefix)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the namespace declaration corresponding to the
 given prefix.</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="../../../javax/xml/soap/SOAPElement.html#setEncodingStyle(java.lang.String)">setEncodingStyle</A></B>(java.lang.String&nbsp;encodingStyle)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the encoding style for this <CODE>SOAPElement</CODE>
 object to one specified.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_javax.xml.soap.Node"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface javax.xml.soap.<A HREF="../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../javax/xml/soap/Node.html#detachNode()">detachNode</A>, <A HREF="../../../javax/xml/soap/Node.html#getParentElement()">getParentElement</A>, <A HREF="../../../javax/xml/soap/Node.html#getValue()">getValue</A>, <A HREF="../../../javax/xml/soap/Node.html#recycleNode()">recycleNode</A>, <A HREF="../../../javax/xml/soap/Node.html#setParentElement(javax.xml.soap.SOAPElement)">setParentElement</A>, <A HREF="../../../javax/xml/soap/Node.html#setValue(java.lang.String)">setValue</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.w3c.dom.Node"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.w3c.dom.Node</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>appendChild, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.w3c.dom.Element"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.w3c.dom.Element</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

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


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


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

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

<A NAME="addChildElement(javax.xml.soap.Name)"><!-- --></A><H3>
addChildElement</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addChildElement</B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)
                            throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Creates a new <code>SOAPElement</code> object initialized with the
 given <code>Name</code> object and adds the new element to this
 <code>SOAPElement</code> object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>Name</code> object with the XML name for the
   new element
<DT><B>Returns:</B><DD>the new <code>SOAPElement</code> object that was created
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there is an error in creating the
                     <code>SOAPElement</code> object</DL>
</DD>
</DL>
<HR>

<A NAME="addChildElement(java.lang.String)"><!-- --></A><H3>
addChildElement</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addChildElement</B>(java.lang.String&nbsp;localName)
                            throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Creates a new <code>SOAPElement</code> object initialized with the
 given <code>String</code> object and adds the new element to this
 <code>SOAPElement</code> object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localName</CODE> - a <code>String</code> giving the local name for
     the element
<DT><B>Returns:</B><DD>the new <code>SOAPElement</code> object that was created
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there is an error in creating the
                     <code>SOAPElement</code> object</DL>
</DD>
</DL>
<HR>

<A NAME="addChildElement(java.lang.String, java.lang.String)"><!-- --></A><H3>
addChildElement</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addChildElement</B>(java.lang.String&nbsp;localName,
                                   java.lang.String&nbsp;prefix)
                            throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Creates a new <code>SOAPElement</code> object initialized with the
 specified local name and prefix and adds the new element to this
 <code>SOAPElement</code> object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localName</CODE> - a <code>String</code> giving the local name for
   the new element<DD><CODE>prefix</CODE> - a <code>String</code> giving the namespace prefix for
   the new element
<DT><B>Returns:</B><DD>the new <code>SOAPElement</code> object that was created
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there is an error in creating the
                     <code>SOAPElement</code> object</DL>
</DD>
</DL>
<HR>

<A NAME="addChildElement(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
addChildElement</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addChildElement</B>(java.lang.String&nbsp;localName,
                                   java.lang.String&nbsp;prefix,
                                   java.lang.String&nbsp;uri)
                            throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Creates a new <code>SOAPElement</code> object initialized with the
 specified local name, prefix, and URI and adds the new element to this
 <code>SOAPElement</code> object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localName</CODE> - a <code>String</code> giving the local name for
   the new element<DD><CODE>prefix</CODE> - a <code>String</code> giving the namespace prefix for
   the new element<DD><CODE>uri</CODE> - a <code>String</code> giving the URI of the namespace
   to which the new element belongs
<DT><B>Returns:</B><DD>the new <code>SOAPElement</code> object that was created
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there is an error in creating the
                     <code>SOAPElement</code> object</DL>
</DD>
</DL>
<HR>

<A NAME="addChildElement(javax.xml.soap.SOAPElement)"><!-- --></A><H3>
addChildElement</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addChildElement</B>(<A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A>&nbsp;element)
                            throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Add a <code>SOAPElement</code> as a child of this
 <code>SOAPElement</code> instance. The <code>SOAPElement</code>
 is expected to be created by a
 <code>SOAPElementFactory</code>. Callers should not rely on the
 element instance being added as is into the XML
 tree. Implementations could end up copying the content
 of the <code>SOAPElement</code> passed into an instance of
 a different <code>SOAPElement</code> implementation. For
 instance if <code>addChildElement()</code> is called on a
 <code>SOAPHeader</code>, <code>element</code> will be copied
 into an instance of a <code>SOAPHeaderElement</code>.

 <P>The fragment rooted in <code>element</code> is either added
 as a whole or not at all, if there was an error.

 <P>The fragment rooted in <code>element</code> cannot contain
 elements named "Envelope", "Header" or "Body" and in the SOAP
 namespace. Any namespace prefixes present in the fragment
 should be fully resolved using appropriate namespace
 declarations within the fragment itself.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>element</CODE> - the <code>SOAPElement</code> to be added as a
           new child
<DT><B>Returns:</B><DD>an instance representing the new SOAP element that was
    actually added to the tree.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there was an error in adding this
                     element as a child</DL>
</DD>
</DL>
<HR>

<A NAME="addTextNode(java.lang.String)"><!-- --></A><H3>
addTextNode</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addTextNode</B>(java.lang.String&nbsp;text)
                        throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Creates a new <code>Text</code> object initialized with the given
 <code>String</code> and adds it to this <code>SOAPElement</code> object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>text</CODE> - a <code>String</code> object with the textual content to be added
<DT><B>Returns:</B><DD>the <code>SOAPElement</code> object into which
    the new <code>Text</code> object was inserted
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there is an error in creating the
               new <code>Text</code> object</DL>
</DD>
</DL>
<HR>

<A NAME="addAttribute(javax.xml.soap.Name, java.lang.String)"><!-- --></A><H3>
addAttribute</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addAttribute</B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name,
                                java.lang.String&nbsp;value)
                         throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Adds an attribute with the specified name and value to this
 <code>SOAPElement</code> object.
 <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>Name</code> object with the name of the attribute<DD><CODE>value</CODE> - a <code>String</code> giving the value of the attribute
<DT><B>Returns:</B><DD>the <code>SOAPElement</code> object into which the attribute was
    inserted
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there is an error in creating the
                     Attribute</DL>
</DD>
</DL>
<HR>

<A NAME="addNamespaceDeclaration(java.lang.String, java.lang.String)"><!-- --></A><H3>
addNamespaceDeclaration</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A> <B>addNamespaceDeclaration</B>(java.lang.String&nbsp;prefix,
                                           java.lang.String&nbsp;uri)
                                    throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Adds a namespace declaration with the specified prefix and URI to this
 <code>SOAPElement</code> object.
 <p>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - a <code>String</code> giving the prefix of the namespace<DD><CODE>uri</CODE> - a <CODE>String</CODE> giving
     the prefix of the namespace
<DT><B>Returns:</B><DD>the <code>SOAPElement</code> object into which this
     namespace declaration was inserted.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - if there is an error in creating the
                     namespace</DL>
</DD>
</DL>
<HR>

<A NAME="getAttributeValue(javax.xml.soap.Name)"><!-- --></A><H3>
getAttributeValue</H3>
<PRE>
public java.lang.String <B>getAttributeValue</B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)</PRE>
<DL>
<DD>Returns the value of the attribute with the specified
 name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <CODE>Name</CODE> object with
     the name of the attribute
<DT><B>Returns:</B><DD>a <CODE>String</CODE> giving the value of the
     specified attribute</DL>
</DD>
</DL>
<HR>

<A NAME="getAllAttributes()"><!-- --></A><H3>
getAllAttributes</H3>
<PRE>
public java.util.Iterator <B>getAllAttributes</B>()</PRE>
<DL>
<DD>Returns an iterator over all of the attribute names in
 this <CODE>SOAPElement</CODE> object. The iterator can be
 used to get the attribute names, which can then be passed to
 the method <CODE>getAttributeValue</CODE> to retrieve the
 value of each attribute.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator over the names of the attributes</DL>
</DD>
</DL>
<HR>

<A NAME="getNamespaceURI(java.lang.String)"><!-- --></A><H3>
getNamespaceURI</H3>
<PRE>
public java.lang.String <B>getNamespaceURI</B>(java.lang.String&nbsp;prefix)</PRE>
<DL>
<DD>Returns the URI of the namespace that has the given
 prefix.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - a <CODE>String</CODE> giving
     the prefix of the namespace for which to search
<DT><B>Returns:</B><DD>a <CODE>String</CODE> with the uri of the namespace
     that has the given prefix</DL>
</DD>
</DL>
<HR>

<A NAME="getNamespacePrefixes()"><!-- --></A><H3>
getNamespacePrefixes</H3>
<PRE>
public java.util.Iterator <B>getNamespacePrefixes</B>()</PRE>
<DL>
<DD>Returns an iterator of namespace prefixes. The iterator
 can be used to get the namespace prefixes, which can then be
 passed to the method <CODE>getNamespaceURI</CODE> to retrieve
 the URI of each namespace.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator over the namespace prefixes in this
     <CODE>SOAPElement</CODE> object</DL>
</DD>
</DL>
<HR>

<A NAME="getElementName()"><!-- --></A><H3>
getElementName</H3>
<PRE>
public <A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A> <B>getElementName</B>()</PRE>
<DL>
<DD>Returns the name of this <CODE>SOAPElement</CODE>
 object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a <CODE>Name</CODE> object with the name of this
     <CODE>SOAPElement</CODE> object</DL>
</DD>
</DL>
<HR>

<A NAME="removeAttribute(javax.xml.soap.Name)"><!-- --></A><H3>
removeAttribute</H3>
<PRE>
public boolean <B>removeAttribute</B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)</PRE>
<DL>
<DD>Removes the attribute with the specified name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the <CODE>Name</CODE> object with
     the name of the attribute to be removed
<DT><B>Returns:</B><DD><CODE>true</CODE> if the attribute was removed
     successfully; <CODE>false</CODE> if it was not</DL>
</DD>
</DL>
<HR>

<A NAME="removeNamespaceDeclaration(java.lang.String)"><!-- --></A><H3>
removeNamespaceDeclaration</H3>
<PRE>
public boolean <B>removeNamespaceDeclaration</B>(java.lang.String&nbsp;prefix)</PRE>
<DL>
<DD>Removes the namespace declaration corresponding to the
 given prefix.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - a <CODE>String</CODE> giving
     the prefix for which to search
<DT><B>Returns:</B><DD><CODE>true</CODE> if the namespace declaration was
     removed successfully; <CODE>false</CODE> if it was
     not</DL>
</DD>
</DL>
<HR>

<A NAME="getChildElements()"><!-- --></A><H3>
getChildElements</H3>
<PRE>
public java.util.Iterator <B>getChildElements</B>()</PRE>
<DL>
<DD>Returns an iterator over all the immediate content of
 this element. This includes <CODE>Text</CODE> objects as well
 as <CODE>SOAPElement</CODE> objects.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator with the content of this <CODE>
     SOAPElement</CODE> object</DL>
</DD>
</DL>
<HR>

<A NAME="getChildElements(javax.xml.soap.Name)"><!-- --></A><H3>
getChildElements</H3>
<PRE>
public java.util.Iterator <B>getChildElements</B>(<A HREF="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;name)</PRE>
<DL>
<DD>Returns an iterator over all the child elements with the
 specified name.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <CODE>Name</CODE> object with
     the name of the child elements to be returned
<DT><B>Returns:</B><DD>an <CODE>Iterator</CODE> object over all the elements
     in this <CODE>SOAPElement</CODE> object with the
     specified name</DL>
</DD>
</DL>
<HR>

<A NAME="setEncodingStyle(java.lang.String)"><!-- --></A><H3>
setEncodingStyle</H3>
<PRE>
public void <B>setEncodingStyle</B>(java.lang.String&nbsp;encodingStyle)
                      throws <A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Sets the encoding style for this <CODE>SOAPElement</CODE>
 object to one specified.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>encodingStyle</CODE> - a <CODE>String</CODE>
     giving the encoding style
<DT><B>Throws:</B>
<DD><CODE>java.lang.IllegalArgumentException</CODE> - if
     there was a problem in the encoding style being set.
<DD><CODE><A HREF="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../javax/xml/soap/SOAPElement.html#getEncodingStyle()"><CODE>getEncodingStyle()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getEncodingStyle()"><!-- --></A><H3>
getEncodingStyle</H3>
<PRE>
public java.lang.String <B>getEncodingStyle</B>()</PRE>
<DL>
<DD>Returns the encoding style for this <CODE>
 SOAPElement</CODE> object.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a <CODE>String</CODE> giving the encoding style<DT><B>See Also:</B><DD><A HREF="../../../javax/xml/soap/SOAPElement.html#setEncodingStyle(java.lang.String)"><CODE>setEncodingStyle(java.lang.String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="removeContents()"><!-- --></A><H3>
removeContents</H3>
<PRE>
public void <B>removeContents</B>()</PRE>
<DL>
<DD>Detaches all children of this <code>SOAPElement</code>.
 <p>
 This method is useful for rolling back the construction of partially
 completed <code>SOAPHeaders</code> and <code>SOAPBodys</code> in
 reparation for sending a fault when an error condition is detected. It is
 also useful for recycling portions of a document within a SOAP message.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVisibleNamespacePrefixes()"><!-- --></A><H3>
getVisibleNamespacePrefixes</H3>
<PRE>
public java.util.Iterator <B>getVisibleNamespacePrefixes</B>()</PRE>
<DL>
<DD>Returns an <code>Iterator</code> over the namespace prefix
 <code>String</code>s visible to this element. The prefixes returned by
 this iterator can be passed to the method <code>getNamespaceURI()</code>
 to retrieve the URI of each namespace.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator over the namespace prefixes are within scope of this
              <code>SOAPElement</code> object</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=3 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="class-use/SOAPElement.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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="../../../javax/xml/soap/SOAPConstants.html" title="interface in javax.xml.soap"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/xml/soap/SOAPEnvelope.html" title="interface in javax.xml.soap"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SOAPElement.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright © 2005 Apache Web Services Project. All Rights Reserved.
</BODY>
</HTML>
