<!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:47 PDT 2006 -->
<TITLE>
MessageElement (Axis API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.axis.message.MessageElement class">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="MessageElement (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/MessageElement.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="../../../../org/apache/axis/message/InputStreamBody.html" title="class in org.apache.axis.message"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/axis/message/MessageElement.QNameAttr.html" title="class in org.apache.axis.message"><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="MessageElement.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;<A HREF="#field_summary">FIELD</A>&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;<A HREF="#field_detail">FIELD</A>&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">
org.apache.axis.message</FONT>
<BR>
Class MessageElement</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">org.apache.axis.message.NodeImpl</A>
      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.apache.axis.message.MessageElement</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Cloneable, org.w3c.dom.Element, <A HREF="../../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</A>, org.w3c.dom.Node, org.w3c.dom.NodeList, java.io.Serializable, <A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/axis/message/DetailEntry.html" title="class in org.apache.axis.message">DetailEntry</A>, <A HREF="../../../../org/apache/axis/message/RPCParam.html" title="class in org.apache.axis.message">RPCParam</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/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 class <B>MessageElement</B><DT>extends <A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A><DT>implements <A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A>, java.io.Serializable, org.w3c.dom.NodeList, java.lang.Cloneable</DL>

<P>
MessageElement is the base type of nodes of the SOAP message parse tree.

 Note: it was made Serializable to help users of Apache SOAP who had
 exploited the serializability of the DOM tree to migrate to Axis.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.axis.message.MessageElement">Serialized Form</A></DL>
<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">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.QNameAttr.html" title="class in org.apache.axis.message">MessageElement.QNameAttr</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class that represents a qname in a the qNameAttrs vector.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== 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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#_isRoot">_isRoot</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#context">context</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#encodingStyle">encodingStyle</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our encoding style, if any</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#endEventIndex">endEventIndex</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#fixupDeserializer">fixupDeserializer</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!!! TODO : Make sure this handles multiple targets</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#href">href</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#id">id</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;org.apache.commons.logging.Log</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#log">log</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/axis/message/SOAPEnvelope.html" title="class in org.apache.axis.message">SOAPEnvelope</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#message">message</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.ArrayList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#namespaces">namespaces</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#qNameAttrs">qNameAttrs</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/axis/message/SAX2EventRecorder.html" title="class in org.apache.axis.message">SAX2EventRecorder</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#recorder">recorder</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#startContentsIndex">startContentsIndex</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#startEventIndex">startEventIndex</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#typeQName">typeQName</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.axis.message.NodeImpl"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class org.apache.axis.message.<A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html#_isDirty">_isDirty</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#attributes">attributes</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#children">children</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#document">document</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#name">name</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#namespaceURI">namespaceURI</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#parent">parent</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#prefix">prefix</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#textRep">textRep</A></CODE></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 ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement()">MessageElement</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;No-arg constructor for building messages?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(org.w3c.dom.CharacterData)">MessageElement</A></B>(org.w3c.dom.CharacterData&nbsp;text)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;construct a text element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(org.w3c.dom.Element)">MessageElement</A></B>(org.w3c.dom.Element&nbsp;elem)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;create a node through a deep copy of the passed in element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(javax.xml.soap.Name)">MessageElement</A></B>(<A HREF="../../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;eltName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;construct using a <A HREF="../../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap"><CODE>Name</CODE></A> implementation,</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(javax.xml.namespace.QName)">MessageElement</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constructor declaring the qualified name of the node</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(javax.xml.namespace.QName, java.lang.Object)">MessageElement</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;name,
               java.lang.Object&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constructor declaring the qualified name of the node
 and its value</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(java.lang.String, java.lang.String)">MessageElement</A></B>(java.lang.String&nbsp;namespace,
               java.lang.String&nbsp;localPart)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constructor</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(java.lang.String, java.lang.String, java.lang.Object)">MessageElement</A></B>(java.lang.String&nbsp;namespace,
               java.lang.String&nbsp;localPart,
               java.lang.Object&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constructor binding the internal object value field to the
 value parameter</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(java.lang.String, java.lang.String, java.lang.String)">MessageElement</A></B>(java.lang.String&nbsp;localPart,
               java.lang.String&nbsp;prefix,
               java.lang.String&nbsp;namespace)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constructor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">MessageElement</A></B>(java.lang.String&nbsp;namespace,
               java.lang.String&nbsp;localPart,
               java.lang.String&nbsp;prefix,
               org.xml.sax.Attributes&nbsp;attributes,
               <A HREF="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Advanced constructor used for deserialization.</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">
