Doubt about SAX methods...!!

[email protected] Thu, 21 Aug 2003 11:28:39 -0500
Newsgroups gmane.text.xml.sax.general
Message-ID <OFEFA31338.AF0A7AE8-ON86256D89.0058F9D6-05256D89.005B9E7F@elektra.com.mx>
Este es un mensaje de varios componentes en formato MIME.
--=_related 005B9E7A05256D89_=
Content-Type: multipart/alternative; boundary="=_alternative 005B9E7A05256D89_="


--=_alternative 005B9E7A05256D89_=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi:


   I have a little problems I wish you helped me...!!!

I =B4ve an example that  reads an XML file with  SAX   technology,  first  =
I=20
download a    "jar"  file called  "sax2.jar",  when I tried to compile my=20
java example to use this features,  the command line  error is:


Echo08.java:38 : cannot resolve symbol
symbol  : class SAXParserFactory
location :  package parsers
import javax.xml.parsers.SAXParserFactory;


I =B4ve installed  java  "11.3.1=5F01"   (sdk)   [I think I better must=20
install JEE...?????]


if it doesn=B4t so,  tell me the true reason which this program doesn=B4t=20
execute how is meant to be...!!!



I attach my code example quite......

import java.io.*;

import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;


import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;

public class Echo08 extends DefaultHandler
{
    public static void main(String argv[])
    {
        if (argv.length !=3D 1) {
            System.err.println("Usage: cmd filename");
            System.exit(1);
        }

        // Use an instance of ourselves as the SAX event handler
        DefaultHandler handler =3D new Echo08();
        // Use the default (non-validating) parser
        SAXParserFactory factory =3D SAXParserFactory.newInstance();
        try {
            // Set up output stream
            out =3D new OutputStreamWriter(System.out, "UTF8");

            // Parse the input
            SAXParser saxParser =3D factory.newSAXParser();
            saxParser.parse( new File(argv[0]), handler);

        } catch (SAXParseException spe) {
           // Error generated by the parser
           System.out.println("\n** Parsing error"
              + ", line " + spe.getLineNumber()
              + ", uri " + spe.getSystemId());
           System.out.println("   " + spe.getMessage() );

           // Use the contained exception, if any
           Exception  x =3D spe;
           if (spe.getException() !=3D null)
               x =3D spe.getException();
           x.printStackTrace();

        } catch (SAXException sxe) {
           // Error generated by this application
           // (or a parser-initialization error)
           Exception  x =3D sxe;
           if (sxe.getException() !=3D null)
               x =3D sxe.getException();
           x.printStackTrace();

        } catch (ParserConfigurationException pce) {
            // Parser with specified options can't be built
            pce.printStackTrace();

        } catch (IOException ioe) {
           // I/O error
           ioe.printStackTrace();
        }

        System.exit(0);
    }

    static private Writer  out;
    private String indentString =3D "    "; // Amount to indent
    private int indentLevel =3D 0;

    //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    // SAX DocumentHandler methods
    //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

    public void setDocumentLocator(Locator l)
    {
        // Save this to resolve relative URIs or to give diagnostics.
        try {
          out.write("LOCATOR");
          out.write("\n SYS ID: " + l.getSystemId() );
          out.flush();
        } catch (IOException e) {
            // Ignore errors
        }
    }

    public void startDocument()
    throws SAXException
    {
        nl();
        nl();
        emit("START DOCUMENT");
        nl();
        emit("<?xml version=3D'1.0' encoding=3D'UTF-8'?>");
    }

    public void endDocument()
    throws SAXException
    {
        nl(); emit("END DOCUMENT");
        try {
            nl();
            out.flush();
        } catch (IOException e) {
            throw new SAXException("I/O error", e);
        }
    }

    public void startElement(String namespaceURI,
                             String lName, // local name
                             String qName, // qualified name
                             Attributes attrs)
    throws SAXException
    {
        indentLevel++;
        nl(); emit("ELEMENT: ");
        String eName =3D lName; // element name
        if ("".equals(eName)) eName =3D qName; // namespaceAware =3D false
        emit("<"+eName);
        if (attrs !=3D null) {
            for (int i =3D 0; i < attrs.getLength(); i++) {
                String aName =3D attrs.getLocalName(i); // Attr name
                if ("".equals(aName)) aName =3D attrs.getQName(i);
                nl();
                emit("   ATTR: ");
                emit(aName);
                emit("\t\"");
                emit(attrs.getValue(i));
                emit("\"");
            }
        }
        if (attrs.getLength() > 0) nl();
        emit(">");
    }

    public void endElement(String namespaceURI,
                           String sName, // simple name
                           String qName  // qualified name
                          )
    throws SAXException
    {
        nl();
        emit("END=5FELM: ");
        emit("</"+sName+">");
        indentLevel--;
    }

