<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Thu Sep 25 16:46:58 PDT 2003 -->
<TITLE>
FilterXmlObject (XMLBeans Documentation)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xmlbeans.FilterXmlObject,FilterXmlObject class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="FilterXmlObject (XMLBeans Documentation)";
}
</SCRIPT>
<BODY BGCOLOR="white" onload="asd();">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <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="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;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../org/apache/xmlbeans/GDate.html"><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="FilterXmlObject.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<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;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.xmlbeans</FONT>
<BR>
Class FilterXmlObject</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">java.lang.Object</A>
  |
  +--<B>org.apache.xmlbeans.FilterXmlObject</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A>, <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>, <A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></DD>
</DL>
<HR>
<DL>
<DT>public abstract class <B>FilterXmlObject</B><DT>extends <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A><DT>implements <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>, <A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></DL>

<P>
A FilterXmlObject delegates to some other XmlObject, which it can use as
 its basic source of data, possibly transforming the data along the way or
 providing additional functionality. The class FilterXmlObject itself
 simply overrides all methods of XmlObject with versions that pass all
 requests to the underlying XmlObject. Subclasses of FilterXmlObject may
 further override some of these methods and may also provide additional
 methods and fields.
 <p>
 Note: it is important that FilterXmlOBject has no storage (i.e., no
 non-transient fields), because subclasses may be serializable and
 adding storage would break the serialization format.
<P>

<P>
<HR>

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