<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="../../../../org/apache/axis/message/MessageElement.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;attrName,
             java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a new attribute</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="../../../../org/apache/axis/message/MessageElement.html#addAttribute(java.lang.String, java.lang.String, javax.xml.namespace.QName)">addAttribute</A></B>(java.lang.String&nbsp;namespace,
             java.lang.String&nbsp;localName,
             <A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add an attribute to the qname vector.</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="../../../../org/apache/axis/message/MessageElement.html#addAttribute(java.lang.String, java.lang.String, java.lang.String)">addAttribute</A></B>(java.lang.String&nbsp;namespace,
             java.lang.String&nbsp;localName,
             java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a normal CDATA/text attribute.</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="../../../../org/apache/axis/message/MessageElement.html#addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">addAttribute</A></B>(java.lang.String&nbsp;attrPrefix,
             java.lang.String&nbsp;namespace,
             java.lang.String&nbsp;localName,
             java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add an attribute.</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="../../../../org/apache/axis/message/MessageElement.html#addChild(org.apache.axis.message.MessageElement)">addChild</A></B>(<A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A>&nbsp;el)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Note that this method will log a error and no-op if there is
 a value (set using setObjectValue) in the MessageElement.</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="../../../../org/apache/axis/message/MessageElement.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;childName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add the child element</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="../../../../org/apache/axis/message/MessageElement.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;The added child must be an instance of MessageElement rather than
 an abitrary SOAPElement otherwise a (wrapped) ClassCastException
 will be thrown.</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="../../../../org/apache/axis/message/MessageElement.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;add a child element in the message element's own namespace</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="../../../../org/apache/axis/message/MessageElement.html#addChildElement(java.lang.String, java.lang.String)">addChildElement</A></B>(java.lang.String&nbsp;localName,
                java.lang.String&nbsp;prefixName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a child element</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="../../../../org/apache/axis/message/MessageElement.html#addChildElement(java.lang.String, java.lang.String, java.lang.String)">addChildElement</A></B>(java.lang.String&nbsp;localName,
                java.lang.String&nbsp;childPrefix,
                java.lang.String&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a child element</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="../../../../org/apache/axis/message/MessageElement.html#addMapping(org.apache.axis.utils.Mapping)">addMapping</A></B>(<A HREF="../../../../org/apache/axis/utils/Mapping.html" title="class in org.apache.axis.utils">Mapping</A>&nbsp;map)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a new namespace/prefix mapping</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="../../../../org/apache/axis/message/MessageElement.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;create a <A HREF="../../../../org/apache/axis/utils/Mapping.html" title="class in org.apache.axis.utils"><CODE>Mapping</CODE></A> mapping and add to our namespace list.</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="../../../../org/apache/axis/message/MessageElement.html#addTextNode(java.lang.String)">addTextNode</A></B>(java.lang.String&nbsp;s)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add a text node to the document.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#childDeepCloned(org.apache.axis.message.NodeImpl, org.apache.axis.message.NodeImpl)">childDeepCloned</A></B>(<A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A>&nbsp;oldNode,
                <A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A>&nbsp;newNode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Node</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#cloneNode(boolean)">cloneNode</A></B>(boolean&nbsp;deep)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a duplicate of this node, i.e., serves as a generic copy
 constructor for nodes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#cloning()">cloning</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protected clone method (not public)

  copied status
  -------------------
  protected String    name ;             Y
  protected String    prefix ;           Y
  protected String    namespaceURI ;     Y
  protected transient Attributes attributes  Y
  protected String    id;               Y?
  protected String    href;             Y?
  protected boolean   _isRoot = true;   Y?
  protected SOAPEnvelope message = null; N?
  protected transient DeserializationContext context;  Y?
  protected transient QName typeQName = null;          Y?
  protected Vector qNameAttrs = null;                  Y?
  protected transient SAX2EventRecorder recorder = null; N?
  protected int startEventIndex = 0;                   N?
  protected int startContentsIndex = 0;                N?
  protected int endEventIndex = -1;                    N?
  protected CharacterData textRep = null;             Y?
  protected MessageElement parent = null;             N
  public ArrayList namespaces = null;                 Y
  protected String encodingStyle = null;              N?
   private Object objectValue = null;                 N?</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="../../../../org/apache/axis/message/MessageElement.html#detachAllChildren()">detachAllChildren</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove all children.</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="../../../../org/apache/axis/message/MessageElement.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;equality test.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#findElement(java.util.Vector, java.lang.String, java.lang.String)">findElement</A></B>(java.util.Vector&nbsp;vec,
            java.lang.String&nbsp;namespace,
            java.lang.String&nbsp;localPart)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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="../../../../org/apache/axis/message/MessageElement.html#getAllAttributes()">getAllAttributes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get an interator to all the attributes of the node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Document</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getAsDocument()">getAsDocument</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the message element as a document.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Element</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getAsDOM()">getAsDOM</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;create a DOM from the message element, by
 serializing and deserializing the element</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="../../../../org/apache/axis/message/MessageElement.html#getAsString()">getAsString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the message element as a string.</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="../../../../org/apache/axis/message/MessageElement.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;attrName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get an attribute by name</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Attr</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getAttributeNode(java.lang.String)">getAttributeNode</A></B>(java.lang.String&nbsp;attrName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>this is not implemented</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Attr</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getAttributeNodeNS(java.lang.String, java.lang.String)">getAttributeNodeNS</A></B>(java.lang.String&nbsp;namespace,
                   java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>not implemented!</I></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="../../../../org/apache/axis/message/MessageElement.html#getAttributeNS(java.lang.String, java.lang.String)">getAttributeNS</A></B>(java.lang.String&nbsp;namespaceURI,
               java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the attribute with namespace/local name match.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.xml.sax.Attributes</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getAttributesEx()">getAttributesEx</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the attributes</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="../../../../org/apache/axis/message/MessageElement.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;attrName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of an attribute whose namespace and local name are described.</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="../../../../org/apache/axis/message/MessageElement.html#getAttributeValue(java.lang.String)">getAttributeValue</A></B>(java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the value of an attribute</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getChildElement(javax.xml.namespace.QName)">getChildElement</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to get the first matching child for a given QName.</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="../../../../org/apache/axis/message/MessageElement.html#getChildElements()">getChildElements</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get an iterator over the children
 This iterator <i>may</i> get confused if changes are made to the
 children while the iteration is in progress.</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="../../../../org/apache/axis/message/MessageElement.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;childName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get an iterator over child elements</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="../../../../org/apache/axis/message/MessageElement.html#getChildElements(javax.xml.namespace.QName)">getChildElements</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get an iterator over child elements</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getChildren()">getChildren</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get a list of children</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.xml.sax.Attributes</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getCompleteAttributes()">getCompleteAttributes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtain an Attributes collection consisting of all attributes
 for this MessageElement, including namespace declarations.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getDeserializationContext()">getDeserializationContext</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieve the DeserializationContext associated with this MessageElement</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="../../../../org/apache/axis/message/MessageElement.html#getElementName()">getElementName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the full name of the element</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.NodeList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getElementsByTagName(java.lang.String)">getElementsByTagName</A></B>(java.lang.String&nbsp;tagName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.NodeList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getElementsByTagNameNS(java.lang.String, java.lang.String)">getElementsByTagNameNS</A></B>(java.lang.String&nbsp;namespace,
                       java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;org.w3c.dom.NodeList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getElementsNS(org.w3c.dom.Element, java.lang.String, java.lang.String)">getElementsNS</A></B>(org.w3c.dom.Element&nbsp;parentElement,
              java.lang.String&nbsp;namespace,
              java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;helper method for recusively getting the element that has namespace URI and localname</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="../../../../org/apache/axis/message/MessageElement.html#getEncodingStyle()">getEncodingStyle</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the encoding style.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/message/SOAPEnvelope.html" title="class in org.apache.axis.message">SOAPEnvelope</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getEnvelope()">getEnvelope</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get our current envelope</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getFixupDeserializer()">getFixupDeserializer</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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="../../../../org/apache/axis/message/MessageElement.html#getHref()">getHref</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get a saved href</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="../../../../org/apache/axis/message/MessageElement.html#getID()">getID</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get a saved ID</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getLength()">getLength</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The number of nodes in the list.</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="../../../../org/apache/axis/message/MessageElement.html#getName()">getName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the local name 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="../../../../org/apache/axis/message/MessageElement.html#getNamespacePrefixes()">getNamespacePrefixes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get an iterator of the 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="../../../../org/apache/axis/message/MessageElement.html#getNamespaceURI(java.lang.String)">getNamespaceURI</A></B>(java.lang.String&nbsp;searchPrefix)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map from a prefix to a namespace.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getObjectValue()">getObjectValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the node as an object of registered type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getObjectValue(java.lang.Class)">getObjectValue</A></B>(java.lang.Class&nbsp;cls)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns value of the node as an object of registered type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Document</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getOwnerDocument()">getOwnerDocument</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>Document</code> object associated with this node.</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="../../../../org/apache/axis/message/MessageElement.html#getPrefix(java.lang.String)">getPrefix</A></B>(java.lang.String&nbsp;searchNamespaceURI)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the prefix for a given namespace URI</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getQName()">getQName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the fully qualified name of this element</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getRealElement()">getRealElement</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the 'real' element -will follow hrefs.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/axis/message/SAX2EventRecorder.html" title="class in org.apache.axis.message">SAX2EventRecorder</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getRecorder()">getRecorder</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the event recorder</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="../../../../org/apache/axis/message/MessageElement.html#getTagName()">getTagName</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getType()">getType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the element's type.</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="../../../../org/apache/axis/message/MessageElement.html#getValue()">getValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value of the doc as a string.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getValueAsType(javax.xml.namespace.QName)">getValueAsType</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;type)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getValueAsType(javax.xml.namespace.QName, java.lang.Class)">getValueAsType</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;type,
               java.lang.Class&nbsp;cls)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is deserialization logic mixed in to our element class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#getValueDOM()">getValueDOM</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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="../../../../org/apache/axis/message/MessageElement.html#getVisibleNamespacePrefixes()">getVisibleNamespacePrefixes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get an iterator over visible prefixes.</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="../../../../org/apache/axis/message/MessageElement.html#hasAttribute(java.lang.String)">hasAttribute</A></B>(java.lang.String&nbsp;attrName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test for an attribute existing</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="../../../../org/apache/axis/message/MessageElement.html#hasAttributeNS(java.lang.String, java.lang.String)">hasAttributeNS</A></B>(java.lang.String&nbsp;namespace,
               java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test for an attribute</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="../../../../org/apache/axis/message/MessageElement.html#isRoot()">isRoot</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the is-root flag</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Node</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#item(int)">item</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get a child node</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="../../../../org/apache/axis/message/MessageElement.html#output(org.apache.axis.encoding.SerializationContext)">output</A></B>(<A HREF="../../../../org/apache/axis/encoding/SerializationContext.html" title="class in org.apache.axis.encoding">SerializationContext</A>&nbsp;outputContext)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the public output() method, which will always simply use
 the recorded SAX stream for this element if it is available.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#outputImpl(org.apache.axis.encoding.SerializationContext)">outputImpl</A></B>(<A HREF="../../../../org/apache/axis/encoding/SerializationContext.html" title="class in org.apache.axis.encoding">SerializationContext</A>&nbsp;outputContext)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;override point -output to a serialization context.</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="../../../../org/apache/axis/message/MessageElement.html#publishContents(org.xml.sax.ContentHandler)">publishContents</A></B>(org.xml.sax.ContentHandler&nbsp;handler)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;replay the sax events to a SAX content handles</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="../../../../org/apache/axis/message/MessageElement.html#publishToHandler(org.xml.sax.ContentHandler)">publishToHandler</A></B>(org.xml.sax.ContentHandler&nbsp;handler)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;replay the sax events to a handler</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="../../../../org/apache/axis/message/MessageElement.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;attrName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove an element</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="../../../../org/apache/axis/message/MessageElement.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(java.lang.String&nbsp;attrName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove a named attribute.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Attr</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#removeAttributeNode(org.w3c.dom.Attr)">removeAttributeNode</A></B>(org.w3c.dom.Attr&nbsp;oldAttr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove a an attribue</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="../../../../org/apache/axis/message/MessageElement.html#removeAttributeNS(java.lang.String, java.lang.String)">removeAttributeNS</A></B>(java.lang.String&nbsp;namespace,
                  java.lang.String&nbsp;localName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove an attribute.</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="../../../../org/apache/axis/message/MessageElement.html#removeContents()">removeContents</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove all chidlren.</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="../../../../org/apache/axis/message/MessageElement.html#removeNamespaceDeclaration(java.lang.String)">removeNamespaceDeclaration</A></B>(java.lang.String&nbsp;namespacePrefix)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove a namespace declaration.</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="../../../../org/apache/axis/message/MessageElement.html#setAllAttributes(org.xml.sax.Attributes)">setAllAttributes</A></B>(org.xml.sax.Attributes&nbsp;attrs)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set all the attributes of this instance</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="../../../../org/apache/axis/message/MessageElement.html#setAttribute(java.lang.String, java.lang.String)">setAttribute</A></B>(java.lang.String&nbsp;name,
             java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set or update an attribute.</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="../../../../org/apache/axis/message/MessageElement.html#setAttribute(java.lang.String, java.lang.String, java.lang.String)">setAttribute</A></B>(java.lang.String&nbsp;namespace,
             java.lang.String&nbsp;localName,
             java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set an attribute, adding the attribute if it isn't already present
 in this element, and changing the value if it is.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Attr</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#setAttributeNode(org.w3c.dom.Attr)">setAttributeNode</A></B>(org.w3c.dom.Attr&nbsp;newAttr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>this is not implemented</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.w3c.dom.Attr</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/axis/message/MessageElement.html#setAttributeNodeNS(org.w3c.dom.Attr)">setAttributeNodeNS</A></B>(org.w3c.dom.Attr&nbsp;newAttr)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set an attribute as a node</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="../../../../org/apache/axis/message/MessageElement.html#setAttributeNS(java.lang.String, java.lang.String, java.lang.String)">setAttributeNS</A></B>(java.lang.String&nbsp;namespaceURI,
               java.lang.String&nbsp;qualifiedName,
               java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set an attribute or alter an existing one</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="../../../../org/apache/axis/message/MessageElement.html#setContentsIndex(int)">setContentsIndex</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the index point of our content's starting in the
 event recording</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="../../../../org/apache/axis/message/MessageElement.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>
<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="../../../../org/apache/axis/message/MessageElement.html#setEndIndex(int)">setEndIndex</A></B>(int&nbsp;endIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record the end index of the SAX recording.</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="../../../../org/apache/axis/message/MessageElement.html#setEnvelope(org.apache.axis.message.SOAPEnvelope)">setEnvelope</A></B>(<A HREF="../../../../org/apache/axis/message/SOAPEnvelope.html" title="class in org.apache.axis.message">SOAPEnvelope</A>&nbsp;env)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bind a a new soap envelope.</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="../../../../org/apache/axis/message/MessageElement.html#setFixupDeserializer(org.apache.axis.encoding.Deserializer)">setFixupDeserializer</A></B>(<A HREF="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A>&nbsp;dser)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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="../../../../org/apache/axis/message/MessageElement.html#setName(java.lang.String)">setName</A></B>(java.lang.String&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the local part of this element's 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="../../../../org/apache/axis/message/MessageElement.html#setNamespaceURI(java.lang.String)">setNamespaceURI</A></B>(java.lang.String&nbsp;nsURI)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the namespace URI of the element</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="../../../../org/apache/axis/message/MessageElement.html#setNSMappings(java.util.ArrayList)">setNSMappings</A></B>(java.util.ArrayList&nbsp;namespaces)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set a new namespace mapping list</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="../../../../org/apache/axis/message/MessageElement.html#setObjectValue(java.lang.Object)">setObjectValue</A></B>(java.lang.Object&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets value of this node to an Object.</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="../../../../org/apache/axis/message/MessageElement.html#setQName(javax.xml.namespace.QName)">setQName</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qName)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the name and namespace of this element</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="../../../../org/apache/axis/message/MessageElement.html#setRecorder(org.apache.axis.message.SAX2EventRecorder)">setRecorder</A></B>(<A HREF="../../../../org/apache/axis/message/SAX2EventRecorder.html" title="class in org.apache.axis.message">SAX2EventRecorder</A>&nbsp;rec)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the event recorder</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="../../../../org/apache/axis/message/MessageElement.html#setType(javax.xml.namespace.QName)">setType</A></B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the element's type</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="../../../../org/apache/axis/message/MessageElement.html#setValue(java.lang.String)">setValue</A></B>(java.lang.String&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this is a Text node then this method will set its value, otherwise it
 sets the value of the immediate (Text) child of this node.</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="../../../../org/apache/axis/message/MessageElement.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generate a string representation by serializing our contents
 This is not a lightweight operation, and is repeated whenever
 you call this method.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.axis.message.NodeImpl"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class org.apache.axis.message.<A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html#appendChild(org.w3c.dom.Node)">appendChild</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#convertAttrSAXtoDOM(org.xml.sax.Attributes)">convertAttrSAXtoDOM</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#detachNode()">detachNode</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getAttributes()">getAttributes</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getChildNodes()">getChildNodes</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getFirstChild()">getFirstChild</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getLastChild()">getLastChild</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getLocalName()">getLocalName</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getNamespaceURI()">getNamespaceURI</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getNextSibling()">getNextSibling</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getNodeName()">getNodeName</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getNodeType()">getNodeType</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getNodeValue()">getNodeValue</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getParent()">getParent</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getParentElement()">getParentElement</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getParentNode()">getParentNode</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getPrefix()">getPrefix</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#getPreviousSibling()">getPreviousSibling</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#hasAttributes()">hasAttributes</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#hasChildNodes()">hasChildNodes</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#initializeChildren()">initializeChildren</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#insertBefore(org.w3c.dom.Node, org.w3c.dom.Node)">insertBefore</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#isDirty()">isDirty</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#isSupported(java.lang.String, java.lang.String)">isSupported</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#makeAttributesEditable()">makeAttributesEditable</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#normalize()">normalize</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#recycleNode()">recycleNode</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#removeChild(org.w3c.dom.Node)">removeChild</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#replaceChild(org.w3c.dom.Node, org.w3c.dom.Node)">replaceChild</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#reset()">reset</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#setDirty()">setDirty</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#setDirty(boolean)">setDirty</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#setNodeValue(java.lang.String)">setNodeValue</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#setOwnerDocument(org.w3c.dom.Document)">setOwnerDocument</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#setParent(org.apache.axis.message.NodeImpl)">setParent</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#setParentElement(javax.xml.soap.SOAPElement)">setParentElement</A>, <A HREF="../../../../org/apache/axis/message/NodeImpl.html#setPrefix(java.lang.String)">setPrefix</A></CODE></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">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></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#recycleNode()">recycleNode</A>, <A HREF="../../../../javax/xml/soap/Node.html#setParentElement(javax.xml.soap.SOAPElement)">setParentElement</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, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

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

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

<A NAME="log"><!-- --></A><H3>
log</H3>
<PRE>
protected static org.apache.commons.logging.Log <B>log</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="id"><!-- --></A><H3>
id</H3>
<PRE>
protected java.lang.String <B>id</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="href"><!-- --></A><H3>
href</H3>
<PRE>
protected java.lang.String <B>href</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="_isRoot"><!-- --></A><H3>
_isRoot</H3>
<PRE>
protected boolean <B>_isRoot</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="message"><!-- --></A><H3>
message</H3>
<PRE>
protected <A HREF="../../../../org/apache/axis/message/SOAPEnvelope.html" title="class in org.apache.axis.message">SOAPEnvelope</A> <B>message</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="context"><!-- --></A><H3>
context</H3>
<PRE>
protected transient <A HREF="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A> <B>context</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="typeQName"><!-- --></A><H3>
typeQName</H3>
<PRE>
protected transient <A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A> <B>typeQName</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="qNameAttrs"><!-- --></A><H3>
qNameAttrs</H3>
<PRE>
protected java.util.Vector <B>qNameAttrs</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="recorder"><!-- --></A><H3>
recorder</H3>
<PRE>
protected transient <A HREF="../../../../org/apache/axis/message/SAX2EventRecorder.html" title="class in org.apache.axis.message">SAX2EventRecorder</A> <B>recorder</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="startEventIndex"><!-- --></A><H3>
startEventIndex</H3>
<PRE>
protected int <B>startEventIndex</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="startContentsIndex"><!-- --></A><H3>
startContentsIndex</H3>
<PRE>
protected int <B>startContentsIndex</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="endEventIndex"><!-- --></A><H3>
endEventIndex</H3>
<PRE>
protected int <B>endEventIndex</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="namespaces"><!-- --></A><H3>
namespaces</H3>
<PRE>
public java.util.ArrayList <B>namespaces</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="encodingStyle"><!-- --></A><H3>
encodingStyle</H3>
<PRE>
protected java.lang.String <B>encodingStyle</B></PRE>
<DL>
<DD>Our encoding style, if any
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="fixupDeserializer"><!-- --></A><H3>
fixupDeserializer</H3>
<PRE>
protected <A HREF="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A> <B>fixupDeserializer</B></PRE>
<DL>
<DD>!!! TODO : Make sure this handles multiple targets
<P>
<DL>
</DL>
</DL>

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

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

<A NAME="MessageElement()"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>()</PRE>
<DL>
<DD>No-arg constructor for building messages?
<P>
</DL>
<HR>

<A NAME="MessageElement(java.lang.String, java.lang.String)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(java.lang.String&nbsp;namespace,
                      java.lang.String&nbsp;localPart)</PRE>
<DL>
<DD>constructor
<P>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - namespace of element<DD><CODE>localPart</CODE> - local name</DL>
<HR>

<A NAME="MessageElement(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(java.lang.String&nbsp;localPart,
                      java.lang.String&nbsp;prefix,
                      java.lang.String&nbsp;namespace)</PRE>
<DL>
<DD>constructor. Automatically adds a namespace-prefix mapping to the mapping table
<P>
<DT><B>Parameters:</B><DD><CODE>localPart</CODE> - local name<DD><CODE>prefix</CODE> - prefix<DD><CODE>namespace</CODE> - namespace</DL>
<HR>

<A NAME="MessageElement(javax.xml.soap.Name)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(<A HREF="../../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</A>&nbsp;eltName)</PRE>
<DL>
<DD>construct using a <A HREF="../../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap"><CODE>Name</CODE></A> implementation,
<P>
<DT><B>Parameters:</B><DD><CODE>eltName</CODE> - <DT><B>See Also:</B><DD><A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(java.lang.String, java.lang.String, java.lang.String)"><CODE>MessageElement(String, String, String)</CODE></A></DL>
<HR>

<A NAME="MessageElement(java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(java.lang.String&nbsp;namespace,
                      java.lang.String&nbsp;localPart,
                      java.lang.Object&nbsp;value)</PRE>
<DL>
<DD>constructor binding the internal object value field to the
 value parameter
<P>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - namespace of the element<DD><CODE>localPart</CODE> - local name<DD><CODE>value</CODE> - value of the node</DL>
<HR>

<A NAME="MessageElement(javax.xml.namespace.QName)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;name)</PRE>
<DL>
<DD>constructor declaring the qualified name of the node
<P>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - naming information</DL>
<HR>

<A NAME="MessageElement(javax.xml.namespace.QName, java.lang.Object)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;name,
                      java.lang.Object&nbsp;value)</PRE>
<DL>
<DD>constructor declaring the qualified name of the node
 and its value
<P>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - naming information<DD><CODE>value</CODE> - value of the node</DL>
<HR>

<A NAME="MessageElement(org.w3c.dom.Element)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(org.w3c.dom.Element&nbsp;elem)</PRE>
<DL>
<DD>create a node through a deep copy of the passed in element.
<P>
<DT><B>Parameters:</B><DD><CODE>elem</CODE> - name to copy from</DL>
<HR>

<A NAME="MessageElement(org.w3c.dom.CharacterData)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(org.w3c.dom.CharacterData&nbsp;text)</PRE>
<DL>
<DD>construct a text element.
<P>
<DT><B>Parameters:</B><DD><CODE>text</CODE> - text data. This is <i>not</i> copied; it is referred to in the MessageElement.</DL>
<HR>

<A NAME="MessageElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)"><!-- --></A><H3>
MessageElement</H3>
<PRE>
public <B>MessageElement</B>(java.lang.String&nbsp;namespace,
                      java.lang.String&nbsp;localPart,
                      java.lang.String&nbsp;prefix,
                      org.xml.sax.Attributes&nbsp;attributes,
                      <A HREF="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)
               throws <A HREF="../../../../org/apache/axis/AxisFault.html" title="class in org.apache.axis">AxisFault</A></PRE>
<DL>
<DD>Advanced constructor used for deserialization.
 <ol>
 <li>The context provides the mappings and Sax event recorder
 <li>The soap messaging style is determined from the current message context, defaulting
 to SOAP1.1 if there is no current context.
 <li>if there is an id attribute (any namespace), then the ID is registered
 with <A HREF="../../../../org/apache/axis/encoding/DeserializationContext.html#registerElementByID(java.lang.String, org.apache.axis.message.MessageElement)"><CODE>DeserializationContext.registerElementByID(String, MessageElement)</CODE></A> ;a  new recorder is
 created if needed.
 <li>If there is an attribute "root" in the default SOAP namespace, then it is examined
 to see if it marks the element as root (value=="1" or not)
 <li>If there is an arrayType attribute then we assume we are an array and set our
 <A HREF="../../../../org/apache/axis/message/MessageElement.html#typeQName"><CODE>typeQName</CODE></A> field appropriately.
 <li>The <A HREF="../../../../org/apache/axis/message/MessageElement.html#href"><CODE>href</CODE></A> field is set if there is a relevant href value
 </ol>
<P>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - namespace namespace of element<DD><CODE>localPart</CODE> - local name local name of element<DD><CODE>prefix</CODE> - prefix prefix of element<DD><CODE>attributes</CODE> - attributes to save as our attributes<DD><CODE>context</CODE> - deserialization context for this message element
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/axis/AxisFault.html" title="class in org.apache.axis">AxisFault</A></CODE> - if the encoding style is not recognized/supported</DL>

<!-- ============ 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="getDeserializationContext()"><!-- --></A><H3>
getDeserializationContext</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A> <B>getDeserializationContext</B>()</PRE>
<DL>
<DD>Retrieve the DeserializationContext associated with this MessageElement
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The DeserializationContext associated with this MessageElement</DL>
</DD>
</DL>
<HR>

<A NAME="setFixupDeserializer(org.apache.axis.encoding.Deserializer)"><!-- --></A><H3>
setFixupDeserializer</H3>
<PRE>
public void <B>setFixupDeserializer</B>(<A HREF="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A>&nbsp;dser)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFixupDeserializer()"><!-- --></A><H3>
getFixupDeserializer</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A> <B>getFixupDeserializer</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setEndIndex(int)"><!-- --></A><H3>
setEndIndex</H3>
<PRE>
public void <B>setEndIndex</B>(int&nbsp;endIndex)</PRE>
<DL>
<DD>record the end index of the SAX recording.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>endIndex</CODE> - end value</DL>
</DD>
</DL>
<HR>

<A NAME="isRoot()"><!-- --></A><H3>
isRoot</H3>
<PRE>
public boolean <B>isRoot</B>()</PRE>
<DL>
<DD>get the is-root flag
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>true if the element is considered a document root.</DL>
</DD>
</DL>
<HR>

<A NAME="getID()"><!-- --></A><H3>
getID</H3>
<PRE>
public java.lang.String <B>getID</B>()</PRE>
<DL>
<DD>get a saved ID
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>ID or null for no ID</DL>
</DD>
</DL>
<HR>

<A NAME="getHref()"><!-- --></A><H3>
getHref</H3>
<PRE>
public java.lang.String <B>getHref</B>()</PRE>
<DL>
<DD>get a saved href
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>href or null</DL>
</DD>
</DL>
<HR>

<A NAME="getAttributesEx()"><!-- --></A><H3>
getAttributesEx</H3>
<PRE>
public org.xml.sax.Attributes <B>getAttributesEx</B>()</PRE>
<DL>
<DD>get the attributes
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>attributes. If this equals <CODE>NullAttributes.singleton</CODE> it is null</DL>
</DD>
</DL>
<HR>

<A NAME="cloneNode(boolean)"><!-- --></A><H3>
cloneNode</H3>
<PRE>
public org.w3c.dom.Node <B>cloneNode</B>(boolean&nbsp;deep)</PRE>
<DL>
<DD>Returns a duplicate of this node, i.e., serves as a generic copy
 constructor for nodes. The duplicate node has no parent; (
 <code>parentNode</code> is <code>null</code>.).
 <br>Cloning an <code>Element</code> copies all attributes and their
 values, including those generated by the XML processor to represent
 defaulted attributes, but this method does not copy any text it
 contains unless it is a deep clone, since the text is contained in a
 child <code>Text</code> node. Cloning an <code>Attribute</code>
 directly, as opposed to be cloned as part of an <code>Element</code>
 cloning operation, returns a specified attribute (
 <code>specified</code> is <code>true</code>). Cloning any other type
 of node simply returns a copy of this node.
 <br>Note that cloning an immutable subtree results in a mutable copy,
 but the children of an <code>EntityReference</code> clone are readonly
 . In addition, clones of unspecified <code>Attr</code> nodes are
 specified. And, cloning <code>Document</code>,
 <code>DocumentType</code>, <code>Entity</code>, and
 <code>Notation</code> nodes is implementation dependent.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>cloneNode</CODE> in interface <CODE>org.w3c.dom.Node</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html#cloneNode(boolean)">cloneNode</A></CODE> in class <CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>deep</CODE> - If <code>true</code>, recursively clone the subtree under
             the specified node; if <code>false</code>, clone only the node
             itself (and its attributes, if it is an <code>Element</code>).
<DT><B>Returns:</B><DD>The duplicate node.</DL>
</DD>
</DL>
<HR>

<A NAME="childDeepCloned(org.apache.axis.message.NodeImpl, org.apache.axis.message.NodeImpl)"><!-- --></A><H3>
childDeepCloned</H3>
<PRE>
protected void <B>childDeepCloned</B>(<A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A>&nbsp;oldNode,
                               <A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A>&nbsp;newNode)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="cloning()"><!-- --></A><H3>
cloning</H3>
<PRE>
protected java.lang.Object <B>cloning</B>()
                            throws java.lang.CloneNotSupportedException</PRE>
<DL>
<DD>protected clone method (not public)

  copied status
  -------------------
  protected String    name ;             Y
  protected String    prefix ;           Y
  protected String    namespaceURI ;     Y
  protected transient Attributes attributes  Y
  protected String    id;               Y?
  protected String    href;             Y?
  protected boolean   _isRoot = true;   Y?
  protected SOAPEnvelope message = null; N?
  protected transient DeserializationContext context;  Y?
  protected transient QName typeQName = null;          Y?
  protected Vector qNameAttrs = null;                  Y?
  protected transient SAX2EventRecorder recorder = null; N?
  protected int startEventIndex = 0;                   N?
  protected int startContentsIndex = 0;                N?
  protected int endEventIndex = -1;                    N?
  protected CharacterData textRep = null;             Y?
  protected MessageElement parent = null;             N
  public ArrayList namespaces = null;                 Y
  protected String encodingStyle = null;              N?
   private Object objectValue = null;                 N?
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>
<DT><B>Throws:</B>
<DD><CODE>java.lang.CloneNotSupportedException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setAllAttributes(org.xml.sax.Attributes)"><!-- --></A><H3>
setAllAttributes</H3>
<PRE>
public void <B>setAllAttributes</B>(org.xml.sax.Attributes&nbsp;attrs)</PRE>
<DL>
<DD>set all the attributes of this instance
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrs</CODE> - a new attributes list</DL>
</DD>
</DL>
<HR>

<A NAME="detachAllChildren()"><!-- --></A><H3>
detachAllChildren</H3>
<PRE>
public void <B>detachAllChildren</B>()</PRE>
<DL>
<DD>remove all children.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCompleteAttributes()"><!-- --></A><H3>
getCompleteAttributes</H3>
<PRE>
public org.xml.sax.Attributes <B>getCompleteAttributes</B>()</PRE>
<DL>
<DD>Obtain an Attributes collection consisting of all attributes
 for this MessageElement, including namespace declarations.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>Attributes collection</DL>
</DD>
</DL>
<HR>

<A NAME="getName()"><!-- --></A><H3>
getName</H3>
<PRE>
public java.lang.String <B>getName</B>()</PRE>
<DL>
<DD>get the local name of this element
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>name</DL>
</DD>
</DL>
<HR>

<A NAME="setName(java.lang.String)"><!-- --></A><H3>
setName</H3>
<PRE>
public void <B>setName</B>(java.lang.String&nbsp;name)</PRE>
<DL>
<DD>set the local part of this element's name
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getQName()"><!-- --></A><H3>
getQName</H3>
<PRE>
public <A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A> <B>getQName</B>()</PRE>
<DL>
<DD>get the fully qualified name of this element
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a QName describing the name of thsi element</DL>
</DD>
</DL>
<HR>

<A NAME="setQName(javax.xml.namespace.QName)"><!-- --></A><H3>
setQName</H3>
<PRE>
public void <B>setQName</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qName)</PRE>
<DL>
<DD>set the name and namespace of this element
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>qName</CODE> - qualified name</DL>
</DD>
</DL>
<HR>

<A NAME="setNamespaceURI(java.lang.String)"><!-- --></A><H3>
setNamespaceURI</H3>
<PRE>
public void <B>setNamespaceURI</B>(java.lang.String&nbsp;nsURI)</PRE>
<DL>
<DD>set the namespace URI of the element
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nsURI</CODE> - new namespace URI</DL>
</DD>
</DL>
<HR>

<A NAME="getType()"><!-- --></A><H3>
getType</H3>
<PRE>
public <A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A> <B>getType</B>()</PRE>
<DL>
<DD>get the element's type.
 If we are a reference, we look up our target in the context and
 return (and cache) its type.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>

<A NAME="setType(javax.xml.namespace.QName)"><!-- --></A><H3>
setType</H3>
<PRE>
public void <B>setType</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</PRE>
<DL>
<DD>set the element's type
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>qname</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getRecorder()"><!-- --></A><H3>
getRecorder</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/message/SAX2EventRecorder.html" title="class in org.apache.axis.message">SAX2EventRecorder</A> <B>getRecorder</B>()</PRE>
<DL>
<DD>get the event recorder
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>recorder or null</DL>
</DD>
</DL>
<HR>

<A NAME="setRecorder(org.apache.axis.message.SAX2EventRecorder)"><!-- --></A><H3>
setRecorder</H3>
<PRE>
public void <B>setRecorder</B>(<A HREF="../../../../org/apache/axis/message/SAX2EventRecorder.html" title="class in org.apache.axis.message">SAX2EventRecorder</A>&nbsp;rec)</PRE>
<DL>
<DD>set the event recorder
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>rec</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEncodingStyle()"><!-- --></A><H3>
getEncodingStyle</H3>
<PRE>
public java.lang.String <B>getEncodingStyle</B>()</PRE>
<DL>
<DD>Get the encoding style.  If ours is null, walk up the hierarchy
 and use our parent's.  Default if we're the root is "".
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getEncodingStyle()">getEncodingStyle</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the currently in-scope 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>remove all chidlren.
 All SOAPExceptions which can get thrown in this process are ignored.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#removeContents()">removeContents</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></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>get an iterator over visible prefixes. This includes all declared in
 parent elements
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getVisibleNamespacePrefixes()">getVisibleNamespacePrefixes</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator.</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. The semantics of a null value,
 as above in getEncodingStyle() are to just use the parent's value,
 but null here means set to "".
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#setEncodingStyle(java.lang.String)">setEncodingStyle</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></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="../../../../org/apache/axis/message/MessageElement.html#getEncodingStyle()"><CODE>getEncodingStyle()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="addChild(org.apache.axis.message.MessageElement)"><!-- --></A><H3>
addChild</H3>
<PRE>
public void <B>addChild</B>(<A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A>&nbsp;el)
              throws <A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Note that this method will log a error and no-op if there is
 a value (set using setObjectValue) in the MessageElement.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getChildren()"><!-- --></A><H3>
getChildren</H3>
<PRE>
public java.util.List <B>getChildren</B>()</PRE>
<DL>
<DD>get a list of children
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a list, or null if there are no children</DL>
</DD>
</DL>
<HR>

<A NAME="setContentsIndex(int)"><!-- --></A><H3>
setContentsIndex</H3>
<PRE>
public void <B>setContentsIndex</B>(int&nbsp;index)</PRE>
<DL>
<DD>set the index point of our content's starting in the
 event recording
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - index value of the first event of our recorder.</DL>
</DD>
</DL>
<HR>

<A NAME="setNSMappings(java.util.ArrayList)"><!-- --></A><H3>
setNSMappings</H3>
<PRE>
public void <B>setNSMappings</B>(java.util.ArrayList&nbsp;namespaces)</PRE>
<DL>
<DD>set a new namespace mapping list
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespaces</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getPrefix(java.lang.String)"><!-- --></A><H3>
getPrefix</H3>
<PRE>
public java.lang.String <B>getPrefix</B>(java.lang.String&nbsp;searchNamespaceURI)</PRE>
<DL>
<DD>get the prefix for a given namespace URI
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>searchNamespaceURI</CODE> - namespace
<DT><B>Returns:</B><DD>null for null or emtpy uri, null for no match, and the prefix iff there is a match</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;searchPrefix)</PRE>
<DL>
<DD>map from a prefix to a namespace.
 Will recurse <i>upward the element tree</i> until we get a match
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getNamespaceURI(java.lang.String)">getNamespaceURI</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>searchPrefix</CODE> - 
<DT><B>Returns:</B><DD>the prefix, or null for no match</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectValue()"><!-- --></A><H3>
getObjectValue</H3>
<PRE>
public java.lang.Object <B>getObjectValue</B>()</PRE>
<DL>
<DD>Returns value of the node as an object of registered type.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>Object of proper type, or null if no mapping could be found.</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectValue(java.lang.Class)"><!-- --></A><H3>
getObjectValue</H3>
<PRE>
public java.lang.Object <B>getObjectValue</B>(java.lang.Class&nbsp;cls)
                                throws java.lang.Exception</PRE>
<DL>
<DD>Returns value of the node as an object of registered type.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>cls</CODE> - Class that contains top level deserializer metadata
<DT><B>Returns:</B><DD>Object of proper type, or null if no mapping could be found.
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setObjectValue(java.lang.Object)"><!-- --></A><H3>
setObjectValue</H3>
<PRE>
public void <B>setObjectValue</B>(java.lang.Object&nbsp;newValue)
                    throws <A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>Sets value of this node to an Object.
 A serializer needs to be registered for this object class for proper
 operation.
 <p>
 Note that this method will log an error and no-op if there are
 any children in the MessageElement or if the MessageElement was
 constructed from XML.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newValue</CODE> - node's value or null.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getValueAsType(javax.xml.namespace.QName)"><!-- --></A><H3>
getValueAsType</H3>
<PRE>
public java.lang.Object <B>getValueAsType</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;type)
                                throws java.lang.Exception</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getValueAsType(javax.xml.namespace.QName, java.lang.Class)"><!-- --></A><H3>
getValueAsType</H3>
<PRE>
public java.lang.Object <B>getValueAsType</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;type,
                                       java.lang.Class&nbsp;cls)
                                throws java.lang.Exception</PRE>
<DL>
<DD>This is deserialization logic mixed in to our element class.
 It is only valid we have a deserializer, which means that we were created
 using <A HREF="../../../../org/apache/axis/message/MessageElement.html#MessageElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)"><CODE>MessageElement(String, String, String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)</CODE></A>
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>type</CODE> - type to look up a deserializer for.<DD><CODE>cls</CODE> - class to use for looking up the deserializer. This takes precedence over the type field.
<DT><B>Returns:</B><DD>the value of the deserializer
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="addAttribute(java.lang.String, java.lang.String, javax.xml.namespace.QName)"><!-- --></A><H3>
addAttribute</H3>
<PRE>
public void <B>addAttribute</B>(java.lang.String&nbsp;namespace,
                         java.lang.String&nbsp;localName,
                         <A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;value)</PRE>
<DL>
<DD>add an attribute to the qname vector. This is a separate vector from the
 main attribute list.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - <DD><CODE>localName</CODE> - <DD><CODE>value</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="addAttribute(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
addAttribute</H3>
<PRE>
public void <B>addAttribute</B>(java.lang.String&nbsp;namespace,
                         java.lang.String&nbsp;localName,
                         java.lang.String&nbsp;value)</PRE>
<DL>
<DD>add a normal CDATA/text attribute.
 There is no check whether or not the attribute already exists.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - namespace URI<DD><CODE>localName</CODE> - local anme<DD><CODE>value</CODE> - value</DL>
</DD>
</DL>
<HR>

<A NAME="addAttribute(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
addAttribute</H3>
<PRE>
public void <B>addAttribute</B>(java.lang.String&nbsp;attrPrefix,
                         java.lang.String&nbsp;namespace,
                         java.lang.String&nbsp;localName,
                         java.lang.String&nbsp;value)</PRE>
<DL>
<DD>add an attribute.
 Note that the prefix is not added to our mapping list.
 Also, there is no check whether or not the attribute already exists.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrPrefix</CODE> - prefix.<DD><CODE>namespace</CODE> - namespace URI<DD><CODE>localName</CODE> - <DD><CODE>value</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="setAttribute(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
setAttribute</H3>
<PRE>
public void <B>setAttribute</B>(java.lang.String&nbsp;namespace,
                         java.lang.String&nbsp;localName,
                         java.lang.String&nbsp;value)</PRE>
<DL>
<DD>Set an attribute, adding the attribute if it isn't already present
 in this element, and changing the value if it is.  Passing null as the
 value will cause any pre-existing attribute by this name to go away.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAttributeValue(java.lang.String)"><!-- --></A><H3>
getAttributeValue</H3>
<PRE>
public java.lang.String <B>getAttributeValue</B>(java.lang.String&nbsp;localName)</PRE>
<DL>
<DD>get the value of an attribute
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localName</CODE> - 
<DT><B>Returns:</B><DD>the value or null</DL>
</DD>
</DL>
<HR>

<A NAME="setEnvelope(org.apache.axis.message.SOAPEnvelope)"><!-- --></A><H3>
setEnvelope</H3>
<PRE>
public void <B>setEnvelope</B>(<A HREF="../../../../org/apache/axis/message/SOAPEnvelope.html" title="class in org.apache.axis.message">SOAPEnvelope</A>&nbsp;env)</PRE>
<DL>
<DD>bind a a new soap envelope. sets the dirty bit.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>env</CODE> - </DL>
</DD>
</DL>
<HR>

<A NAME="getEnvelope()"><!-- --></A><H3>
getEnvelope</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/message/SOAPEnvelope.html" title="class in org.apache.axis.message">SOAPEnvelope</A> <B>getEnvelope</B>()</PRE>
<DL>
<DD>get our current envelope
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>envelope or null.</DL>
</DD>
</DL>
<HR>

<A NAME="getRealElement()"><!-- --></A><H3>
getRealElement</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A> <B>getRealElement</B>()</PRE>
<DL>
<DD>get the 'real' element -will follow hrefs.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the message element or null if there is a href to something
 that is not a MessageElemeent.</DL>
</DD>
</DL>
<HR>

<A NAME="getAsDocument()"><!-- --></A><H3>
getAsDocument</H3>
<PRE>
public org.w3c.dom.Document <B>getAsDocument</B>()
                                   throws java.lang.Exception</PRE>
<DL>
<DD>get the message element as a document.
 This serializes the element to a string and then parses it.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE><DT><B>See Also:</B><DD><A HREF="../../../../org/apache/axis/message/MessageElement.html#getAsString()"><CODE>getAsString()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getAsString()"><!-- --></A><H3>
getAsString</H3>
<PRE>
public java.lang.String <B>getAsString</B>()
                             throws java.lang.Exception</PRE>
<DL>
<DD>get the message element as a string.
 This is not a cheap operation, as we have to serialise the
 entire message element to the current context, then
 convert it to a string.
 Nor is it cached; repeated calls repeat the operation.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an XML fragment in a string.
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE> - if anything went wrong</DL>
</DD>
</DL>
<HR>

<A NAME="getAsDOM()"><!-- --></A><H3>
getAsDOM</H3>
<PRE>
public org.w3c.dom.Element <B>getAsDOM</B>()
                             throws java.lang.Exception</PRE>
<DL>
<DD>create a DOM from the message element, by
 serializing and deserializing the element
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the root document element of the element
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE><DT><B>See Also:</B><DD><A HREF="../../../../org/apache/axis/message/MessageElement.html#getAsString()"><CODE>getAsString()</CODE></A>, 
<A HREF="../../../../org/apache/axis/message/MessageElement.html#getAsDocument()"><CODE>getAsDocument()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="publishToHandler(org.xml.sax.ContentHandler)"><!-- --></A><H3>
publishToHandler</H3>
<PRE>
public void <B>publishToHandler</B>(org.xml.sax.ContentHandler&nbsp;handler)
                      throws org.xml.sax.SAXException</PRE>
<DL>
<DD>replay the sax events to a handler
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>handler</CODE> - 
<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="publishContents(org.xml.sax.ContentHandler)"><!-- --></A><H3>
publishContents</H3>
<PRE>
public void <B>publishContents</B>(org.xml.sax.ContentHandler&nbsp;handler)
                     throws org.xml.sax.SAXException</PRE>
<DL>
<DD>replay the sax events to a SAX content handles
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>handler</CODE> - 
<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="output(org.apache.axis.encoding.SerializationContext)"><!-- --></A><H3>
output</H3>
<PRE>
public final void <B>output</B>(<A HREF="../../../../org/apache/axis/encoding/SerializationContext.html" title="class in org.apache.axis.encoding">SerializationContext</A>&nbsp;outputContext)
                  throws java.lang.Exception</PRE>
<DL>
<DD>This is the public output() method, which will always simply use
 the recorded SAX stream for this element if it is available.  If
 not, this method calls outputImpl() to allow subclasses and
 programmatically created messages to serialize themselves.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html#output(org.apache.axis.encoding.SerializationContext)">output</A></CODE> in class <CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>outputContext</CODE> - the SerializationContext we will write to.
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="outputImpl(org.apache.axis.encoding.SerializationContext)"><!-- --></A><H3>
outputImpl</H3>
<PRE>
protected void <B>outputImpl</B>(<A HREF="../../../../org/apache/axis/encoding/SerializationContext.html" title="class in org.apache.axis.encoding">SerializationContext</A>&nbsp;outputContext)
                   throws java.lang.Exception</PRE>
<DL>
<DD>override point -output to a serialization context.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>outputContext</CODE> - destination.
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE> - if something went wrong.</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD>Generate a string representation by serializing our contents
 This is not a lightweight operation, and is repeated whenever
 you call this method.
 If the serialization fails, an error is logged and the classic
 <CODE>Object.toString()</CODE> operation invoked instead.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>a string representing the class</DL>
</DD>
</DL>
<HR>

<A NAME="addMapping(org.apache.axis.utils.Mapping)"><!-- --></A><H3>
addMapping</H3>
<PRE>
public void <B>addMapping</B>(<A HREF="../../../../org/apache/axis/utils/Mapping.html" title="class in org.apache.axis.utils">Mapping</A>&nbsp;map)</PRE>
<DL>
<DD>add a new namespace/prefix mapping
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>map</CODE> - new mapping to add</DL>
</DD>
</DL>
<HR>

<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;childName)
                            throws <A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>add the child element
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addChildElement(javax.xml.soap.Name)">addChildElement</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>childName</CODE> - uri, prefix and local name of the element to add
<DT><B>Returns:</B><DD>the child element
<DT><B>Throws:</B>
<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#addChildElement(javax.xml.soap.Name)"><CODE>SOAPElement.addChildElement(javax.xml.soap.Name)</CODE></A></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>add a child element in the message element's own namespace
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String)">addChildElement</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localName</CODE> - 
<DT><B>Returns:</B><DD>the child element
<DT><B>Throws:</B>
<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#addChildElement(java.lang.String)"><CODE>SOAPElement.addChildElement(String)</CODE></A></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;prefixName)
                            throws <A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>add a child element
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String, java.lang.String)">addChildElement</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localName</CODE> - <DD><CODE>prefixName</CODE> - 
<DT><B>Returns:</B><DD>the child element
<DT><B>Throws:</B>
<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#addChildElement(java.lang.String, java.lang.String)"><CODE>SOAPElement.addChildElement(String, String)</CODE></A></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;childPrefix,
                                   java.lang.String&nbsp;uri)
                            throws <A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>add a child element
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String, java.lang.String, java.lang.String)">addChildElement</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localName</CODE> - <DD><CODE>childPrefix</CODE> - <DD><CODE>uri</CODE> - 
<DT><B>Returns:</B><DD>the child element
<DT><B>Throws:</B>
<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#addChildElement(java.lang.String, java.lang.String, java.lang.String)"><CODE>SOAPElement.addChildElement(String, String, String)</CODE></A></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>The added child must be an instance of MessageElement rather than
 an abitrary SOAPElement otherwise a (wrapped) ClassCastException
 will be thrown.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addChildElement(javax.xml.soap.SOAPElement)">addChildElement</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></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<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#addChildElement(javax.xml.soap.SOAPElement)"><CODE>SOAPElement.addChildElement(javax.xml.soap.SOAPElement)</CODE></A></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;s)
                        throws <A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>add a text node to the document.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addTextNode(java.lang.String)">addTextNode</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>s</CODE> - a <code>String</code> object with the textual content to be added
