<!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:59 PDT 2003 -->
<TITLE>
QNameSetBuilder (XMLBeans Documentation)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xmlbeans.QNameSetBuilder,QNameSetBuilder class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<SCRIPT>
function asd()
{
parent.document.title="QNameSetBuilder (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;<A HREF="../../../org/apache/xmlbeans/QNameSet.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/xmlbeans/SchemaAttributeGroup.Ref.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="QNameSetBuilder.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 QNameSetBuilder</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.QNameSetBuilder</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html">Serializable</A></DD>
</DL>
<HR>
<DL>
<DT>public class <B>QNameSetBuilder</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/QNameSetSpecification.html">QNameSetSpecification</A>, <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html">Serializable</A></DL>

<P>
Used to build <A HREF="../../../org/apache/xmlbeans/QNameSet.html"><CODE>QNameSets</CODE></A>.
<P>

<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html" TARGET="org.apache.xmlbeans.QNameSetBuilder">Serialized Form</A></DL>
<HR>

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


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


<!-- ======== 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/QNameSetBuilder.html#QNameSetBuilder()">QNameSetBuilder</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an empty QNameSetBuilder.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#QNameSetBuilder(org.apache.xmlbeans.QNameSetSpecification)">QNameSetBuilder</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a QNameSetBuilder whose initial contents are given by
 another QNameSetSpecification.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#QNameSetBuilder(java.util.Set, java.util.Set, java.util.Set, java.util.Set)">QNameSetBuilder</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;excludedURIs,
                <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;includedURIs,
                <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;excludedQNamesInIncludedURIs,
                <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;includedQNamesInExcludedURIs)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a QNameSetBuilder whose inital contents are given by
 the four sets.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#QNameSetBuilder(java.lang.String, java.lang.String)">QNameSetBuilder</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;str,
                <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;targetURI)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a QNameSetBuilder whose initial contents are given
 as a list of namespace URIs, using the same format used by wildcards
 in XSD files.</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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#add(javax.xml.namespace.QName)">add</A></B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;qname)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a single QName to this QNameSetBuilder.</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/QNameSetBuilder.html#addAll(org.apache.xmlbeans.QNameSetSpecification)">addAll</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the contents of another QNameSet to this QNameSetBuilder.</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/QNameSetBuilder.html#addNamespace(java.lang.String)">addNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds an entire namespace URI of QNames to this QNameSetBuilder.</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/QNameSetBuilder.html#clear()">clear</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears this QNameSetBuilder</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/QNameSetBuilder.html#contains(javax.xml.namespace.QName)">contains</A></B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this ModelTransitionSet contains the given qname.</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/QNameSetBuilder.html#containsAll(org.apache.xmlbeans.QNameSetSpecification)">containsAll</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if the parameter is a subset of this set.</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/Set.html">Set</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#excludedQNamesInIncludedURIs()">excludedQNamesInIncludedURIs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The finite set of QNames that are excluded from the set within namespaces
 that are otherwise included.</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/Set.html">Set</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#excludedURIs()">excludedURIs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The finite set of namespace URIs that are almost completely excluded from
 the set (that is, each namespace URI that included in the set with with
 a finite number of QName exceptions).</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/Set.html">Set</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#includedQNamesInExcludedURIs()">includedQNamesInExcludedURIs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The finite set of QNames that are included in the set within namespaces
 that are otherwise excluded.</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/Set.html">Set</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#includedURIs()">includedURIs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The finite set of namespace URIs that are almost completely included in
 the set (that is, each namespace URI that included in the set with with
 a finite number of QName exceptions).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#intersect(org.apache.xmlbeans.QNameSetSpecification)">intersect</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new QNameSet that is the intersection of this one and another.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#inverse()">inverse</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new QNameSet that is the inverse of this one.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#invert()">invert</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inverts this QNameSetBuilder.</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/QNameSetBuilder.html#isAll()">isAll</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this ModelTransitionSet contains all QNames.</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/QNameSetBuilder.html#isDisjoint(org.apache.xmlbeans.QNameSetSpecification)">isDisjoint</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if the given set is disjoint from this one.</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/QNameSetBuilder.html#isEmpty()">isEmpty</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if this ModelTransitionSet contains no QNames.</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/QNameSetBuilder.html#remove(javax.xml.namespace.QName)">remove</A></B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;qname)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the given qname from this QNameSetBuilder.</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/QNameSetBuilder.html#removeAll(org.apache.xmlbeans.QNameSetSpecification)">removeAll</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes all contents of a given QNameSet from this QNameSetBuilder.</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/QNameSetBuilder.html#removeNamespace(java.lang.String)">removeNamespace</A></B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;uri)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes an entire namespace URI from this QNameSetBuilder.</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/QNameSetBuilder.html#restrict(org.apache.xmlbeans.QNameSetSpecification)">restrict</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restricts the contents of this QNameSetBuilder to be a subset of the
 given QNameSet.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#toQNameSet()">toQNameSet</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../org/apache/xmlbeans/QNameSet.html"><CODE>QNameSet</CODE></A> equivalent to the current state of this
 QNameSetBuilder.</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/QNameSetBuilder.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string representation useful for debugging, subject to change.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../org/apache/xmlbeans/QNameSetBuilder.html#union(org.apache.xmlbeans.QNameSetSpecification)">union</A></B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a new QNameSet that is the union of this one and another.</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#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;
