<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_26) on Wed Sep 14 22:31:11 PDT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
ParserOptions (Abdera2 Core 2.0-SNAPSHOT API)
</TITLE>

<META NAME="date" CONTENT="2011-09-14">

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

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="ParserOptions (Abdera2 Core 2.0-SNAPSHOT API)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

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


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ParserOptions.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserFactory.html" title="interface in org.apache.abdera2.parser"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/abdera2/parser/ParserOptions.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ParserOptions.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.abdera2.parser</FONT>
<BR>
Interface ParserOptions</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/abdera2/parser/AbstractParserOptions.html" title="class in org.apache.abdera2.parser">AbstractParserOptions</A>, <A HREF="../../../../org/apache/abdera2/parser/axiom/FOMParserOptions.html" title="class in org.apache.abdera2.parser.axiom">FOMParserOptions</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>ParserOptions</B><DT>extends <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</A></DL>
</PRE>

<P>
Parser options are used to modify the behavior of the parser.
<P>

<P>
<HR>

<P>

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

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#clone()">clone</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;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#getAutodetectCharset()">getAutodetectCharset</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the parser should attempt to automatically detect the character encoding from the stream</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#getCharset()">getCharset</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the default character set to use for the parsed document</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;org.apache.abdera2.common.io.Compression.CompressionCodec[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#getCompressionCodecs()">getCompressionCodecs</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When parsing an InputStream that contains compressed data, use these codecs to decompress the stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/factory/Factory.html" title="interface in org.apache.abdera2.factory">Factory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#getFactory()">getFactory</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the factory the parser should use</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#getFilterRestrictedCharacterReplacement()">getFilterRestrictedCharacterReplacement</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If getFilterRestrictedCharacters is true, restricted characters will be replaced with the specified character</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/abdera2/parser/ParserOptions.html#getFilterRestrictedCharacters()">getFilterRestrictedCharacters</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If true, the parser will attempt to silently filter out invalid XML characters appearing within the XML document.</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/abdera2/parser/ParserOptions.html#getMustPreserveWhitespace()">getMustPreserveWhitespace</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If false, the parser will trim leading and trailing whitespace in element and attribute values unless there is an
 in-scope xml:space="preserve".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/filter/ParseFilter.html" title="interface in org.apache.abdera2.parser.filter">ParseFilter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#getParseFilter()">getParseFilter</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Parse Filter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>,<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#getQNameAliasMap()">getQNameAliasMap</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the QName-Alias Mapping (default null)</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/abdera2/parser/ParserOptions.html#getResolveEntities()">getResolveEntities</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if undeclared named entities should be resolved.</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/abdera2/parser/ParserOptions.html#isQNameAliasMappingEnabled()">isQNameAliasMappingEnabled</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if QName-Alias mapping is enabled (default is false)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#registerEntity(java.lang.String, java.lang.String)">registerEntity</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
               <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register a named entity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#resolveEntity(java.lang.String)">resolveEntity</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolves a value for a named entity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setAutodetectCharset(boolean)">setAutodetectCharset</A></B>(boolean&nbsp;detect)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If true, the parser will attempt to automatically detect the character encoding from the stream by checking for
 the byte order mark or checking the XML prolog.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setCharset(java.lang.String)">setCharset</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;charset)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the character set to use for the parsed document</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setCompressionCodecs(org.apache.abdera2.common.io.Compression.CompressionCodec...)">setCompressionCodecs</A></B>(org.apache.abdera2.common.io.Compression.CompressionCodec...&nbsp;codecs)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;When parsing an InputStream that contains compressed data, use these codecs to decompress the stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setFactory(org.apache.abdera2.factory.Factory)">setFactory</A></B>(<A HREF="../../../../org/apache/abdera2/factory/Factory.html" title="interface in org.apache.abdera2.factory">Factory</A>&nbsp;factory)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the factory the parser should use</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setFilterRestrictedCharacterReplacement(char)">setFilterRestrictedCharacterReplacement</A></B>(char&nbsp;replacement)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If getFilterRestrictedCharacters is true, restricted characters will be replaced with the specified character</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setFilterRestrictedCharacters(boolean)">setFilterRestrictedCharacters</A></B>(boolean&nbsp;filter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If true, the parser will attempt to silently filter out invalid XML characters appearing within the XML document</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setMustPreserveWhitespace(boolean)">setMustPreserveWhitespace</A></B>(boolean&nbsp;preserve)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If false, the parser will trim leading and trailing whitespace in element and attribute values unless there is an
 in-scope xml:space="preserve".</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setParseFilter(org.apache.abdera2.parser.filter.ParseFilter)">setParseFilter</A></B>(<A HREF="../../../../org/apache/abdera2/parser/filter/ParseFilter.html" title="interface in org.apache.abdera2.parser.filter">ParseFilter</A>&nbsp;parseFilter)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the Parse Filter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setQNameAliasMap(java.util.Map)">setQNameAliasMap</A></B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>,<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>&gt;&nbsp;map)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the QName-Alias Mapping</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setQNameAliasMappingEnabled(boolean)">setQNameAliasMappingEnabled</A></B>(boolean&nbsp;enabled)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if QName-Alias mapping is enabled</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html#setResolveEntities(boolean)">setResolveEntities</A></B>(boolean&nbsp;resolve)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if undeclared named entities should be resolved.</TD>