<DT><B>Returns:</B><DD>ourselves
<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<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#addTextNode(java.lang.String)"><CODE>SOAPElement.addTextNode(String)</CODE></A></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;attrName,
                                java.lang.String&nbsp;value)
                         throws <A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></PRE>
<DL>
<DD>add a new attribute
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addAttribute(javax.xml.soap.Name, java.lang.String)">addAttribute</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrName</CODE> - name of the attribute<DD><CODE>value</CODE> - a string value
<DT><B>Returns:</B><DD>ourselves
<DT><B>Throws:</B>
<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#addAttribute(javax.xml.soap.Name, java.lang.String)"><CODE>SOAPElement.addAttribute(javax.xml.soap.Name, String)</CODE></A></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>create a <A HREF="../../../../org/apache/axis/utils/Mapping.html" title="class in org.apache.axis.utils"><CODE>Mapping</CODE></A> mapping and add to our namespace list.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#addNamespaceDeclaration(java.lang.String, java.lang.String)">addNamespaceDeclaration</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - <DD><CODE>uri</CODE> - 
<DT><B>Returns:</B><DD>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</A></CODE> - for any <CODE>RuntimeException</CODE> caught<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#addNamespaceDeclaration(java.lang.String, java.lang.String)"><CODE>SOAPElement.addNamespaceDeclaration(String, String)</CODE></A></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;attrName)</PRE>
<DL>
<DD>Get the value of an attribute whose namespace and local name are described.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getAttributeValue(javax.xml.soap.Name)">getAttributeValue</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrName</CODE> - qualified name of the attribute
<DT><B>Returns:</B><DD>the attribute or null if there was no match<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#getAttributeValue(javax.xml.soap.Name)"><CODE>SOAPElement.getAttributeValue(javax.xml.soap.Name)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getAllAttributes()"><!-- --></A><H3>
getAllAttributes</H3>
<PRE>
public java.util.Iterator <B>getAllAttributes</B>()</PRE>
<DL>
<DD>Get an interator to all the attributes of the node.
 The iterator is over a static snapshot of the node names; if attributes
 are added or deleted during the iteration, this iterator will be not
 be updated to follow the changes.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getAllAttributes()">getAllAttributes</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator of the attributes.<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#getAllAttributes()"><CODE>SOAPElement.getAllAttributes()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getNamespacePrefixes()"><!-- --></A><H3>