<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_org.apache.xmlbeans.XmlObject"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Nested classes inherited from class org.apache.xmlbeans.<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.Factory.html">XmlObject.Factory</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.xmlbeans.XmlObject"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from interface org.apache.xmlbeans.<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#EQUAL">EQUAL</A>, <A HREF="../../../org/apache/xmlbeans/XmlObject.html#GREATER_THAN">GREATER_THAN</A>, <A HREF="../../../org/apache/xmlbeans/XmlObject.html#LESS_THAN">LESS_THAN</A>, <A HREF="../../../org/apache/xmlbeans/XmlObject.html#NOT_EQUAL">NOT_EQUAL</A>, <A HREF="../../../org/apache/xmlbeans/XmlObject.html#type">type</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<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/xmlbeans/FilterXmlObject.html#FilterXmlObject()">FilterXmlObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<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="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#bigDecimalValue()">bigDecimalValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#bigIntegerValue()">bigIntegerValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>.</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/xmlbeans/FilterXmlObject.html#booleanValue()">booleanValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a boolean.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#byteArrayValue()">byteArrayValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a byte array.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#byteValue()">byteValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a byte.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#calendarValue()">calendarValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#changeType(org.apache.xmlbeans.SchemaType)">changeType</A></B>(<A HREF="../../../org/apache/xmlbeans/SchemaType.html">SchemaType</A>&nbsp;newType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changes the schema type associated with this data and
 returns a new XmlObject instance whose schemaType is the
 new type.</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/xmlbeans/FilterXmlObject.html#compareTo(java.lang.Object)">compareTo</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Impelements the Comparable interface by comparing two simple
 xml values based on their standard XML schema ordering.</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/xmlbeans/FilterXmlObject.html#compareValue(org.apache.xmlbeans.XmlObject)">compareValue</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This comparison method is similar to compareTo, but rather
 than throwing a ClassCastException when two values are incomparable,
 it returns the number 2.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#copy()">copy</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a deep copy of this XmlObject.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#dateValue()">dateValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlDocumentProperties.html">XmlDocumentProperties</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#documentProperties()">documentProperties</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the XmlDocumentProperties object for the document this token
 source is associated with.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#doubleValue()">doubleValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a double.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#enumValue()">enumValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#execQuery(java.lang.String)">execQuery</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;query)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executes a query.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#execQuery(java.lang.String, org.apache.xmlbeans.XmlOptions)">execQuery</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;query,
          <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executes a query with options.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#floatValue()">floatValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a float.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#gDateValue()">gDateValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/GDuration.html">GDuration</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#gDurationValue()">gDurationValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getBigDecimalValue()">getBigDecimalValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getBigIntegerValue()">getBigIntegerValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>.</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/xmlbeans/FilterXmlObject.html#getBooleanValue()">getBooleanValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a boolean.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getByteArrayValue()">getByteArrayValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a byte array.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;byte</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getByteValue()">getByteValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a byte.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getCalendarValue()">getCalendarValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getDateValue()">getDateValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getDoubleValue()">getDoubleValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a double.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getEnumValue()">getEnumValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getFloatValue()">getFloatValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a float.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getGDateValue()">getGDateValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/GDuration.html">GDuration</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getGDurationValue()">getGDurationValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>.</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/xmlbeans/FilterXmlObject.html#getIntValue()">getIntValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as an int.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getListValue()">getListValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getLongValue()">getLongValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a long.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getObjectValue()">getObjectValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getQNameValue()">getQNameValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getShortValue()">getShortValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a short.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#getStringValue()">getStringValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/SchemaType.html">SchemaType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#instanceType()">instanceType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The same as getSchemaType unless this is a union instance
 or nil value.</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/xmlbeans/FilterXmlObject.html#intValue()">intValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as an int.</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/xmlbeans/FilterXmlObject.html#isImmutable()">isImmutable</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if the value is an immutable value.</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/xmlbeans/FilterXmlObject.html#isNil()">isNil</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if the value is nil.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#listValue()">listValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#longValue()">longValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a long.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#monitor()">monitor</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the synchronization object for the document.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlCursor.html">XmlCursor</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newCursor()">newCursor</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new XML cursor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/Node.html">Node</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newDomNode()">newDomNode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a W3C DOM Node containing the XML
 represented by this source.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/Node.html">Node</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newDomNode(org.apache.xmlbeans.XmlOptions)">newDomNode</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just like newDomNode() but with options.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html">InputStream</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newInputStream()">newInputStream</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new stream containing standard XML text, encoded
 according to the given encoding.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html">InputStream</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newInputStream(org.apache.xmlbeans.XmlOptions)">newInputStream</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just like newInputStream(String encoding) but with options.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Reader.html">Reader</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newReader()">newReader</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new character reader containing XML text.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Reader.html">Reader</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newReader(org.apache.xmlbeans.XmlOptions)">newReader</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just like newReader() but with options.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://e-docs.bea.com/wls/docs81/javadocs/weblogic/xml/stream/XMLInputStream.html">XMLInputStream</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newXMLInputStream()">newXMLInputStream</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new XmlInputStream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://e-docs.bea.com/wls/docs81/javadocs/weblogic/xml/stream/XMLInputStream.html">XMLInputStream</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#newXMLInputStream(org.apache.xmlbeans.XmlOptions)">newXMLInputStream</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just like newXMLInputStream() but with any of a number of options.</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/xmlbeans/FilterXmlObject.html#objectSet(java.lang.Object)">objectSet</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as an arbitrary <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html"><CODE>Object</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#objectValue()">objectValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#qNameValue()">qNameValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>.</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/xmlbeans/FilterXmlObject.html#save(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</A>&nbsp;ch,
     <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ext/LexicalHandler.html">LexicalHandler</A>&nbsp;lh)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given SAX content and
 lexical handlers.</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/xmlbeans/FilterXmlObject.html#save(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.apache.xmlbeans.XmlOptions)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</A>&nbsp;ch,
     <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ext/LexicalHandler.html">LexicalHandler</A>&nbsp;lh,
     <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given SAX content and
 lexical handlers.</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/xmlbeans/FilterXmlObject.html#save(java.io.File)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html">File</A>&nbsp;file)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given File.</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/xmlbeans/FilterXmlObject.html#save(java.io.File, org.apache.xmlbeans.XmlOptions)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html">File</A>&nbsp;file,
     <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given File.</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/xmlbeans/FilterXmlObject.html#save(java.io.OutputStream)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/OutputStream.html">OutputStream</A>&nbsp;os)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given output stream.</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/xmlbeans/FilterXmlObject.html#save(java.io.OutputStream, org.apache.xmlbeans.XmlOptions)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/OutputStream.html">OutputStream</A>&nbsp;os,
     <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given output stream.</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/xmlbeans/FilterXmlObject.html#save(java.io.Writer)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html">Writer</A>&nbsp;w)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given writer.</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/xmlbeans/FilterXmlObject.html#save(java.io.Writer, org.apache.xmlbeans.XmlOptions)">save</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html">Writer</A>&nbsp;w,
     <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the XML represented by this source to the given writer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/SchemaType.html">SchemaType</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#schemaType()">schemaType</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The schema type for this instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#selectPath(java.lang.String)">selectPath</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selects a path.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#selectPath(java.lang.String, org.apache.xmlbeans.XmlOptions)">selectPath</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;path,
           <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selects a path, applying options.</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/xmlbeans/FilterXmlObject.html#set(java.math.BigDecimal)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A></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/xmlbeans/FilterXmlObject.html#set(java.math.BigInteger)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(boolean)">set</A></B>(boolean&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a boolean.</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/xmlbeans/FilterXmlObject.html#set(byte)">set</A></B>(byte&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a byte.</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/xmlbeans/FilterXmlObject.html#set(byte[])">set</A></B>(byte[]&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a byte array.</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/xmlbeans/FilterXmlObject.html#set(java.util.Calendar)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(java.util.Date)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(double)">set</A></B>(double&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a double.</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/xmlbeans/FilterXmlObject.html#set(float)">set</A></B>(float&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a float.</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/xmlbeans/FilterXmlObject.html#set(org.apache.xmlbeans.GDateSpecification)">set</A></B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(org.apache.xmlbeans.GDurationSpecification)">set</A></B>(<A HREF="../../../org/apache/xmlbeans/GDurationSpecification.html">GDurationSpecification</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(int)">set</A></B>(int&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as an int.</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/xmlbeans/FilterXmlObject.html#set(java.util.List)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(long)">set</A></B>(long&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a long.</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/xmlbeans/FilterXmlObject.html#set(javax.xml.namespace.QName)">set</A></B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(short)">set</A></B>(short&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a short.</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/xmlbeans/FilterXmlObject.html#set(java.lang.String)">set</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>.</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/xmlbeans/FilterXmlObject.html#set(org.apache.xmlbeans.StringEnumAbstractBase)">set</A></B>(<A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#set(org.apache.xmlbeans.XmlObject)">set</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>&nbsp;srcObj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value/type of this XmlObject to be a copy of the source
 XmlObject.</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/xmlbeans/FilterXmlObject.html#setBigDecimalValue(java.math.BigDecimal)">setBigDecimalValue</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setBigIntegerValue(java.math.BigInteger)">setBigIntegerValue</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setBooleanValue(boolean)">setBooleanValue</A></B>(boolean&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a boolean.</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/xmlbeans/FilterXmlObject.html#setByteArrayValue(byte[])">setByteArrayValue</A></B>(byte[]&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a byte array.</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/xmlbeans/FilterXmlObject.html#setByteValue(byte)">setByteValue</A></B>(byte&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a byte.</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/xmlbeans/FilterXmlObject.html#setCalendarValue(java.util.Calendar)">setCalendarValue</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setDateValue(java.util.Date)">setDateValue</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setDoubleValue(double)">setDoubleValue</A></B>(double&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a double.</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/xmlbeans/FilterXmlObject.html#setEnumValue(org.apache.xmlbeans.StringEnumAbstractBase)">setEnumValue</A></B>(<A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setFloatValue(float)">setFloatValue</A></B>(float&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a float.</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/xmlbeans/FilterXmlObject.html#setGDateValue(org.apache.xmlbeans.GDate)">setGDateValue</A></B>(<A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setGDurationValue(org.apache.xmlbeans.GDuration)">setGDurationValue</A></B>(<A HREF="../../../org/apache/xmlbeans/GDuration.html">GDuration</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setIntValue(int)">setIntValue</A></B>(int&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as an int.</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/xmlbeans/FilterXmlObject.html#setListValue(java.util.List)">setListValue</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setLongValue(long)">setLongValue</A></B>(long&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a long.</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/xmlbeans/FilterXmlObject.html#setNil()">setNil</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value to nil.</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/xmlbeans/FilterXmlObject.html#setObjectValue(java.lang.Object)">setObjectValue</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as an arbitrary <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html"><CODE>Object</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setQNameValue(javax.xml.namespace.QName)">setQNameValue</A></B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>.</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/xmlbeans/FilterXmlObject.html#setShortValue(short)">setShortValue</A></B>(short&nbsp;v)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a short.</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/xmlbeans/FilterXmlObject.html#setStringValue(java.lang.String)">setStringValue</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;short</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#shortValue()">shortValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a short.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#stringValue()">stringValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#underlyingXmlObject()">underlyingXmlObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This abstract method is called to obtain the underlying XmlObject.</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/xmlbeans/FilterXmlObject.html#validate()">validate</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the contents of this object are valid
 accoring to schemaType().</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/xmlbeans/FilterXmlObject.html#validate(org.apache.xmlbeans.XmlOptions)">validate</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just like validate(), but with options.</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/xmlbeans/FilterXmlObject.html#valueEquals(org.apache.xmlbeans.XmlObject)">valueEquals</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>&nbsp;obj)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if the xml values are equal.</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/xmlbeans/FilterXmlObject.html#valueHashCode()">valueHashCode</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="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#xgetListValue()">xgetListValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of XmlAnySimpleType objects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#xlistValue()">xlistValue</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of XmlAnySimpleType objects.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#xmlText()">xmlText</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns standard XML text.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/FilterXmlObject.html#xmlText(org.apache.xmlbeans.XmlOptions)">xmlText</A></B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Just like xmlText() but with options.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#clone()">clone</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#equals(java.lang.Object)">equals</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#finalize()">finalize</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#getClass()">getClass</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#hashCode()">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notify()">notify</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#notifyAll()">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()">toString</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait()">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long)">wait</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#wait(long, int)">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.xmlbeans.XmlObject"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from interface org.apache.xmlbeans.<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#toString()">toString</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

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


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

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