</TR>
</TABLE>
&nbsp;
<P>

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

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

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>clone</B>()
             throws <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CloneNotSupportedException.html?is-external=true" title="class or interface in java.lang">CloneNotSupportedException</A></PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/CloneNotSupportedException.html?is-external=true" title="class or interface in java.lang">CloneNotSupportedException</A></CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getFactory()"><!-- --></A><H3>
getFactory</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/factory/Factory.html" title="interface in org.apache.abdera2.factory">Factory</A> <B>getFactory</B>()</PRE>
<DL>
<DD>Returns the factory the parser should use
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setFactory(org.apache.abdera2.factory.Factory)"><!-- --></A><H3>
setFactory</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setFactory</B>(<A HREF="../../../../org/apache/abdera2/factory/Factory.html" title="interface in org.apache.abdera2.factory">Factory</A>&nbsp;factory)</PRE>
<DL>
<DD>Sets the factory the parser should use
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCharset()"><!-- --></A><H3>
getCharset</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getCharset</B>()</PRE>
<DL>
<DD>Returns the default character set to use for the parsed document
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setCharset(java.lang.String)"><!-- --></A><H3>
setCharset</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setCharset</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;charset)</PRE>
<DL>
<DD>Sets the character set to use for the parsed document
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getParseFilter()"><!-- --></A><H3>
getParseFilter</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/filter/ParseFilter.html" title="interface in org.apache.abdera2.parser.filter">ParseFilter</A> <B>getParseFilter</B>()</PRE>
<DL>
<DD>Returns the Parse Filter. The parse filter is a set of XML QNames that the parse should watch out for. If the
 filter is null, the parser will parse all elements in the document. I the filter is not null, the parser will
 only pay attention to elements whose QName's appear in the filter list.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setParseFilter(org.apache.abdera2.parser.filter.ParseFilter)"><!-- --></A><H3>
setParseFilter</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setParseFilter</B>(<A HREF="../../../../org/apache/abdera2/parser/filter/ParseFilter.html" title="interface in org.apache.abdera2.parser.filter">ParseFilter</A>&nbsp;parseFilter)</PRE>
<DL>
<DD>Sets the Parse Filter. The parse filter is a set of XML QNames that the parse should watch out for. If the filter
 is null, the parser will parse all elements in the document. I the filter is not null, the parser will only pay
 attention to elements whose QName's appear in the filter list.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAutodetectCharset()"><!-- --></A><H3>
getAutodetectCharset</H3>
<PRE>
boolean <B>getAutodetectCharset</B>()</PRE>
<DL>
<DD>Returns true if the parser should attempt to automatically detect the character encoding from the stream
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setAutodetectCharset(boolean)"><!-- --></A><H3>
setAutodetectCharset</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setAutodetectCharset</B>(boolean&nbsp;detect)</PRE>
<DL>
<DD>If true, the parser will attempt to automatically detect the character encoding from the stream by checking for
 the byte order mark or checking the XML prolog.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getMustPreserveWhitespace()"><!-- --></A><H3>
getMustPreserveWhitespace</H3>
<PRE>
boolean <B>getMustPreserveWhitespace</B>()</PRE>
<DL>
<DD>If false, the parser will trim leading and trailing whitespace in element and attribute values unless there is an
 in-scope xml:space="preserve".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setMustPreserveWhitespace(boolean)"><!-- --></A><H3>