getNamespacePrefixes</H3>
<PRE>
public java.util.Iterator <B>getNamespacePrefixes</B>()</PRE>
<DL>
<DD>get an iterator of the prefixes. The iterator
 does not get updated in response to changes in the namespace list.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getNamespacePrefixes()">getNamespacePrefixes</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator over a vector of prefixes<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#getNamespacePrefixes()"><CODE>SOAPElement.getNamespacePrefixes()</CODE></A></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>get the full name of the element
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getElementName()">getElementName</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD><DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#getElementName()"><CODE>SOAPElement.getElementName()</CODE></A></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;attrName)</PRE>
<DL>
<DD>remove an element
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#removeAttribute(javax.xml.soap.Name)">removeAttribute</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrName</CODE> - name of the element
<DT><B>Returns:</B><DD>true if the attribute was found and removed.<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#removeAttribute(javax.xml.soap.Name)"><CODE>SOAPElement.removeAttribute(javax.xml.soap.Name)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="removeNamespaceDeclaration(java.lang.String)"><!-- --></A><H3>
removeNamespaceDeclaration</H3>
<PRE>
public boolean <B>removeNamespaceDeclaration</B>(java.lang.String&nbsp;namespacePrefix)</PRE>
<DL>
<DD>remove a namespace declaration.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#removeNamespaceDeclaration(java.lang.String)">removeNamespaceDeclaration</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespacePrefix</CODE> - 
<DT><B>Returns:</B><DD>true if the prefix was found and removed.<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#removeNamespaceDeclaration(java.lang.String)"><CODE>SOAPElement.removeNamespaceDeclaration(String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getChildElements()"><!-- --></A><H3>
getChildElements</H3>
<PRE>
public java.util.Iterator <B>getChildElements</B>()</PRE>
<DL>
<DD>get an iterator over the children
 This iterator <i>may</i> get confused if changes are made to the
 children while the iteration is in progress.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getChildElements()">getChildElements</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an iterator over child elements.<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#getChildElements()"><CODE>SOAPElement.getChildElements()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getChildElement(javax.xml.namespace.QName)"><!-- --></A><H3>