<A NAME="FilterXmlObject()"><!-- --></A><H3>
FilterXmlObject</H3>
<PRE>
public <B>FilterXmlObject</B>()</PRE>
<DL>
</DL>

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

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

<A NAME="underlyingXmlObject()"><!-- --></A><H3>
underlyingXmlObject</H3>
<PRE>
public abstract <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A> <B>underlyingXmlObject</B>()</PRE>
<DL>
<DD>This abstract method is called to obtain the underlying XmlObject.
 Override this method to supply or compute the wrapped object.
 <p>
 Every other method of this class delegates to the object returned
 from this method. It is assumed that the object implements all the
 methods of both XmlObject and SimpleValue.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="schemaType()"><!-- --></A><H3>
schemaType</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/SchemaType.html">SchemaType</A> <B>schemaType</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>The schema type for this instance. This is a permanent,
 unchanging property of the instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#schemaType()">schemaType</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="validate()"><!-- --></A><H3>
validate</H3>
<PRE>
public boolean <B>validate</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Returns true if the contents of this object are valid
 accoring to schemaType().
 <p>
 Does a deep validation of the entire subtree under the
 object, but does not validate the parents or siblings
 of the object if the object is in the interior of an xml
 tree.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#validate()">validate</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="validate(org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
validate</H3>
<PRE>
public boolean <B>validate</B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD><p>Just like validate(), but with options.</p>
 <p>If you wish to collect error messages and locations while validating,
 use the <A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setErrorListener(java.util.Collection)"><CODE>XmlOptions.setErrorListener(java.util.Collection)</CODE></A> method. With that method,
 you can specify an object in which to store messages related to validation.
 The following is a simple example.</p>
 
 <pre>
 // Create an XmlOptions instance and set the error listener.
 XmlOptions validateOptions = new XmlOptions();
 ArrayList errorList = new ArrayList();
 validateOptions.setErrorListener(errorList);
 
 // Validate the XML.
 boolean isValid = newEmp.validate(validateOptions);
 
 // If the XML isn't valid, loop through the listener's contents,
 // printing contained messages.
 if (!isValid)
 {
      for (int i = 0; i < errorList.size(); i++)
      {
          XmlError error = (XmlError)errorList.get(i);
          
          System.out.println("\n");
          System.out.println("Message: " + error.getMessage() + "\n");
          System.out.println("Location of invalid XML: " + 
              error.getCursorLocation().xmlText() + "\n");
      }
 }
 </pre>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#validate(org.apache.xmlbeans.XmlOptions)">validate</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>options</CODE> - An object that implements the <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collection.html"><CODE>Collection</CODE></A> interface.</DL>
</DD>
</DL>
<HR>

<A NAME="selectPath(java.lang.String)"><!-- --></A><H3>
selectPath</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[] <B>selectPath</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;path)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Selects a path.  Path can be a string or precompiled path String.
 <p>
 The path must be a relative path, where "." represents the
 element or attribute containg this XmlObject, and it must select
 only other elements or attributes.  If a non-element or non-attribute
 is selected, an unchecked exception is thrown.
 <p>
 The array that is returned contains all the selected
 XmlObjects, within the same document, listed in document
 order.  The actual array type of the result is inferred
 from the closest common base type of selected results.
 <p>
 Here is an example of usage.  Suppose we have a global
 element definition for "owner" whose type is "person":
 <pre>
   &lt;schema targetNamespace="http://openuri.org/sample">
      &lt;element name="owner" type="person"/>
      &lt;complexType name="person">
         [...]
      &lt;/complexType>
   &lt;/schema>
 </pre>
 and suppose "owner" tags can be scattered throughout the
 document.  Then we can write the following code to find
 them all:
 <pre>
 import org.openuri.sample.Person;
 import org.apache.xmlbeans.*;
 [...]
   XmlObject xobj = XmlObject.Factory.parse(myFile);
   Person[] results;
   results = (Person[])xobj.selectPath(
      "declare namespace s='http://www.openuri.org/sample' " +
      ".//s:owner");
 </pre>
 Notice the way in which namespace declarations are done in XPath 2.0.
 Since XPath can only navigate within an XML document - it cannot
 construct new XML - the resulting XmlObjects all reside in
 the same XML document as this XmlObject itself.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#selectPath(java.lang.String)">selectPath</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="selectPath(java.lang.String, org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
selectPath</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[] <B>selectPath</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;path,
                              <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Selects a path, applying options.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#selectPath(java.lang.String, org.apache.xmlbeans.XmlOptions)">selectPath</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlObject.html#selectPath(java.lang.String)"><CODE>XmlObject.selectPath(String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="execQuery(java.lang.String)"><!-- --></A><H3>
execQuery</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[] <B>execQuery</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;query)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Executes a query.  Query can be a string or precompiled query String.
 <p>
 An XQuery is very similar to an XPath, except that it also permits
 construction of new XML.  As a result, the XmlObjects that are
 returned from execQuery are in newly created documents, separate
 from the XmlObject on which the query is executed.
 <p>
 Syntax and usage is otherwise similar to selectPath.
 <p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#execQuery(java.lang.String)">execQuery</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlObject.html#selectPath(java.lang.String)"><CODE>XmlObject.selectPath(String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="execQuery(java.lang.String, org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