setMustPreserveWhitespace</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setMustPreserveWhitespace</B>(boolean&nbsp;preserve)</PRE>
<DL>
<DD>If false, the parser will trim leading and trailing whitespace in element and attribute values unless there is an
 in-scope xml:space="preserve".
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFilterRestrictedCharacters()"><!-- --></A><H3>
getFilterRestrictedCharacters</H3>
<PRE>
boolean <B>getFilterRestrictedCharacters</B>()</PRE>
<DL>
<DD>If true, the parser will attempt to silently filter out invalid XML characters appearing within the XML document.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setFilterRestrictedCharacters(boolean)"><!-- --></A><H3>
setFilterRestrictedCharacters</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setFilterRestrictedCharacters</B>(boolean&nbsp;filter)</PRE>
<DL>
<DD>If true, the parser will attempt to silently filter out invalid XML characters appearing within the XML document
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getFilterRestrictedCharacterReplacement()"><!-- --></A><H3>
getFilterRestrictedCharacterReplacement</H3>
<PRE>
char <B>getFilterRestrictedCharacterReplacement</B>()</PRE>
<DL>
<DD>If getFilterRestrictedCharacters is true, restricted characters will be replaced with the specified character
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setFilterRestrictedCharacterReplacement(char)"><!-- --></A><H3>
setFilterRestrictedCharacterReplacement</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setFilterRestrictedCharacterReplacement</B>(char&nbsp;replacement)</PRE>
<DL>
<DD>If getFilterRestrictedCharacters is true, restricted characters will be replaced with the specified character
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getCompressionCodecs()"><!-- --></A><H3>
getCompressionCodecs</H3>
<PRE>
org.apache.abdera2.common.io.Compression.CompressionCodec[] <B>getCompressionCodecs</B>()</PRE>
<DL>
<DD>When parsing an InputStream that contains compressed data, use these codecs to decompress the stream. Only used
 when parsing an InputStream. Ignored when parsing a Reader
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setCompressionCodecs(org.apache.abdera2.common.io.Compression.CompressionCodec...)"><!-- --></A><H3>
setCompressionCodecs</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setCompressionCodecs</B>(org.apache.abdera2.common.io.Compression.CompressionCodec...&nbsp;codecs)</PRE>
<DL>
<DD>When parsing an InputStream that contains compressed data, use these codecs to decompress the stream. Only used
 when parsing an InputStream. Ignored when parsing a Reader
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="registerEntity(java.lang.String, java.lang.String)"><!-- --></A><H3>
registerEntity</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>registerEntity</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name,
                             <A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;value)</PRE>
<DL>
<DD>Register a named entity. This provides an escape clause for when feeds use entities that are not supported in XML
 without a DTD decl. By default, all of the (X)HTML entities are preregistered
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="resolveEntity(java.lang.String)"><!-- --></A><H3>
resolveEntity</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>resolveEntity</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
<DL>
<DD>Resolves a value for a named entity. This provides an escape clause for when feeds use entities that are not
 supported in XML without a DTD decl. By default, all of the (X)HTML entities are preregistered
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setResolveEntities(boolean)"><!-- --></A><H3>
setResolveEntities</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setResolveEntities</B>(boolean&nbsp;resolve)</PRE>
<DL>
<DD>True if undeclared named entities should be resolved.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getResolveEntities()"><!-- --></A><H3>
getResolveEntities</H3>
<PRE>
boolean <B>getResolveEntities</B>()</PRE>
<DL>
<DD>True if undeclared named entities should be resolved.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setQNameAliasMappingEnabled(boolean)"><!-- --></A><H3>
setQNameAliasMappingEnabled</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setQNameAliasMappingEnabled</B>(boolean&nbsp;enabled)</PRE>
<DL>
<DD>True if QName-Alias mapping is enabled
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isQNameAliasMappingEnabled()"><!-- --></A><H3>
isQNameAliasMappingEnabled</H3>
<PRE>
boolean <B>isQNameAliasMappingEnabled</B>()</PRE>
<DL>
<DD>True if QName-Alias mapping is enabled (default is false)
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getQNameAliasMap()"><!-- --></A><H3>
getQNameAliasMap</H3>
<PRE>
<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>,<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>&gt; <B>getQNameAliasMap</B>()</PRE>
<DL>
<DD>Get the QName-Alias Mapping (default null)
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setQNameAliasMap(java.util.Map)"><!-- --></A><H3>
setQNameAliasMap</H3>
<PRE>
<A HREF="../../../../org/apache/abdera2/parser/ParserOptions.html" title="interface in org.apache.abdera2.parser">ParserOptions</A> <B>setQNameAliasMap</B>(<A HREF="http://download.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>,<A HREF="http://download.oracle.com/javase/6/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</A>&gt;&nbsp;map)</PRE>
<DL>
<DD>Set the QName-Alias Mapping
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ParserOptions.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/abdera2/parser/ParserFactory.html" title="interface in org.apache.abdera2.parser"><B>PREV CLASS</B></A>&nbsp;
&nbsp;NEXT CLASS</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html?org/apache/abdera2/parser/ParserOptions.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="ParserOptions.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright &#169; 2006-2011 <a href="http://www.apache.org/">Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