getChildElement</H3>
<PRE>
public <A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A> <B>getChildElement</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</PRE>
<DL>
<DD>Convenience method to get the first matching child for a given QName.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>qname</CODE> - 
<DT><B>Returns:</B><DD>child element or null<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#getChildElements()"><CODE>SOAPElement.getChildElements()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getChildElements(javax.xml.namespace.QName)"><!-- --></A><H3>
getChildElements</H3>
<PRE>
public java.util.Iterator <B>getChildElements</B>(<A HREF="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;qname)</PRE>
<DL>
<DD>get an iterator over child elements
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>qname</CODE> - namespace/element name of parts to find.
 This iterator is not (currently) susceptible to change in the element
 list during its lifetime, though changes in the contents of the elements
 are picked up.
<DT><B>Returns:</B><DD>an iterator.</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;childName)</PRE>
<DL>
<DD>get an iterator over child elements
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html#getChildElements(javax.xml.soap.Name)">getChildElements</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>childName</CODE> - namespace/element name of parts to find.
 This iterator is not (currently) susceptible to change in the element
 list during its lifetime, though changes in the contents of the elements
 are picked up.
<DT><B>Returns:</B><DD>an iterator.<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/SOAPElement.html#getChildElements(javax.xml.soap.Name)"><CODE>SOAPElement.getChildElements(javax.xml.soap.Name)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getTagName()"><!-- --></A><H3>
getTagName</H3>
<PRE>
public java.lang.String <B>getTagName</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getTagName</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the name of the element<DT><B>See Also:</B><DD><CODE>Element.getTagName()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
removeAttribute</H3>
<PRE>
public void <B>removeAttribute</B>(java.lang.String&nbsp;attrName)
                     throws org.w3c.dom.DOMException</PRE>