<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="QNameSetBuilder()"><!-- --></A><H3>
QNameSetBuilder</H3>
<PRE>
public <B>QNameSetBuilder</B>()</PRE>
<DL>
<DD>Constructs an empty QNameSetBuilder.
<P>
</DL>
<HR>

<A NAME="QNameSetBuilder(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
QNameSetBuilder</H3>
<PRE>
public <B>QNameSetBuilder</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>Constructs a QNameSetBuilder whose initial contents are given by
 another QNameSetSpecification.
<P>
<DT><B>Parameters:</B><DD><CODE>set</CODE> - the QNameSetSpecificaiton to copy</DL>
<HR>

<A NAME="QNameSetBuilder(java.util.Set, java.util.Set, java.util.Set, java.util.Set)"><!-- --></A><H3>
QNameSetBuilder</H3>
<PRE>
public <B>QNameSetBuilder</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;excludedURIs,
                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;includedURIs,
                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;excludedQNamesInIncludedURIs,
                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A>&nbsp;includedQNamesInExcludedURIs)</PRE>
<DL>
<DD>Constructs a QNameSetBuilder whose inital contents are given by
 the four sets.  Exactly one of either excludedURIs or includedURIs must
 be non-null.
<P>
<DT><B>Parameters:</B><DD><CODE>excludedURIs</CODE> - the finite set of namespace URI strings to exclude from the set, or null if this set is infinite<DD><CODE>includedURIs</CODE> - the finite set of namespace URI strings to include in the set, or null if this set is infinite<DD><CODE>excludedQNamesInIncludedURIs</CODE> - the finite set of exceptional QNames to exclude from the included namespaces</DL>
<HR>

<A NAME="QNameSetBuilder(java.lang.String, java.lang.String)"><!-- --></A><H3>
QNameSetBuilder</H3>
<PRE>
public <B>QNameSetBuilder</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;str,
                       <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;targetURI)</PRE>
<DL>
<DD>Constructs a QNameSetBuilder whose initial contents are given
 as a list of namespace URIs, using the same format used by wildcards
 in XSD files.
<P>
<DT><B>Parameters:</B><DD><CODE>str</CODE> - a wildcard namespace specification string such as "##any",
        "##other", "##local", "##targetNamespace", or a space-separated
        list of URIs.<DD><CODE>targetURI</CODE> - the current targetNamespace</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="contains(javax.xml.namespace.QName)"><!-- --></A><H3>
contains</H3>
<PRE>
public boolean <B>contains</B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;name)</PRE>
<DL>
<DD>True if this ModelTransitionSet contains the given qname.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#contains(javax.xml.namespace.QName)">contains</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isAll()"><!-- --></A><H3>
isAll</H3>
<PRE>
public boolean <B>isAll</B>()</PRE>
<DL>
<DD>True if this ModelTransitionSet contains all QNames.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#isAll()">isAll</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isEmpty()"><!-- --></A><H3>
isEmpty</H3>
<PRE>
public boolean <B>isEmpty</B>()</PRE>
<DL>
<DD>True if this ModelTransitionSet contains no QNames.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#isEmpty()">isEmpty</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="intersect(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
intersect</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A> <B>intersect</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>Returns a new QNameSet that is the intersection of this one and another.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#intersect(org.apache.xmlbeans.QNameSetSpecification)">intersect</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="union(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
union</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A> <B>union</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>Returns a new QNameSet that is the union of this one and another.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#union(org.apache.xmlbeans.QNameSetSpecification)">union</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="inverse()"><!-- --></A><H3>
inverse</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A> <B>inverse</B>()</PRE>
<DL>
<DD>Returns a new QNameSet that is the inverse of this one.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#inverse()">inverse</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="containsAll(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
containsAll</H3>
<PRE>
public boolean <B>containsAll</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>True if the parameter is a subset of this set.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#containsAll(org.apache.xmlbeans.QNameSetSpecification)">containsAll</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isDisjoint(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
isDisjoint</H3>
<PRE>
public boolean <B>isDisjoint</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>True if the given set is disjoint from this one.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#isDisjoint(org.apache.xmlbeans.QNameSetSpecification)">isDisjoint</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="clear()"><!-- --></A><H3>
clear</H3>
<PRE>
public void <B>clear</B>()</PRE>
<DL>
<DD>Clears this QNameSetBuilder
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="invert()"><!-- --></A><H3>
invert</H3>
<PRE>
public void <B>invert</B>()</PRE>
<DL>
<DD>Inverts this QNameSetBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="add(javax.xml.namespace.QName)"><!-- --></A><H3>
add</H3>
<PRE>
public void <B>add</B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;qname)</PRE>
<DL>
<DD>Adds a single QName to this QNameSetBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addNamespace(java.lang.String)"><!-- --></A><H3>
addNamespace</H3>
<PRE>
public void <B>addNamespace</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;uri)</PRE>
<DL>
<DD>Adds an entire namespace URI of QNames to this QNameSetBuilder.
 The empty string is used to signifiy the (local) no-namespace.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="addAll(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