execQuery</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>[] <B>execQuery</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;query,
                             <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Executes a query with options.
 
 Use the <em>options</em> parameter to specify the following:</p>
 
 <table>
 <tr><th>To specify this</th><th>Use this method</th></tr>
 <tr>
  <td>The document type for the root element.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setDocumentType(org.apache.xmlbeans.SchemaType)"><CODE>XmlOptions.setDocumentType(org.apache.xmlbeans.SchemaType)</CODE></A></td>
 </tr>
 <tr>
  <td>To replace the document element with the specified QName when constructing the
  resulting document.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setLoadReplaceDocumentElement(javax.xml.namespace.QName)"><CODE>XmlOptions.setLoadReplaceDocumentElement(javax.xml.namespace.QName)</CODE></A></td>
 </tr>
 <tr>
  <td>To strip all insignificant whitespace when constructing a document.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setLoadStripWhitespace()"><CODE>XmlOptions.setLoadStripWhitespace()</CODE></A></td>
 </tr>
 <tr>
  <td>To strip all comments when constructing a document.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setLoadStripComments()"><CODE>XmlOptions.setLoadStripComments()</CODE></A></td>
 </tr>
 <tr>
  <td>To strip all processing instructions when constructing a document.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setLoadStripProcinsts()"><CODE>XmlOptions.setLoadStripProcinsts()</CODE></A></td>
 </tr>
 <tr>
  <td>A map of namespace URI substitutions to use when constructing a document.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setLoadSubstituteNamespaces(java.util.Map)"><CODE>XmlOptions.setLoadSubstituteNamespaces(java.util.Map)</CODE></A></td>
 </tr>
 <tr>
  <td>Additional namespace mappings to be added when constructing a document.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setLoadAdditionalNamespaces(java.util.Map)"><CODE>XmlOptions.setLoadAdditionalNamespaces(java.util.Map)</CODE></A></td>
 </tr>
 <tr>
  <td>To trim the underlying XML text buffer immediately after constructing 
  a document, resulting in a smaller memory footprint.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setLoadTrimTextBuffer()"><CODE>XmlOptions.setLoadTrimTextBuffer()</CODE></A></td>
 </tr>
 <tr>
  <td>Whether value facets should be checked as they are set.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setValidateOnSet()"><CODE>XmlOptions.setValidateOnSet()</CODE></A></td>
 </tr>
 </table>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#execQuery(java.lang.String, org.apache.xmlbeans.XmlOptions)">execQuery</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>query</CODE> - The XQuery expression.<DD><CODE>options</CODE> - Options as described.<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlObject.html#execQuery(java.lang.String)"><CODE>XmlObject.execQuery(String)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="changeType(org.apache.xmlbeans.SchemaType)"><!-- --></A><H3>
changeType</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A> <B>changeType</B>(<A HREF="../../../org/apache/xmlbeans/SchemaType.html">SchemaType</A>&nbsp;newType)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Changes the schema type associated with this data and
 returns a new XmlObject instance whose schemaType is the
 new type.
 <p>
 Returns null if the type change is not allowed. Certain
 type changes may be prohibited on the interior of an xml
 tree due to schema type system constraints (that is, due
 to a parent container within which the newly specified
 type is not permissible), but there are no constraints
 at the roottype changes are never
 prohibited at the root of an xml tree.
 <p>
 If the type change is allowed, then the new XmlObject should
 be used rather than the old one. The old XmlObject instance and
 any other XmlObject instances in the subtree are permanently
 invalidated and should not be used. (They will return
 InvalidStateException if you try to use them.)

 If a type change is done on the interior of an Xml
 tree, then xsi:type attributes are updated as needed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#changeType(org.apache.xmlbeans.SchemaType)">changeType</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isNil()"><!-- --></A><H3>
isNil</H3>
<PRE>
public boolean <B>isNil</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>True if the value is nil. Note that in order to be nil,
 the value must be in an element, and the element containing
 the value must be marked as nillable in the schema.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#isNil()">isNil</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setNil()"><!-- --></A><H3>
setNil</H3>
<PRE>
public void <B>setNil</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Sets the value to nil. The element containing the value must
 be marked as nillable in the schema.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#setNil()">setNil</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isImmutable()"><!-- --></A><H3>
isImmutable</H3>
<PRE>
public boolean <B>isImmutable</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>True if the value is an immutable value. Immutable values do not
 have a position in a tree; rather, they are stand-alone simple type
 values. If the object is immutable, the equals() methods tests for
 value equality, and the object can be used as the key for a hash.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#isImmutable()">isImmutable</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(org.apache.xmlbeans.XmlObject)"><!-- --></A><H3>
