GeeCON Prague 2014*
The moose likes XML and Related Technologies and the fly likes problems with JAXP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "problems with JAXP" Watch "problems with JAXP" New topic
Author

problems with JAXP

sanj singh
Ranch Hand

Joined: Jun 30, 2001
Posts: 129
Hi All
I am trying an example using JAXP(from Sun).But i am getting this error
cannot resolve symbol
location:interface org.xml.sax.Attributes
etc.
I have all the jar files i.e jaxp.jar,xalan.jar,xerces.jar,crimson.jar in my classpath.

Here's my code taken from Sun's site

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 Echo01 extends DefaultHandler
{
public static void main(String argv[])
{
if (argv.length != 1) {
System.err.println("Usage: cmd filename");
System.exit(1);
}
// Use an instance of ourselves as the SAX event handler
DefaultHandler handler = new Echo01();
// Use the default (non-validating) parser
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
// Set up output stream
out = new OutputStreamWriter(System.out, "UTF8");
// Parse the input
SAXParser saxParser = factory.newSAXParser();
saxParser.parse( new File(argv[0]), handler);
} catch (Throwable t) {
t.printStackTrace();
}
System.exit(0);
}
static private Writer out;
//===========================================================
// SAX DocumentHandler methods
//===========================================================
public void startDocument()
throws SAXException
{
emit("<?xml version='1.0' encoding='UTF-8'?>");
nl();
}
public void endDocument()
throws SAXException
{
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
{
String eName = lName; // element name
if ("".equals(eName)) eName = qName; // namespaceAware = false
emit("<"+eName);
if (attrs != null) {
for (int i = 0; i < attrs.getLength(); i++) {
String aName = attrs.getLocalName(i); // Attr name
if ("".equals(aName)) aName = attrs.getQName(i);
emit(" ");
emit(aName+"=\""+attrs.getValue(i)+"\"");
}
}
emit(">");
}
public void endElement(String namespaceURI,
String sName, // simple name
String qName // qualified name
)
throws SAXException
{
emit("</"+sName+">");
}
public void characters(char buf[], int offset, int len)
throws SAXException
{
String s = new String(buf, offset, len);
emit(s);
}
//===========================================================
// Utility Methods ...
//===========================================================
// 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
private void nl()
throws SAXException
{
String lineEnd = System.getProperty("line.separator");
try {
out.write(lineEnd);
} catch (IOException e) {
throw new SAXException("I/O error", e);
}
}
}
regards
sanj
Paramagurusamy Balasubramanian
Ranch Hand

Joined: Aug 17, 2001
Posts: 55
Hi,
This is due to classpath settings..U need to do the following steps.
1.Copy all these jar files in a folder say c:\jarfiles
2.Make the classpath empty(set classpath=)
3.Now set the classpath to c:\jarfiles\*.jar files
Hope this would work..
Best Regards,
Paramaguru
sanj singh
Ranch Hand

Joined: Jun 30, 2001
Posts: 129
Hi Paramguru
I have all the jars i.e. xalan.jar.xerces.jar,jaxp.jar and crimson.jar in my classpath.
regards
sanj
Paramagurusamy Balasubramanian
Ranch Hand

Joined: Aug 17, 2001
Posts: 55
Hi,

Make sure that org.xml.sax.Attributes is in 1 of those 4 jar files..
Then remove unnecessary jar files from your classpath..ie.For instance, If you dont need crimson.jar in this example then remove that from your classpath..

This problem is mainly due to classpath settings.
Best Regards,
Paramaguru
 
GeeCON Prague 2014
 
subject: problems with JAXP