addAll</H3>
<PRE>
public void <B>addAll</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>Adds the contents of another QNameSet to this QNameSetBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="remove(javax.xml.namespace.QName)"><!-- --></A><H3>
remove</H3>
<PRE>
public void <B>remove</B>(<A HREF="http://java.sun.com/j2ee/1.4/docs/api/javax/xml/namespace/QName.html">QName</A>&nbsp;qname)</PRE>
<DL>
<DD>Removes the given qname from this QNameSetBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removeNamespace(java.lang.String)"><!-- --></A><H3>
removeNamespace</H3>
<PRE>
public void <B>removeNamespace</B>(<A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A>&nbsp;uri)</PRE>
<DL>
<DD>Removes an entire namespace URI from this QNameSetBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removeAll(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
removeAll</H3>
<PRE>
public void <B>removeAll</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>Removes all contents of a given QNameSet from this QNameSetBuilder.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="restrict(org.apache.xmlbeans.QNameSetSpecification)"><!-- --></A><H3>
restrict</H3>
<PRE>
public void <B>restrict</B>(<A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A>&nbsp;set)</PRE>
<DL>
<DD>Restricts the contents of this QNameSetBuilder to be a subset of the
 given QNameSet. In other words, computes an intersection.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="excludedURIs()"><!-- --></A><H3>
excludedURIs</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A> <B>excludedURIs</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></B></DD>
<DD>The finite set of namespace URIs that are almost completely excluded from
 the set (that is, each namespace URI that included in the set with with
 a finite number of QName exceptions). Null if the set of namespaceURIs
 that are almost completely included is infinite.
 <p>
 Null (meaning almost all URIs excluded) if includedURIs() is non-null;
 non-null otherwise.
 <p>
 The same set as inverse().includedURIs().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#excludedURIs()">excludedURIs</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="includedURIs()"><!-- --></A><H3>
includedURIs</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A> <B>includedURIs</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></B></DD>
<DD>The finite set of namespace URIs that are almost completely included in
 the set (that is, each namespace URI that included in the set with with
 a finite number of QName exceptions). Null if the set of namespaceURIs
 that are almost completely included is infinite.
 <p>
 Null (meaning almost all URIs included) if excludedURIs() is non-null;
 non-null otherwise.
 <p>
 The same as inverse.excludedURIs().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#includedURIs()">includedURIs</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="excludedQNamesInIncludedURIs()"><!-- --></A><H3>
excludedQNamesInIncludedURIs</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A> <B>excludedQNamesInIncludedURIs</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></B></DD>
<DD>The finite set of QNames that are excluded from the set within namespaces
 that are otherwise included. Should only contain QNames within namespace
 that are within the set includedURIs() (or any URI, if includedURIs()
 is null, which means that all URIs are almost completely included).
 <p>
 Never null.
 <p>
 The same set as inverse().includedQNames().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#excludedQNamesInIncludedURIs()">excludedQNamesInIncludedURIs</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="includedQNamesInExcludedURIs()"><!-- --></A><H3>
includedQNamesInExcludedURIs</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Set.html">Set</A> <B>includedQNamesInExcludedURIs</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></B></DD>
<DD>The finite set of QNames that are included in the set within namespaces
 that are otherwise excluded. Should only contain QNames within namespace
 that are within the set excludedURIs() (or any URI, if excludedURIs()
 is null, which means that all URIs are almost completely excluded).
 <p>
 Never null.
 <p>
 The same as inverse().excludedQNames().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html#includedQNamesInExcludedURIs()">includedQNamesInExcludedURIs</A></CODE> in interface <CODE><A HREF="../../../org/apache/xmlbeans/QNameSetSpecification.html">QNameSetSpecification</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html">String</A> <B>toString</B>()</PRE>
<DL>
<DD>Returns a string representation useful for debugging, subject to change.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html#toString()">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Object.html">Object</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="toQNameSet()"><!-- --></A><H3>
toQNameSet</H3>
<PRE>
public <A HREF="../../../org/apache/xmlbeans/QNameSet.html">QNameSet</A> <B>toQNameSet</B>()</PRE>
<DL>
<DD>Returns a <A HREF="../../../org/apache/xmlbeans/QNameSet.html"><CODE>QNameSet</CODE></A> equivalent to the current state of this
 QNameSetBuilder.
<P>
<DD><DL>
</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;<A HREF="../../../org/apache/xmlbeans/QNameSet.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../org/apache/xmlbeans/SchemaAttributeGroup.Ref.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="QNameSetBuilder.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>