    public void characters(char buf[], int offset, int len)
    throws SAXException
    {
        nl(); emit("CHARS:   ");
        String s =3D new String(buf, offset, len);
        if (!s.trim().equals("")) emit(s);
    }

    public void ignorableWhitespace(char buf[], int offset, int len)
    throws SAXException
    {
        nl(); emit("IGNORABLE");
    }

    public void processingInstruction(String target, String data)
    throws SAXException
    {
        nl();
        emit("PROCESS: ");
        emit("<?"+target+" "+data+"?>");
    }

    //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    // SAX ErrorHandler methods
    //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

    // treat validation errors as fatal
    public void error(SAXParseException e)
    throws SAXParseException
    {
        throw e;
    }

    // dump warnings too
    public void warning(SAXParseException err)
    throws SAXParseException
    {
        System.out.println("** Warning"
            + ", line " + err.getLineNumber()
            + ", uri " + err.getSystemId());
        System.out.println("   " + err.getMessage());
    }

    //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    // Utility Methods ...
    //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

    // Wrap I/O exceptions in SAX exceptions, to
    // suit handler signature requirements
    private void emit(String s)
    throws SAXException
    {
        try {
            out.write(s);
            out.flush();
        } catch (IOException e) {
            throw new SAXException("I/O error", e);
        }
    }

    // Start a new line
    // and indent the next line appropriately
    private void nl()
    throws SAXException
    {
        String lineEnd =3D  System.getProperty("line.separator");
        try {
            out.write(lineEnd);
            for (int i=3D0; i < indentLevel; i++) out.write(indentString);
        } catch (IOException e) {
            throw new SAXException("I/O error", e);
        }
    }
}



Thank you very much...!!






--=_alternative 005B9E7A05256D89_=
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


