<?xml version="1.0" standalone="no"?>
<!DOCTYPE faqs SYSTEM "./dtd/faqs.dtd">

<faqs title="General FAQs">

	<faq title="New Features?">
		<q>What are the new features?</q>
		<a>
			<p>Here are some of the new features in &javaparsername;:</p>
		     <ul>
			     <li>Additional support for W3C XML Schema Language.</li>
			     <li>DOS filenames no longer work. See Common Problems
				section of the FAQ.</li>
		     </ul>
	<anchor name="valid"/>
		</a>
	</faq>
	
	<faq title="Validation">
		<q>How do I turn on validation?</q>
		<a>
			<p>You can turn validation on and off via methods available
			on the SAX2 <code>XMLFilter</code> interface. While only the 
			<code>SAXParser</code> implements the <code>XMLFilter</code>
			interface, the methods required for turning on validation
			are available to both parser classes, DOM and SAX.
			<br/>
            The code snippet below shows how to turn validation on -- assume that <ref>parser</ref>
            is an instance of either
            <code>org.apache.xerces.parsers.SAXParser</code> or
            <code>org.apache.xerces.parsers.DOMParser</code>. <br/><br/>
     		<code>parser.setFeature("http://xml.org/sax/features/validation", true);</code>
			</p>
		</a>
	</faq>
	
	<faq title="International Encodings">
		<q>What international encodings are supported by &javaparsername;?</q>
		<a>
			<ul>
          		<li>UTF-8</li>
          		<li>UTF-16 Big Endian, UTF-16 Little Endian</li>
          		<li>IBM-1208</li>
          		<li>ISO Latin-1 (ISO-8859-1)</li>
          		<li>ISO Latin-2 (ISO-8859-2) [Bosnian, Croatian, Czech, 
					Hungarian, Polish, Romanian, Serbian (in Latin transcription), 
					Serbocroatian, Slovak, Slovenian, Upper and Lower Sorbian]</li>
          		<li>ISO Latin-3 (ISO-8859-3) [Maltese, Esperanto]</li>
          		<li>ISO Latin-4 (ISO-8859-4)</li>
          		<li>ISO Latin Cyrillic (ISO-8859-5)</li>
          		<li>ISO Latin Arabic (ISO-8859-6)</li>
          		<li>ISO Latin Greek (ISO-8859-7)</li>
          		<li>ISO Latin Hebrew (ISO-8859-8)</li>
          		<li>ISO Latin-5 (ISO-8859-9) [Turkish]</li>
          		<li>Extended Unix Code, packed for Japanese (euc-jp, eucjis)</li>
          		<li>Japanese Shift JIS (shift-jis)</li>
          		<li>Chinese (big5)</li>
          		<li>Chinese for PRC (mixed 1/2 byte) (gb2312)</li>
          		<li>Japanese ISO-2022-JP (iso-2022-jp)</li>
          		<li>Cyrllic (koi8-r)</li>
          		<li>Extended Unix Code, packed for Korean (euc-kr)</li>
          		<li>Russian Unix, Cyrillic (koi8-r)</li>
          		<li>Windows Thai (cp874)</li>
          		<li>Latin 1 Windows (cp1252)</li>
          		<li>cp858</li>
          		<li>EBCDIC encodings:</li>
          		<ul>
            		<li>EBCDIC US (ebcdic-cp-us)</li>
            		<li>EBCDIC Canada (ebcdic-cp-ca)</li>
            		<li>EBCDIC Netherland (ebcdic-cp-nl)</li>
            		<li>EBCDIC Denmark (ebcdic-cp-dk)</li>
            		<li>EBCDIC Norway (ebcdic-cp-no)</li>
            		<li>EBCDIC Finland (ebcdic-cp-fi)</li>
            		<li>EBCDIC Sweden (ebcdic-cp-se)</li>
            		<li>EBCDIC Italy (ebcdic-cp-it)</li>
            		<li>EBCDIC Spain, Latin America (ebcdic-cp-es)</li>
            		<li>EBCDIC Great Britain (ebcdic-cp-gb)</li>
            		<li>EBCDIC France (ebcdic-cp-fr)</li>
            		<li>EBCDIC Hebrew (ebcdic-cp-he)</li>
            		<li>EBCDIC Switzerland (ebcdic-cp-ch)</li>
            		<li>EBCDIC Roece (ebcdic-cp-roece)</li>
            		<li>EBCDIC Yugoslavia (ebcdic-cp-yu)</li>
            		<li>EBCDIC Iceland (ebcdic-cp-is)</li>
            		<li>EBCDIC Urdu (ebcdic-cp-ar2)</li>
            		<li>Latin 0 EBCDIC</li>
            		<li>EBCDIC Arabic (ebcdic-cp-ar1)</li>
          		</ul>
        	</ul>
		</a>
	</faq>
	
</faqs>