<DL>
<DD>remove a named attribute.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>removeAttribute</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrName</CODE> - name of the attributes
<DT><B>Throws:</B>
<DD><CODE>org.w3c.dom.DOMException</CODE><DT><B>See Also:</B><DD><CODE>Element.removeAttribute(String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="hasAttribute(java.lang.String)"><!-- --></A><H3>
hasAttribute</H3>
<PRE>
public boolean <B>hasAttribute</B>(java.lang.String&nbsp;attrName)</PRE>
<DL>
<DD>test for an attribute existing
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>hasAttribute</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrName</CODE> - name of attribute (or null)
<DT><B>Returns:</B><DD>true if it exists
 Note that the behaviour for a null parameter (returns false) is not guaranteed in future<DT><B>See Also:</B><DD><CODE>Element.hasAttribute(String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
getAttribute</H3>
<PRE>
public java.lang.String <B>getAttribute</B>(java.lang.String&nbsp;attrName)</PRE>
<DL>
<DD>get an attribute by name
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getAttribute</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrName</CODE> - of attribute
<DT><B>Returns:</B><DD>the attribute value or null<DT><B>See Also:</B><DD><CODE>Element.getAttribute(String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="removeAttributeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
removeAttributeNS</H3>
<PRE>
public void <B>removeAttributeNS</B>(java.lang.String&nbsp;namespace,
                              java.lang.String&nbsp;localName)
                       throws org.w3c.dom.DOMException</PRE>
<DL>
<DD>Remove an attribute. If the removed
 attribute has a default value it is immediately replaced. The
 replacing attribute has the same namespace URI and local name, as
 well as the original prefix.
 If there is no matching attribute, the operation is a no-op.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>removeAttributeNS</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - namespace of attr<DD><CODE>localName</CODE> - local name
<DT><B>Throws:</B>
<DD><CODE>org.w3c.dom.DOMException</CODE><DT><B>See Also:</B><DD><CODE>Element.removeAttributeNS(String, String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setAttribute(java.lang.String, java.lang.String)"><!-- --></A><H3>
setAttribute</H3>
<PRE>
public void <B>setAttribute</B>(java.lang.String&nbsp;name,
                         java.lang.String&nbsp;value)
                  throws org.w3c.dom.DOMException</PRE>
<DL>
<DD>set or update an attribute.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>setAttribute</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - attribute name<DD><CODE>value</CODE> - attribute value
<DT><B>Throws:</B>
<DD><CODE>org.w3c.dom.DOMException</CODE><DT><B>See Also:</B><DD><CODE>Element.setAttribute(String, String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="hasAttributeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
hasAttributeNS</H3>
<PRE>
public boolean <B>hasAttributeNS</B>(java.lang.String&nbsp;namespace,
                              java.lang.String&nbsp;localName)</PRE>
<DL>
<DD>Test for an attribute
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>hasAttributeNS</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - <DD><CODE>localName</CODE> - 
<DT><B>Returns:</B><DD><DT><B>See Also:</B><DD><CODE>Element.hasAttributeNS(String, String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getAttributeNode(java.lang.String)"><!-- --></A><H3>
getAttributeNode</H3>
<PRE>
public org.w3c.dom.Attr <B>getAttributeNode</B>(java.lang.String&nbsp;attrName)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>this is not implemented</I>
<P>
<DD>This unimplemented operation is meand to return an attribute as a node
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getAttributeNode</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>attrName</CODE> - 
<DT><B>Returns:</B><DD>null, always.<DT><B>See Also:</B><DD><CODE>Element.getAttributeNode(String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="removeAttributeNode(org.w3c.dom.Attr)"><!-- --></A><H3>
removeAttributeNode</H3>
<PRE>
public org.w3c.dom.Attr <B>removeAttributeNode</B>(org.w3c.dom.Attr&nbsp;oldAttr)
                                     throws org.w3c.dom.DOMException</PRE>
<DL>
<DD>remove a an attribue
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>removeAttributeNode</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>oldAttr</CODE> - 
<DT><B>Returns:</B><DD>oldAttr
<DT><B>Throws:</B>
<DD><CODE>org.w3c.dom.DOMException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setAttributeNode(org.w3c.dom.Attr)"><!-- --></A><H3>
setAttributeNode</H3>
<PRE>
public org.w3c.dom.Attr <B>setAttributeNode</B>(org.w3c.dom.Attr&nbsp;newAttr)
                                  throws org.w3c.dom.DOMException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>this is not implemented</I>
<P>
<DD>set the attribute node.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>setAttributeNode</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newAttr</CODE> - 
<DT><B>Returns:</B><DD>newAttr
<DT><B>Throws:</B>
<DD><CODE>org.w3c.dom.DOMException</CODE><DT><B>See Also:</B><DD><CODE>Element.setAttributeNode(org.w3c.dom.Attr)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setAttributeNodeNS(org.w3c.dom.Attr)"><!-- --></A><H3>
setAttributeNodeNS</H3>
<PRE>
public org.w3c.dom.Attr <B>setAttributeNodeNS</B>(org.w3c.dom.Attr&nbsp;newAttr)
                                    throws org.w3c.dom.DOMException</PRE>
<DL>
<DD>set an attribute as a node
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>setAttributeNodeNS</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newAttr</CODE> - 
<DT><B>Returns:</B><DD>null
<DT><B>Throws:</B>
<DD><CODE>org.w3c.dom.DOMException</CODE><DT><B>See Also:</B><DD><CODE>Element.setAttributeNodeNS(org.w3c.dom.Attr)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getElementsByTagName(java.lang.String)"><!-- --></A><H3>
getElementsByTagName</H3>
<PRE>
public org.w3c.dom.NodeList <B>getElementsByTagName</B>(java.lang.String&nbsp;tagName)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getElementsByTagName</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>tagName</CODE> - tag to look for.
<DT><B>Returns:</B><DD>a list of elements<DT><B>See Also:</B><DD><CODE>Element.getElementsByTagName(String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getAttributeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
getAttributeNS</H3>
<PRE>
public java.lang.String <B>getAttributeNS</B>(java.lang.String&nbsp;namespaceURI,
                                       java.lang.String&nbsp;localName)</PRE>
<DL>
<DD>get the attribute with namespace/local name match.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getAttributeNS</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespaceURI</CODE> - namespace<DD><CODE>localName</CODE> - name
<DT><B>Returns:</B><DD>string value or null if not found<DT><B>See Also:</B><DD><CODE>Element.getAttributeNS(String, String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="setAttributeNS(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
setAttributeNS</H3>
<PRE>
public void <B>setAttributeNS</B>(java.lang.String&nbsp;namespaceURI,
                           java.lang.String&nbsp;qualifiedName,
                           java.lang.String&nbsp;value)
                    throws org.w3c.dom.DOMException</PRE>
<DL>
<DD>set an attribute or alter an existing one
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>setAttributeNS</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespaceURI</CODE> - namepsace<DD><CODE>qualifiedName</CODE> - qualified name of the attribue<DD><CODE>value</CODE> - value
<DT><B>Throws:</B>
<DD><CODE>org.w3c.dom.DOMException</CODE><DT><B>See Also:</B><DD><CODE>Element.setAttributeNS(String, String, String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getAttributeNodeNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
getAttributeNodeNS</H3>
<PRE>
public org.w3c.dom.Attr <B>getAttributeNodeNS</B>(java.lang.String&nbsp;namespace,
                                           java.lang.String&nbsp;localName)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>not implemented!</I>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getAttributeNodeNS</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - namespace<DD><CODE>localName</CODE> - local name
<DT><B>Returns:</B><DD>null<DT><B>See Also:</B><DD><CODE>Element.getAttributeNS(String, String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getElementsByTagNameNS(java.lang.String, java.lang.String)"><!-- --></A><H3>
getElementsByTagNameNS</H3>
<PRE>
public org.w3c.dom.NodeList <B>getElementsByTagNameNS</B>(java.lang.String&nbsp;namespace,
                                                   java.lang.String&nbsp;localName)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getElementsByTagNameNS</CODE> in interface <CODE>org.w3c.dom.Element</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - namespace<DD><CODE>localName</CODE> - local name of element
<DT><B>Returns:</B><DD>(potentially empty) list of elements that match the (namespace,localname) tuple<DT><B>See Also:</B><DD><CODE>Element.getElementsByTagNameNS(String, String)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getElementsNS(org.w3c.dom.Element, java.lang.String, java.lang.String)"><!-- --></A><H3>
getElementsNS</H3>
<PRE>
protected org.w3c.dom.NodeList <B>getElementsNS</B>(org.w3c.dom.Element&nbsp;parentElement,
                                             java.lang.String&nbsp;namespace,
                                             java.lang.String&nbsp;localName)</PRE>
<DL>
<DD>helper method for recusively getting the element that has namespace URI and localname
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parentElement</CODE> - parent element<DD><CODE>namespace</CODE> - namespace<DD><CODE>localName</CODE> - local name of element
<DT><B>Returns:</B><DD>(potentially empty) list of elements that match the (namespace,localname) tuple</DL>
</DD>
</DL>
<HR>

<A NAME="item(int)"><!-- --></A><H3>
item</H3>
<PRE>
public org.w3c.dom.Node <B>item</B>(int&nbsp;index)</PRE>
<DL>
<DD>get a child node
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>item</CODE> in interface <CODE>org.w3c.dom.NodeList</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - index value
<DT><B>Returns:</B><DD>child or null for out of range value<DT><B>See Also:</B><DD><CODE>NodeList.item(int)</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getLength()"><!-- --></A><H3>
getLength</H3>
<PRE>
public int <B>getLength</B>()</PRE>
<DL>
<DD>The number of nodes in the list. The range of valid child node indices
 is 0 to <code>length-1</code> inclusive.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getLength</CODE> in interface <CODE>org.w3c.dom.NodeList</CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>number of children<DT><B>Since:</B></DT>
  <DD>SAAJ 1.2 : Nodelist Interface</DD>
<DT><B>See Also:</B><DD><CODE>NodeList.getLength()</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="findElement(java.util.Vector, java.lang.String, java.lang.String)"><!-- --></A><H3>
findElement</H3>
<PRE>
protected <A HREF="../../../../org/apache/axis/message/MessageElement.html" title="class in org.apache.axis.message">MessageElement</A> <B>findElement</B>(java.util.Vector&nbsp;vec,
                                     java.lang.String&nbsp;namespace,
                                     java.lang.String&nbsp;localPart)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(java.lang.Object&nbsp;obj)</PRE>
<DL>
<DD>equality test. Does a string match of the two message elements,
 so is fairly brute force.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>obj</CODE> - 
<DT><B>Returns:</B><DD><DT><B>See Also:</B><DD><A HREF="../../../../org/apache/axis/message/MessageElement.html#toString()"><CODE>toString()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getValue()"><!-- --></A><H3>
getValue</H3>
<PRE>
public java.lang.String <B>getValue</B>()</PRE>
<DL>
<DD>Get the value of the doc as a string.
 This uses <A HREF="../../../../org/apache/axis/message/MessageElement.html#getAsDOM()"><CODE>getAsDOM()</CODE></A> so is a heavyweight operation.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/Node.html#getValue()">getValue</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html#getValue()">getValue</A></CODE> in class <CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>the value of any child node, or null if there is no node/something went
 wrong during serialization. If the first child is text, the return value
 is the text itself.<DT><B>See Also:</B><DD><A HREF="../../../../javax/xml/soap/Node.html#getValue()"><CODE>;</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getValueDOM()"><!-- --></A><H3>
getValueDOM</H3>
<PRE>
protected java.lang.String <B>getValueDOM</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
setValue</H3>
<PRE>
public void <B>setValue</B>(java.lang.String&nbsp;value)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</A></CODE></B></DD>
<DD>If this is a Text node then this method will set its value, otherwise it
 sets the value of the immediate (Text) child of this node. The value of
 the immediate child of this node can be set only if, there is one child
 node and that node is a Text node, or if there are no children in which
 case a child Text node will be created.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/xml/soap/Node.html#setValue(java.lang.String)">setValue</A></CODE> in interface <CODE><A HREF="../../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html#setValue(java.lang.String)">setValue</A></CODE> in class <CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>value</CODE> - the text to set</DL>
</DD>
</DL>
<HR>

<A NAME="getOwnerDocument()"><!-- --></A><H3>
getOwnerDocument</H3>
<PRE>
public org.w3c.dom.Document <B>getOwnerDocument</B>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></CODE></B></DD>
<DD>The <code>Document</code> object associated with this node. This is
 also the <code>Document</code> object used to create new nodes. When
 this node is a <code>Document</code> or a <code>DocumentType</code>
 which is not used with any <code>Document</code> yet, this is
 <code>null</code>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getOwnerDocument</CODE> in interface <CODE>org.w3c.dom.Node</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html#getOwnerDocument()">getOwnerDocument</A></CODE> in class <CODE><A HREF="../../../../org/apache/axis/message/NodeImpl.html" title="class in org.apache.axis.message">NodeImpl</A></CODE></DL>
</DD>
<DD><DL>
</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/MessageElement.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="../../../../org/apache/axis/message/InputStreamBody.html" title="class in org.apache.axis.message"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/axis/message/MessageElement.QNameAttr.html" title="class in org.apache.axis.message"><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="MessageElement.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;<A HREF="#field_summary">FIELD</A>&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;<A HREF="#field_detail">FIELD</A>&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 © 2005 Apache Web Services Project. All Rights Reserved.
</BODY>
</HTML>
