4.9 Entity References and CDATA

[more]

<..trace recognized entities and CDATA events..>
 public void startEntity(String name) throws SAXException {
      char ch;
   if     ( name.equals("lt")   ){ ch = '<'; }
   else if( name.equals("gt")   ){ ch = '>'; }
   else if( name.equals("quot") ){ ch = '"'; }
   else if( name.equals("amp")  ){ ch = '&'; }
   else if( name.equals("apos") ){ ch = '\''; }
   else { return; }
   System.out.print( ch );
 }
 public void endEntity(String name) throws SAXException {
   System.out.println( "   &" + name + ';' );
 }
 public void startCDATA(){ System.out.print( "<![CDATA[" );}
 public void endCDATA(){ System.out.println( "]]>" );}
-_-_-
<?xml version="1.0" encoding="UTF-8"?>  
<entity-names>  
  <entity>&lt;</entity>  
  <entity>&gt;</entity>  
  <entity>&quot;</entity>  
  <entity>&amp;</entity>  
  <entity>&apos;</entity>  
  Not: &#x003C;, &#x003E;, ...  
  <![CDATA[and &lt;, &gt;, ...]]>  
</entity-names>  
<   &lt;  
>   &gt;  
"   &quot;  
&   &amp;  
'   &apos;  
<![CDATA[]]>

<..register a handler for non recognized entities..>
 xmlReader.setFeature(
    "http://xml.org/sax/features/external-general-entities",
    false
 );
 xmlReader.setContentHandler( new MyContentHandler() );
-_-_-