set</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A> <B>set</B>(<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>&nbsp;srcObj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Set the value/type of this XmlObject to be a copy of the source
 XmlObject.  Because the type of the source may be different than this
 target, this XmlObject may become defunct.  In this case the new
 XmlObject is returned.  If no type change happens, the same this will be
 returned.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#set(org.apache.xmlbeans.XmlObject)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="copy()"><!-- --></A><H3>
copy</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A> <B>copy</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Returns a deep copy of this XmlObject.  The returned object has the
 same type as the current object, and has all the content of
 the XML document underneath the current object.  Note that
 any parts of the XML document above or outside this XmlObject are
 not copied.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#copy()">copy</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="valueEquals(org.apache.xmlbeans.XmlObject)"><!-- --></A><H3>
valueEquals</H3>
<PRE>
public boolean <B>valueEquals</B>(<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>True if the xml values are equal. Two different objects
 (which are distinguished by equals(obj) == false) may of
 course have equal values (valueEquals(obj) == true).
 <p>
 Usually this method can be treated as an ordinary equvalence
 relation, but actually it is not is not transitive.
 Here is a precise specification:
 <p>
 There are two categories of XML object: objects with a known
 instance type, and objects whose only known type is one of the
 ur-types (either AnyType or AnySimpleType). The first category
 is compared in terms of logical value spaces, and the second
 category is compared lexically.
 <p>
 Within each of these two categories, valueEquals is a well-behaved
 equivalence relation. However, when comparing an object of known
 type with an object with ur-type, the comparison is done by attempting
 to convert the lexical form of the ur-typed object into the other
 type, and then comparing the results. Ur-typed objects are therefore
 treated as lexical wildcards and may be equal to objects in different
 value spaces, even though the objects in different value spaces are
 not equal to each other.
 <p>
 For example, the anySimpleType value "1" will compare as an
 equalValue to the string "1", the float value "1.0", the double
 value "1.0", the decimal "1", and the GYear "1", even though
 all these objects will compare unequal to each other since they
 lie in different value spaces.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#valueEquals(org.apache.xmlbeans.XmlObject)">valueEquals</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="valueHashCode()"><!-- --></A><H3>
valueHashCode</H3>
<PRE>
public int <B>valueHashCode</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#valueHashCode()">valueHashCode</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="compareTo(java.lang.Object)"><!-- --></A><H3>
compareTo</H3>
<PRE>
public int <B>compareTo</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>Impelements the Comparable interface by comparing two simple
 xml values based on their standard XML schema ordering.
 Throws a ClassCastException if no standard ordering applies,
 or if the two values are incomparable within a partial order.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#compareTo(java.lang.Object)">compareTo</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="compareValue(org.apache.xmlbeans.XmlObject)"><!-- --></A><H3>
compareValue</H3>
<PRE>
public int <B>compareValue</B>(<A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></B></DD>
<DD>This comparison method is similar to compareTo, but rather
 than throwing a ClassCastException when two values are incomparable,
 it returns the number 2. The result codes are -1 if this object
 is less than obj, 1 if this object is greater than obj, zero if
 the objects are equal, and 2 if the objects are incomparable.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html#compareValue(org.apache.xmlbeans.XmlObject)">compareValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlObject.html">XmlObject</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="monitor()"><!-- --></A><H3>
monitor</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A> <B>monitor</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns the synchronization object for the document.  If concurrent
 multithreaded access to a document is required, the access should should
 be protected by synchronizing on this monitor() object.  There is one
 monitor per XML document tree.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#monitor()">monitor</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="documentProperties()"><!-- --></A><H3>
documentProperties</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlDocumentProperties.html">XmlDocumentProperties</A> <B>documentProperties</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns the XmlDocumentProperties object for the document this token
 source is associated with.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#documentProperties()">documentProperties</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newCursor()"><!-- --></A><H3>
newCursor</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/XmlCursor.html">XmlCursor</A> <B>newCursor</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns a new XML cursor.

 A cursor provides random access to all the tokens in the XML
 data, plus the ability to extract strongly-typed XmlObjects
 for the data. If the data is not read-only, the XML cursor
 also allows modifications to the data.

 Using a cursor for the first time typically forces the XML
 document into memory.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newCursor()">newCursor</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newXMLInputStream()"><!-- --></A><H3>
newXMLInputStream</H3>
<PRE>
public <A HREF="http://e-docs.bea.com/wls/docs81/javadocs/weblogic/xml/stream/XMLInputStream.html">XMLInputStream</A> <B>newXMLInputStream</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns a new XmlInputStream.

 The stream starts at the current begin-tag or begin-document
 position and ends at the matching end-tag or end-document.

 This is a fail-fast stream, so if the underlying data is changed
 while the stream is being read, the stream throws a
 ConcurrentModificationException.

 Throws an IllegalStateException if the XmlTokenSource is not
 positioned at begin-tag or begin-document (e.g., if it is at
 an attribute).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newXMLInputStream()">newXMLInputStream</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="xmlText()"><!-- --></A><H3>
xmlText</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A> <B>xmlText</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns standard XML text.

 The text returned represents the document contents starting at
 the current begin-tag or begin-document and ending at the matching
 end-tag or end-document. This is same content as newReader, but
 it is returned as a single string.

 Throws an IllegalStateException if the XmlTokenSource is not
 positioned at begin-tag or begin-document (e.g., if it is at
 an attribute).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#xmlText()">xmlText</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newInputStream()"><!-- --></A><H3>
newInputStream</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html">InputStream</A> <B>newInputStream</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns a new stream containing standard XML text, encoded
 according to the given encoding.

 The byte stream contains contents starting at the current
 begin-tag or begin-document and ending at the matching
 end-tag or end-document.  The specified encoding is used
 and also emitted in a PI at the beginning of the stream.

 This is a fail-fast stream, so if the underlying data is changed
 while the stream is being read, the stream throws a
 ConcurrentModificationException.

 Throws an IllegalStateException if the XmlTokenSource is not
 positioned at begin-tag or begin-document (e.g., if it is at
 an attribute).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newInputStream()">newInputStream</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newReader()"><!-- --></A><H3>
newReader</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Reader.html">Reader</A> <B>newReader</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns a new character reader containing XML text.

 The contents of the reader represents the document contents
 starting at the current begin-tag or begin-document and ending at
 the matching end-tag or end-document.  No encoding annotation
 will be made in the text itself.

 This is a fail-fast reader, so if the underlying data is changed
 while the reader is being read, the reader throws a
 ConcurrentModificationException.

 Throws an IllegalStateException if the XmlTokenSource is not
 positioned at begin-tag or begin-document (e.g., if it is at
 an attribute).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newReader()">newReader</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="newDomNode()"><!-- --></A><H3>
newDomNode</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/Node.html">Node</A> <B>newDomNode</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Returns a W3C DOM Node containing the XML
 represented by this source.  This is a copy of the XML, it is
 not a live with the underlying store of this token source.
 If this is the document node, then a Document is returned, else
 a DocumentFragment is returned.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newDomNode()">newDomNode</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="save(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</A>&nbsp;ch,
                 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ext/LexicalHandler.html">LexicalHandler</A>&nbsp;lh)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/SAXException.html">SAXException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given SAX content and
 lexical handlers.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/SAXException.html">SAXException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="save(java.io.File)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html">File</A>&nbsp;file)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given File.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(java.io.File)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="save(java.io.OutputStream)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/OutputStream.html">OutputStream</A>&nbsp;os)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given output stream.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(java.io.OutputStream)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="save(java.io.Writer)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html">Writer</A>&nbsp;w)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given writer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(java.io.Writer)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="newXMLInputStream(org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
newXMLInputStream</H3>
<PRE>
public <A HREF="http://e-docs.bea.com/wls/docs81/javadocs/weblogic/xml/stream/XMLInputStream.html">XMLInputStream</A> <B>newXMLInputStream</B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD><p>Just like newXMLInputStream() but with any of a number of options. Use the 
 <em>options</em> parameter to specify the following:</p>
 
 <table>
 <tr><th>To specify this</th><th>Use this method</th></tr>
 <tr>
  <td>The character encoding to use when converting the character
  data in the XML to bytess.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setCharacterEncoding(java.lang.String)"><CODE>XmlOptions.setCharacterEncoding(java.lang.String)</CODE></A></td>
 </tr>
 <tr>
  <td>Prefix-to-namespace mappings that should be assumed
  when saving this XML. This is useful when the resulting
  XML will be part of a larger XML document, ensuring that this 
  inner document will take advantage of namespaces defined in 
  the outer document.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveImplicitNamespaces(java.util.Map)"><CODE>XmlOptions.setSaveImplicitNamespaces(java.util.Map)</CODE></A></td>
 </tr>
 <tr>
  <td>Suggested namespace prefixes to use when saving. Used only
  when a namespace attribute needs to be synthesized.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveSuggestedPrefixes(java.util.Map)"><CODE>XmlOptions.setSaveSuggestedPrefixes(java.util.Map)</CODE></A></td>
 </tr>
 <tr>
  <td>That namespace attributes should occur first in elements when
 the XML is saved. By default, they occur last.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveNamespacesFirst()"><CODE>XmlOptions.setSaveNamespacesFirst()</CODE></A></td>
 </tr>
 <tr>
  <td>The XML should be pretty printed when saved. Note that this 
  should only be used for debugging.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSavePrettyPrint()"><CODE>XmlOptions.setSavePrettyPrint()</CODE></A></td>
 </tr>
 <tr>
  <td>The number of spaces to use when indenting for pretty printing. 
  The default is 2.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSavePrettyPrintIndent(int)"><CODE>XmlOptions.setSavePrettyPrintIndent(int)</CODE></A></td>
 </tr>
 <tr>
  <td>The additional number of spaces indented from the left
  for pretty printed XML.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSavePrettyPrintOffset(int)"><CODE>XmlOptions.setSavePrettyPrintOffset(int)</CODE></A></td>
 </tr>
 <tr>
  <td>To minimize the number of namespace attributes generated for the 
  saved XML. Note that this can reduce performance significantly.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveAggresiveNamespaces()"><CODE>XmlOptions.setSaveAggresiveNamespaces()</CODE></A></td>
 </tr>
 <tr>
  <td>To reduce the size of the saved document
  by allowing the use of the default namespace. Note that this can 
  potentially change the semantic meaning of the XML if unprefixed QNames are 
  present as the value of an attribute or element.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setUseDefaultNamespace()"><CODE>XmlOptions.setUseDefaultNamespace()</CODE></A></td>
 </tr>
 <tr>
  <td>To filter out processing instructions with the specified target name.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveFilterProcinst(java.lang.String)"><CODE>XmlOptions.setSaveFilterProcinst(java.lang.String)</CODE></A></td>
 </tr>
 <tr>
  <td>Change the QName of the synthesized root element when saving. This 
  replaces "xml-fragment" with "fragment" in the namespace 
  http://www.openuri.org/fragment</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveUseOpenFrag()"><CODE>XmlOptions.setSaveUseOpenFrag()</CODE></A></td>
 </tr>
 <tr>
  <td>Saving should begin on the element's contents.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveInner()"><CODE>XmlOptions.setSaveInner()</CODE></A></td>
 </tr>
 <tr>
  <td>Saving should begin on the element, rather than its contents.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveOuter()"><CODE>XmlOptions.setSaveOuter()</CODE></A></td>
 </tr>
 <tr>
  <td>To rename the document element, or to specify the document element
  for this XML.</td>
  <td><A HREF="../../../org/apache/xmlbeans/XmlOptions.html#setSaveSyntheticDocumentElement(javax.xml.namespace.QName)"><CODE>XmlOptions.setSaveSyntheticDocumentElement(javax.xml.namespace.QName)</CODE></A></td>
 </tr>
 </table>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newXMLInputStream(org.apache.xmlbeans.XmlOptions)">newXMLInputStream</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>options</CODE> - Any of the described options.
<DT><B>Returns:</B><DD>A new validating XMLInputStream.<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlOptions.html"><CODE>XmlOptions</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="xmlText(org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
xmlText</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A> <B>xmlText</B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Just like xmlText() but with options.
 Options map may be null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#xmlText(org.apache.xmlbeans.XmlOptions)">xmlText</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlOptions.html"><CODE>XmlOptions</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="newInputStream(org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
newInputStream</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/InputStream.html">InputStream</A> <B>newInputStream</B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Just like newInputStream(String encoding) but with options.
 Options map may be null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newInputStream(org.apache.xmlbeans.XmlOptions)">newInputStream</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlOptions.html"><CODE>XmlOptions</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="newReader(org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
newReader</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Reader.html">Reader</A> <B>newReader</B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Just like newReader() but with options.
 Options map may be null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newReader(org.apache.xmlbeans.XmlOptions)">newReader</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlOptions.html"><CODE>XmlOptions</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="newDomNode(org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
newDomNode</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/Node.html">Node</A> <B>newDomNode</B>(<A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Just like newDomNode() but with options.
 Options map may be null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#newDomNode(org.apache.xmlbeans.XmlOptions)">newDomNode</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>See Also:</B><DD><A HREF="../../../org/apache/xmlbeans/XmlOptions.html"><CODE>XmlOptions</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="save(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</A>&nbsp;ch,
                 <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/ext/LexicalHandler.html">LexicalHandler</A>&nbsp;lh,
                 <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/SAXException.html">SAXException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given SAX content and
 lexical handlers.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.apache.xmlbeans.XmlOptions)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/org/xml/sax/SAXException.html">SAXException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="save(java.io.File, org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html">File</A>&nbsp;file,
                 <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given File.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(java.io.File, org.apache.xmlbeans.XmlOptions)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="save(java.io.OutputStream, org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/OutputStream.html">OutputStream</A>&nbsp;os,
                 <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given output stream.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(java.io.OutputStream, org.apache.xmlbeans.XmlOptions)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="save(java.io.Writer, org.apache.xmlbeans.XmlOptions)"><!-- --></A><H3>
save</H3>
<PRE>
public void <B>save</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Writer.html">Writer</A>&nbsp;w,
                 <A HREF="../../../org/apache/xmlbeans/XmlOptions.html">XmlOptions</A>&nbsp;options)
          throws <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></B></DD>
<DD>Writes the XML represented by this source to the given writer.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html#save(java.io.Writer, org.apache.xmlbeans.XmlOptions)">save</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/XmlTokenSource.html">XmlTokenSource</A></CODE></DL>
</DD>
<DD><DL>

<DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/IOException.html">IOException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="instanceType()"><!-- --></A><H3>
instanceType</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/SchemaType.html">SchemaType</A> <B>instanceType</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>The same as getSchemaType unless this is a union instance
 or nil value.
 <p>
 For unions, this returns the non-union consituent type of
 this instance. This type may change if setters are called
 that cause the instance to change to another constituent
 type of the union.
 <p>
 For nil values, this returns null.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#instanceType()">instanceType</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="stringValue()"><!-- --></A><H3>
stringValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A> <B>stringValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#stringValue()">stringValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="booleanValue()"><!-- --></A><H3>
booleanValue</H3>
<PRE>
public boolean <B>booleanValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a boolean. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#booleanValue()">booleanValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="byteValue()"><!-- --></A><H3>
byteValue</H3>
<PRE>
public byte <B>byteValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a byte. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#byteValue()">byteValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="shortValue()"><!-- --></A><H3>
shortValue</H3>
<PRE>
public short <B>shortValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a short. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#shortValue()">shortValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="intValue()"><!-- --></A><H3>
intValue</H3>
<PRE>
public int <B>intValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as an int. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#intValue()">intValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="longValue()"><!-- --></A><H3>
longValue</H3>
<PRE>
public long <B>longValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a long. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#longValue()">longValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="bigIntegerValue()"><!-- --></A><H3>
bigIntegerValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A> <B>bigIntegerValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#bigIntegerValue()">bigIntegerValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="bigDecimalValue()"><!-- --></A><H3>
bigDecimalValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A> <B>bigDecimalValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#bigDecimalValue()">bigDecimalValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="floatValue()"><!-- --></A><H3>
floatValue</H3>
<PRE>
public float <B>floatValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a float. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#floatValue()">floatValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="doubleValue()"><!-- --></A><H3>
doubleValue</H3>
<PRE>
public double <B>doubleValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a double. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#doubleValue()">doubleValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="byteArrayValue()"><!-- --></A><H3>
byteArrayValue</H3>
<PRE>
public byte[] <B>byteArrayValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a byte array. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#byteArrayValue()">byteArrayValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="enumValue()"><!-- --></A><H3>
enumValue</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A> <B>enumValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#enumValue()">enumValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="calendarValue()"><!-- --></A><H3>
calendarValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A> <B>calendarValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#calendarValue()">calendarValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="dateValue()"><!-- --></A><H3>
dateValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A> <B>dateValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#dateValue()">dateValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="gDateValue()"><!-- --></A><H3>
gDateValue</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A> <B>gDateValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#gDateValue()">gDateValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="gDurationValue()"><!-- --></A><H3>
gDurationValue</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/GDuration.html">GDuration</A> <B>gDurationValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#gDurationValue()">gDurationValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="qNameValue()"><!-- --></A><H3>
qNameValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A> <B>qNameValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#qNameValue()">qNameValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="listValue()"><!-- --></A><H3>
listValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A> <B>listValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#listValue()">listValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="xlistValue()"><!-- --></A><H3>
xlistValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A> <B>xlistValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of XmlAnySimpleType objects. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#xlistValue()">xlistValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="objectValue()"><!-- --></A><H3>
objectValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A> <B>objectValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration). *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#objectValue()">objectValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(java.lang.String)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(java.lang.String)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(boolean)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(boolean&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a boolean. *
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(boolean)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(byte)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(byte&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a byte.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(byte)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(short)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(short&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a short.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(short)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(int)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(int&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as an int.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(int)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(long)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(long&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a long.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(long)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(java.math.BigInteger)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(java.math.BigInteger)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(java.math.BigDecimal)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(java.math.BigDecimal)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(float)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(float&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a float.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(float)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(double)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(double&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a double.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(double)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(byte[])"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(byte[]&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a byte array.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(byte[])">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(org.apache.xmlbeans.StringEnumAbstractBase)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(org.apache.xmlbeans.StringEnumAbstractBase)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(java.util.Calendar)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(java.util.Calendar)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(java.util.Date)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(java.util.Date)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(org.apache.xmlbeans.GDateSpecification)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="../../../org/apache/xmlbeans/GDateSpecification.html">GDateSpecification</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(org.apache.xmlbeans.GDateSpecification)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(org.apache.xmlbeans.GDurationSpecification)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="../../../org/apache/xmlbeans/GDurationSpecification.html">GDurationSpecification</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(org.apache.xmlbeans.GDurationSpecification)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(javax.xml.namespace.QName)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(javax.xml.namespace.QName)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="set(java.util.List)"><!-- --></A><H3>
set</H3>
<PRE>
public void <B>set</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#set(java.util.List)">set</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getStringValue()"><!-- --></A><H3>
getStringValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A> <B>getStringValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getStringValue()">getStringValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getBooleanValue()"><!-- --></A><H3>
getBooleanValue</H3>
<PRE>
public boolean <B>getBooleanValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a boolean.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getBooleanValue()">getBooleanValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getByteValue()"><!-- --></A><H3>
getByteValue</H3>
<PRE>
public byte <B>getByteValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a byte.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getByteValue()">getByteValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getShortValue()"><!-- --></A><H3>
getShortValue</H3>
<PRE>
public short <B>getShortValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a short.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getShortValue()">getShortValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getIntValue()"><!-- --></A><H3>
getIntValue</H3>
<PRE>
public int <B>getIntValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as an int.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getIntValue()">getIntValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getLongValue()"><!-- --></A><H3>
getLongValue</H3>
<PRE>
public long <B>getLongValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a long.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getLongValue()">getLongValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getBigIntegerValue()"><!-- --></A><H3>
getBigIntegerValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A> <B>getBigIntegerValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getBigIntegerValue()">getBigIntegerValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getBigDecimalValue()"><!-- --></A><H3>
getBigDecimalValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A> <B>getBigDecimalValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getBigDecimalValue()">getBigDecimalValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFloatValue()"><!-- --></A><H3>
getFloatValue</H3>
<PRE>
public float <B>getFloatValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a float.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getFloatValue()">getFloatValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDoubleValue()"><!-- --></A><H3>
getDoubleValue</H3>
<PRE>
public double <B>getDoubleValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a double.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getDoubleValue()">getDoubleValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getByteArrayValue()"><!-- --></A><H3>
getByteArrayValue</H3>
<PRE>
public byte[] <B>getByteArrayValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a byte array.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getByteArrayValue()">getByteArrayValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getEnumValue()"><!-- --></A><H3>
getEnumValue</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A> <B>getEnumValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getEnumValue()">getEnumValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCalendarValue()"><!-- --></A><H3>
getCalendarValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A> <B>getCalendarValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getCalendarValue()">getCalendarValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDateValue()"><!-- --></A><H3>
getDateValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A> <B>getDateValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getDateValue()">getDateValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getGDateValue()"><!-- --></A><H3>
getGDateValue</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A> <B>getGDateValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getGDateValue()">getGDateValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getGDurationValue()"><!-- --></A><H3>
getGDurationValue</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/GDuration.html">GDuration</A> <B>getGDurationValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getGDurationValue()">getGDurationValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getQNameValue()"><!-- --></A><H3>
getQNameValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A> <B>getQNameValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getQNameValue()">getQNameValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getListValue()"><!-- --></A><H3>
getListValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A> <B>getListValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getListValue()">getListValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="xgetListValue()"><!-- --></A><H3>
xgetListValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A> <B>xgetListValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A> of XmlAnySimpleType objects.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#xgetListValue()">xgetListValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getObjectValue()"><!-- --></A><H3>
getObjectValue</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A> <B>getObjectValue</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#getObjectValue()">getObjectValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setStringValue(java.lang.String)"><!-- --></A><H3>
setStringValue</H3>
<PRE>
public void <B>setStringValue</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html"><CODE>String</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setStringValue(java.lang.String)">setStringValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBooleanValue(boolean)"><!-- --></A><H3>
setBooleanValue</H3>
<PRE>
public void <B>setBooleanValue</B>(boolean&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a boolean.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setBooleanValue(boolean)">setBooleanValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setByteValue(byte)"><!-- --></A><H3>
setByteValue</H3>
<PRE>
public void <B>setByteValue</B>(byte&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a byte.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setByteValue(byte)">setByteValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setShortValue(short)"><!-- --></A><H3>
setShortValue</H3>
<PRE>
public void <B>setShortValue</B>(short&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a short.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setShortValue(short)">setShortValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setIntValue(int)"><!-- --></A><H3>
setIntValue</H3>
<PRE>
public void <B>setIntValue</B>(int&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as an int.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setIntValue(int)">setIntValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setLongValue(long)"><!-- --></A><H3>
setLongValue</H3>
<PRE>
public void <B>setLongValue</B>(long&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a long.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setLongValue(long)">setLongValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBigIntegerValue(java.math.BigInteger)"><!-- --></A><H3>
setBigIntegerValue</H3>
<PRE>
public void <B>setBigIntegerValue</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html">BigInteger</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html"><CODE>BigInteger</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setBigIntegerValue(java.math.BigInteger)">setBigIntegerValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setBigDecimalValue(java.math.BigDecimal)"><!-- --></A><H3>
setBigDecimalValue</H3>
<PRE>
public void <B>setBigDecimalValue</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html">BigDecimal</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html"><CODE>BigDecimal</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setBigDecimalValue(java.math.BigDecimal)">setBigDecimalValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setFloatValue(float)"><!-- --></A><H3>
setFloatValue</H3>
<PRE>
public void <B>setFloatValue</B>(float&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a float.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setFloatValue(float)">setFloatValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDoubleValue(double)"><!-- --></A><H3>
setDoubleValue</H3>
<PRE>
public void <B>setDoubleValue</B>(double&nbsp;v)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a double.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setDoubleValue(double)">setDoubleValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setByteArrayValue(byte[])"><!-- --></A><H3>
setByteArrayValue</H3>
<PRE>
public void <B>setByteArrayValue</B>(byte[]&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a byte array.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setByteArrayValue(byte[])">setByteArrayValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setEnumValue(org.apache.xmlbeans.StringEnumAbstractBase)"><!-- --></A><H3>
setEnumValue</H3>
<PRE>
public void <B>setEnumValue</B>(<A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html">StringEnumAbstractBase</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="../../../org/apache/xmlbeans/StringEnumAbstractBase.html"><CODE>StringEnumAbstractBase</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setEnumValue(org.apache.xmlbeans.StringEnumAbstractBase)">setEnumValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setCalendarValue(java.util.Calendar)"><!-- --></A><H3>
setCalendarValue</H3>
<PRE>
public void <B>setCalendarValue</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html">Calendar</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html"><CODE>Calendar</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setCalendarValue(java.util.Calendar)">setCalendarValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setDateValue(java.util.Date)"><!-- --></A><H3>
setDateValue</H3>
<PRE>
public void <B>setDateValue</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html">Date</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Date.html"><CODE>Date</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setDateValue(java.util.Date)">setDateValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setGDateValue(org.apache.xmlbeans.GDate)"><!-- --></A><H3>
setGDateValue</H3>
<PRE>
public void <B>setGDateValue</B>(<A HREF="../../../org/apache/xmlbeans/GDate.html">GDate</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDate.html"><CODE>GDate</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setGDateValue(org.apache.xmlbeans.GDate)">setGDateValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setGDurationValue(org.apache.xmlbeans.GDuration)"><!-- --></A><H3>
setGDurationValue</H3>
<PRE>
public void <B>setGDurationValue</B>(<A HREF="../../../org/apache/xmlbeans/GDuration.html">GDuration</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="../../../org/apache/xmlbeans/GDuration.html"><CODE>GDuration</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setGDurationValue(org.apache.xmlbeans.GDuration)">setGDurationValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setQNameValue(javax.xml.namespace.QName)"><!-- --></A><H3>
setQNameValue</H3>
<PRE>
public void <B>setQNameValue</B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html"><CODE>QName</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setQNameValue(javax.xml.namespace.QName)">setQNameValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setListValue(java.util.List)"><!-- --></A><H3>
setListValue</H3>
<PRE>
public void <B>setListValue</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html">List</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as a <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/List.html"><CODE>List</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setListValue(java.util.List)">setListValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setObjectValue(java.lang.Object)"><!-- --></A><H3>
setObjectValue</H3>
<PRE>
public void <B>setObjectValue</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as an arbitrary <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html"><CODE>Object</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#setObjectValue(java.lang.Object)">setObjectValue</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="objectSet(java.lang.Object)"><!-- --></A><H3>
objectSet</H3>
<PRE>
public void <B>objectSet</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A>&nbsp;obj)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></B></DD>
<DD>Sets the value as an arbitrary <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html"><CODE>Object</CODE></A>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html#objectSet(java.lang.Object)">objectSet</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/SimpleValue.html">SimpleValue</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <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="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;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../org/apache/xmlbeans/GDate.html"><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="FilterXmlObject.html" TARGET="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;
<SCRIPT>
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<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;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>

</BODY>
</HTML>