<br><font size=3D2 face=3D"sans-serif">Hi:</font>
<br>
<br>
<br><font size=3D2 face=3D"sans-serif">&nbsp; &nbsp;I have a little problem=
s I wish you helped me...!!!</font>
<br>
<br><font size=3D2 face=3D"sans-serif">I =B4ve an example that &nbsp;reads =
an XML file with &nbsp;SAX &nbsp; technology, &nbsp;first &nbsp;I download =
a &nbsp; &nbsp;&quot;jar&quot; &nbsp;file called &nbsp;&quot;sax2.jar&quot;=
, &nbsp;when I tried to compile my java example to use this features, &nbsp=
;the command line &nbsp;error is:</font>
<br>
<br>
<table width=3D100%>
<tr valign=3Dtop>
<td width=3D100%><font size=3D3 face=3D"Times New Roman"><b><i>Echo08.java:=
38 : cannot resolve symbol</i></b></font>
<br><font size=3D3 face=3D"Times New Roman"><b><i>symbol &nbsp;: class SAXP=
arserFactory</i></b></font>
<br><font size=3D3 face=3D"Times New Roman"><b><i>location : &nbsp;package =
parsers</i></b></font>
<br><font size=3D3 face=3D"Times New Roman"><b><i>import javax.xml.parsers.=
SAXParserFactory;</i></b></font>
<br>
<br>
<br><font size=3D3 face=3D"Times New Roman">I =B4ve installed &nbsp;java &n=
bsp;&quot;11.3.1=5F01&quot; &nbsp; (sdk) &nbsp; [I think I better must inst=
all JEE...?????]</font>
<br>
<br>
<br><font size=3D3 face=3D"Times New Roman">if it doesn=B4t so, &nbsp;tell =
me the true reason which this program doesn=B4t execute how is meant to be.=
..!!!</font>
<br>
<br>
<br>
<br><font size=3D3 face=3D"Times New Roman">I attach my code example quite.=
.....</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">import java.io.*;</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">import org.xml.sax.*;</font>
<br><font size=3D3 face=3D"Times New Roman">import org.xml.sax.helpers.Defa=
ultHandler;</font>
<br>
<br>
<br><font size=3D3 face=3D"Times New Roman">import javax.xml.parsers.SAXPar=
serFactory;</font>
<br><font size=3D3 face=3D"Times New Roman">import javax.xml.parsers.Parser=
ConfigurationException;</font>
<br><font size=3D3 face=3D"Times New Roman">import javax.xml.parsers.SAXPar=
ser;</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">public class Echo08 extends Def=
aultHandler</font>
<br><font size=3D3 face=3D"Times New Roman">{</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public static voi=
d main(String argv[])</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; if =
(argv.length !=3D 1) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; System.err.println(&quot;Usage: cmd filename&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; System.exit(1);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; }</=
font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; // =
Use an instance of ourselves as the SAX event handler</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; Def=
aultHandler handler =3D new Echo08();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; // =
Use the default (non-validating) parser</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; SAX=
ParserFactory factory =3D SAXParserFactory.newInstance();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; try=
 {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; // Set up output stream</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; out =3D new OutputStreamWriter(System.out, &quot;UTF8&quot;);</f=
ont>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; // Parse the input</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; SAXParser saxParser =3D factory.newSAXParser();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; saxParser.parse( new File(argv[0]), handler);</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (SAXParseException spe) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;// Error generated by the parser</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;System.out.println(&quot;\n** Parsing error&quot;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; + &quot;, line &quot; + spe.getLineNumber()</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; + &quot;, uri &quot; + spe.getSystemId());</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;System.out.println(&quot; &nbsp; &quot; + spe.getMessage() );</fo=
nt>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;// Use the contained exception, if any</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;Exception &nbsp;x =3D spe;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;if (spe.getException() !=3D null)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp;x =3D spe.getException();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;x.printStackTrace();</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (SAXException sxe) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;// Error generated by this application</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;// (or a parser-initialization error)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;Exception &nbsp;x =3D sxe;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;if (sxe.getException() !=3D null)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp;x =3D sxe.getException();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;x.printStackTrace();</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (ParserConfigurationException pce) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; // Parser with specified options can't be built</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; pce.printStackTrace();</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (IOException ioe) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;// I/O error</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp;ioe.printStackTrace();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; }</=
font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; Sys=
tem.exit(0);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; static private Wr=
iter &nbsp;out;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; private String in=
dentString =3D &quot; &nbsp; &nbsp;&quot;; // Amount to indent</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; private int inden=
tLevel =3D 0;</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // SAX DocumentHa=
ndler methods</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void setDo=
cumentLocator(Locator l)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; // =
Save this to resolve relative URIs or to give diagnostics.</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; try=
 {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; out.write(&quot;LOCATOR&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; out.write(&quot;\n SYS ID: &quot; + l.getSystemId() );</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; out.flush();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; // Ignore errors</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; }</=
font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void start=
Document()</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;START DOCUMENT&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;&lt;?xml version=3D'1.0' encoding=3D'UTF-8'?&gt;&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void endDo=
cument()</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
); emit(&quot;END DOCUMENT&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; try=
 {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; nl();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; out.flush();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; throw new SAXException(&quot;I/O error&quot;, e);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; }</=
font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void start=
Element(String namespaceURI,</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;St=
ring lName, // local name</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;St=
ring qName, // qualified name</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;At=
tributes attrs)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; ind=
entLevel++;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
); emit(&quot;ELEMENT: &quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; Str=
ing eName =3D lName; // element name</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; if =
(&quot;&quot;.equals(eName)) eName =3D qName; // namespaceAware =3D false</=
font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;&lt;&quot;+eName);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; if =
(attrs !=3D null) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; for (int i =3D 0; i &lt; attrs.getLength(); i++) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; String aName =3D attrs.getLocalName(i); // Attr na=
me</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; if (&quot;&quot;.equals(aName)) aName =3D attrs.ge=
tQName(i);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; nl();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; emit(&quot; &nbsp; ATTR: &quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; emit(aName);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; emit(&quot;\t\&quot;&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; emit(attrs.getValue(i));</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; emit(&quot;\&quot;&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; }</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; }</=
font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; if =
(attrs.getLength() &gt; 0) nl();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;&gt;&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void endEl=
ement(String namespaceURI,</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;String sN=
ame, // simple name</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;String qN=
ame &nbsp;// qualified name</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; )</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;END=5FELM: &quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;&lt;/&quot;+sName+&quot;&gt;&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; ind=
entLevel--;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void chara=
cters(char buf[], int offset, int len)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
); emit(&quot;CHARS: &nbsp; &quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; Str=
ing s =3D new String(buf, offset, len);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; if =
(!s.trim().equals(&quot;&quot;)) emit(s);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void ignor=
ableWhitespace(char buf[], int offset, int len)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
); emit(&quot;IGNORABLE&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void proce=
ssingInstruction(String target, String data)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;PROCESS: &quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; emi=
t(&quot;&lt;?&quot;+target+&quot; &quot;+data+&quot;?&gt;&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // SAX ErrorHandl=
er methods</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // treat validati=
on errors as fatal</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void error=
(SAXParseException e)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXParseEx=
ception</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; thr=
ow e;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // dump warnings =
too</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; public void warni=
ng(SAXParseException err)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXParseEx=
ception</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; Sys=
tem.out.println(&quot;** Warning&quot;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; + &quot;, line &quot; + err.getLineNumber()</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; + &quot;, uri &quot; + err.getSystemId());</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; Sys=
tem.out.println(&quot; &nbsp; &quot; + err.getMessage());</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // Utility Method=
s ...</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // Wrap I/O excep=
tions in SAX exceptions, to</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // suit handler s=
ignature requirements</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; private void emit=
(String s)</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; try=
 {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; out.write(s);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; out.flush();</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; throw new SAXException(&quot;I/O error&quot;, e);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; }</=
font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // Start a new li=
ne</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; // and indent the=
 next line appropriately</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; private void nl()=
</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; Str=
ing lineEnd =3D &nbsp;System.getProperty(&quot;line.separator&quot;);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; try=
 {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; out.write(lineEnd);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; for (int i=3D0; i &lt; indentLevel; i++) out.write(indentString)=
;</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; throw new SAXException(&quot;I/O error&quot;, e);</font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; &nbsp; &nbsp; }</=
font>
<br><font size=3D3 face=3D"Times New Roman">&nbsp; &nbsp; }</font>
<br><font size=3D3 face=3D"Times New Roman">}</font>
<br>
<br>
<br>
<br><font size=3D3 face=3D"Times New Roman">Thank you very much...!!</font>=
</table>
<br>
<br>
<br>
<br>
<br><font size=3D2 face=3D"sans-serif"><br>
</font><img src=3Dcid:=5F1=5F0130000001D4005B9E7205256D89>
--=_alternative 005B9E7A05256D89_=--
--=_related 005B9E7A05256D89_=
Content-Type: image/gif
Content-ID: <_1_0130000001D4005B9E7205256D89>
Content-Transfer-Encoding: base64

R0lGODlhLAE6AOcAAP///wAAAACYYPgwMPgwAABIMPDw8IiwoNjg4ACYWABgOAAgCAA4EAA4IHig
mABoQACIUACwaODo6AAoCAAoGAAwEABYMABgYABAIFhwYAB4SDh4YLDAuAgwIBBYQIAAAMDQyPg4
KACoYEgAAKi4sNgQAABwSGCQgKDAuMjQ0Ojo6GAAAGiAeOjg4ABQOBhAMIiYkLgIAPggCPgwGAAQ
AABwQDBQSIigmPgYAABIIABgMDAAADBoWJgAANjg2AC4cKCooMgQAPgoGBgAACBgUHCIgOgQAAAg
EACISBgwKGiIeKAAAFCAcGB4cNjAwChAOEBgUKCwqNDQ0PAgEBgICEBYUEhgWFiIeMiooDBIOLgA
ANCwsCCIWEgoKEhwYHiQiIBwcKhYUMDAwPgoEHhgYKAoIKCIiKhAQACYMCBIOCBQQHBISLDQyBAQ
EBhYSCiQaDAQEFAYGFg4OFhYWIAYGJhgYMBwaABQICiIYEhQSEiAaHAoKJiAgJiYmMh4eNAAAPhQ
UAD+//9A+v/d3S4W3d2UFgAAXAAAAABABQBABQAA/v8AAPr/3d0uFt3dlBYAAEAAAAAAAAAAsCoA
AP7/3d36/93dLhbd3ZQWAAAkAAAAAAAAAAAAAAAAAAAAAAAAAP7/AAD6/93d+v/d3SAAAABmD/7/
y9sAAAJtJYYAAAAATWFpbCBUaXRsZQB6/v9sZfr/3d36/93dIAAAAGYP/v/L2wAAAm0lhgAAAABN
YWlsIFN3aXRjaGVyAP7/+v/d3fr/3d0YAAAAaA/+/21haWxcYW5nZmxvcGUubnNmAP7/+v/d3fr/
3d0gAAAAZg/+/8vbAAACbSWGAAAAAE1haWwgVGl0bGUAAP7/AAD6/93d+v/d3SAAAABmD/7/y9sA
AAJtJYYAAAAATWFpbCBTd2l0Y2hlcgD+//r/3d36/93dMAAAAGcP/v9DTj1lbGVrdHJhMDIvT1U9
ZWxla3RyYS9PPWdydXBvZWxla3RyYQAB/v8iAPr/3d36/93dMAAAACwAAAAALAE6AEAI/wABCBxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgvqgBRJM0EBjpq1LDgQQ8KAwc5ZEhSAUMBDBMmvFDCQUVG
jAEK5sy5kCcAnj53DtwZoKjQoTp/Ig1qFKjPoUYFNj2q9GfUm1izSkTQZAIGJAkSQHjAYEIRlAdb
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
kR0JkjBZki75kQQAkDaJQAEBAQA7
--=_related 005B9E7A05256D89_=--


-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines
at the same time. Free trial click here:http://www.vmware.com/wl/offer/358/0
_______________________________________________
List: [email protected]
See:  http://www.saxproject.org
https://lists.sourceforge.net/lists/listinfo/sax-users