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"> 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 reads =
an XML file with SAX technology, first I download =
a "jar" file called "sax2.jar"=
, when I tried to compile my java example to use this features,  =
;the command line 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 : class SAXP=
arserFactory</i></b></font>
<br><font size=3D3 face=3D"Times New Roman"><b><i>location : 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 java &n=
bsp;"11.3.1=5F01" (sdk) [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, 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"> public static voi=
d main(String argv[])</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> if =
(argv.length !=3D 1) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; System.err.println("Usage: cmd filename");</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; System.exit(1);</font>
<br><font size=3D3 face=3D"Times New Roman"> }</=
font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> // =
Use an instance of ourselves as the SAX event handler</font>
<br><font size=3D3 face=3D"Times New Roman"> Def=
aultHandler handler =3D new Echo08();</font>
<br><font size=3D3 face=3D"Times New Roman"> // =
Use the default (non-validating) parser</font>
<br><font size=3D3 face=3D"Times New Roman"> SAX=
ParserFactory factory =3D SAXParserFactory.newInstance();</font>
<br><font size=3D3 face=3D"Times New Roman"> try=
{</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // Set up output stream</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out =3D new OutputStreamWriter(System.out, "UTF8");</f=
ont>
<br>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // Parse the input</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; SAXParser saxParser =3D factory.newSAXParser();</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; saxParser.parse( new File(argv[0]), handler);</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (SAXParseException spe) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // Error generated by the parser</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; System.out.println("\n** Parsing error"</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; + ", line " + spe.getLineNumber()</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; + ", uri " + spe.getSystemId());</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; System.out.println(" " + spe.getMessage() );</fo=
nt>
<br>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // Use the contained exception, if any</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; Exception x =3D spe;</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; if (spe.getException() !=3D null)</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; x =3D spe.getException();</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; x.printStackTrace();</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (SAXException sxe) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // Error generated by this application</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // (or a parser-initialization error)</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; Exception x =3D sxe;</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; if (sxe.getException() !=3D null)</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; x =3D sxe.getException();</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; x.printStackTrace();</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (ParserConfigurationException pce) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // Parser with specified options can't be built</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; pce.printStackTrace();</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (IOException ioe) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // I/O error</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; ioe.printStackTrace();</font>
<br><font size=3D3 face=3D"Times New Roman"> }</=
font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> Sys=
tem.exit(0);</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> static private Wr=
iter out;</font>
<br><font size=3D3 face=3D"Times New Roman"> private String in=
dentString =3D " "; // Amount to indent</font>
<br><font size=3D3 face=3D"Times New Roman"> private int inden=
tLevel =3D 0;</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=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"> // SAX DocumentHa=
ndler methods</font>
<br><font size=3D3 face=3D"Times New Roman"> //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=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"> public void setDo=
cumentLocator(Locator l)</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> // =
Save this to resolve relative URIs or to give diagnostics.</font>
<br><font size=3D3 face=3D"Times New Roman"> try=
{</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out.write("LOCATOR");</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out.write("\n SYS ID: " + l.getSystemId() );</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out.flush();</font>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; // Ignore errors</font>
<br><font size=3D3 face=3D"Times New Roman"> }</=
font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> public void start=
Document()</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t("START DOCUMENT");</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t("<?xml version=3D'1.0' encoding=3D'UTF-8'?>");</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> public void endDo=
cument()</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
); emit("END DOCUMENT");</font>
<br><font size=3D3 face=3D"Times New Roman"> try=
{</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; nl();</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out.flush();</font>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; throw new SAXException("I/O error", e);</font>
<br><font size=3D3 face=3D"Times New Roman"> }</=
font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> public void start=
Element(String namespaceURI,</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; St=
ring lName, // local name</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; St=
ring qName, // qualified name</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; At=
tributes attrs)</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> ind=
entLevel++;</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
); emit("ELEMENT: ");</font>
<br><font size=3D3 face=3D"Times New Roman"> Str=
ing eName =3D lName; // element name</font>
<br><font size=3D3 face=3D"Times New Roman"> if =
("".equals(eName)) eName =3D qName; // namespaceAware =3D false</=
font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t("<"+eName);</font>
<br><font size=3D3 face=3D"Times New Roman"> if =
(attrs !=3D null) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; for (int i =3D 0; i < attrs.getLength(); i++) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; String aName =3D attrs.getLocalName(i); // Attr na=
me</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; if ("".equals(aName)) aName =3D attrs.ge=
tQName(i);</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; nl();</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; emit(" ATTR: ");</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; emit(aName);</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; emit("\t\"");</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; emit(attrs.getValue(i));</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; emit("\"");</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; }</font>
<br><font size=3D3 face=3D"Times New Roman"> }</=
font>
<br><font size=3D3 face=3D"Times New Roman"> if =
(attrs.getLength() > 0) nl();</font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t(">");</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> public void endEl=
ement(String namespaceURI,</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; String sN=
ame, // simple name</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; String qN=
ame // qualified name</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; )</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t("END=5FELM: ");</font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t("</"+sName+">");</font>
<br><font size=3D3 face=3D"Times New Roman"> ind=
entLevel--;</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> public void chara=
cters(char buf[], int offset, int len)</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
); emit("CHARS: ");</font>
<br><font size=3D3 face=3D"Times New Roman"> Str=
ing s =3D new String(buf, offset, len);</font>
<br><font size=3D3 face=3D"Times New Roman"> if =
(!s.trim().equals("")) emit(s);</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> public void ignor=
ableWhitespace(char buf[], int offset, int len)</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
); emit("IGNORABLE");</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> public void proce=
ssingInstruction(String target, String data)</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> nl(=
);</font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t("PROCESS: ");</font>
<br><font size=3D3 face=3D"Times New Roman"> emi=
t("<?"+target+" "+data+"?>");</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=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"> // SAX ErrorHandl=
er methods</font>
<br><font size=3D3 face=3D"Times New Roman"> //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=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"> // treat validati=
on errors as fatal</font>
<br><font size=3D3 face=3D"Times New Roman"> public void error=
(SAXParseException e)</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXParseEx=
ception</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> thr=
ow e;</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> // dump warnings =
too</font>
<br><font size=3D3 face=3D"Times New Roman"> public void warni=
ng(SAXParseException err)</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXParseEx=
ception</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> Sys=
tem.out.println("** Warning"</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; + ", line " + err.getLineNumber()</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; + ", uri " + err.getSystemId());</font>
<br><font size=3D3 face=3D"Times New Roman"> Sys=
tem.out.println(" " + err.getMessage());</font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=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"> // Utility Method=
s ...</font>
<br><font size=3D3 face=3D"Times New Roman"> //=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=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"> // Wrap I/O excep=
tions in SAX exceptions, to</font>
<br><font size=3D3 face=3D"Times New Roman"> // suit handler s=
ignature requirements</font>
<br><font size=3D3 face=3D"Times New Roman"> private void emit=
(String s)</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> try=
{</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out.write(s);</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out.flush();</font>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; throw new SAXException("I/O error", e);</font>
<br><font size=3D3 face=3D"Times New Roman"> }</=
font>
<br><font size=3D3 face=3D"Times New Roman"> }</font>
<br>
<br><font size=3D3 face=3D"Times New Roman"> // Start a new li=
ne</font>
<br><font size=3D3 face=3D"Times New Roman"> // and indent the=
next line appropriately</font>
<br><font size=3D3 face=3D"Times New Roman"> private void nl()=
</font>
<br><font size=3D3 face=3D"Times New Roman"> throws SAXExcepti=
on</font>
<br><font size=3D3 face=3D"Times New Roman"> {</font>
<br><font size=3D3 face=3D"Times New Roman"> Str=
ing lineEnd =3D System.getProperty("line.separator");</font>
<br><font size=3D3 face=3D"Times New Roman"> try=
{</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; out.write(lineEnd);</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; for (int i=3D0; i < indentLevel; i++) out.write(indentString)=
;</font>
<br><font size=3D3 face=3D"Times New Roman"> } c=
atch (IOException e) {</font>
<br><font size=3D3 face=3D"Times New Roman"> &nb=
sp; throw new SAXException("I/O error", e);</font>
<br><font size=3D3 face=3D"Times New Roman"> }</=
font>
<br><font size=3D3 face=3D"Times New Roman"> }</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