hallo!
ich hab ein problem mit den bibliotheken von xerces die ich im java importieren muss. ich muss für die uni ein xml-file mit schema und jeweils einen parser in DOM und SAX machen. das xml-file hab ich bereits und es auch schon mit dem schema validiert.
jetzt hab ich ein grundprogramm für den DOM parser geschrieben und bekomme immer Exceptions. das programm schaut bis jetzt so aus:
beim compilieren bekomme ich dann immer folgendes:
soweit ich das sehe liegts daran, dass er das xercesImpl.jar nicht findet. nur hab ich jetzt schon versucht den ganzen nachmittag das zu installieren bzw. den CLASSPATH richtig zu setzen.
- ich habs probiert über YAST zu installieren. folgende pakete hab ich dabei installiert:
ich weiß da sind ein paar unrelevante dabei, aber ich wollte gleich auf nummer sicher gehn und alles posten...
- ich hab von meinem uni-server das xerces heruntergeladen und entpackt, dann wollt ich den pfad im CLASSPATH einbinden.
- ich hab das xercesImpl.jar in den selben ordner vom java-programm kopiert
aber ich bekomm immer die gleiche meldung...
ich weiß, dass das jetzt eher ein installationsproblem ist [und vor allem dass ich zu dumm zum installiern bin, da ich mich, außer mit dem YAST, doch noch recht wenig auskenne], aber ich war mir nicht sicher wo ich das genau posten sollte. und außerdem will ich nur die java-programme für DOM und SAX zum laufen bringen [auch wenns ohne xerces-installation geht
].
ich würd es auch mit anderen parsern machen, wenns denn einfacher ist, aber das buch zur vorlesung beinhaltet nur das xerces. die einzige einschränkungen die ich laut angabe habe sind:
PS: java hab ich nur über YAST installiert mit der SUSE-installation und noch nix daran geändert. für andere sachen hat's bis jetzt gereicht.
ich hoffe ihr denkt jetzt nicht, ich will euch da meine halbe hausübung aufbrummen, aber ich komm echt nicht weiter und ich denke, wenn sich jemand damit auskennt kann er mir sicher schnell helfen...
also danke schon mal!
ich hab ein problem mit den bibliotheken von xerces die ich im java importieren muss. ich muss für die uni ein xml-file mit schema und jeweils einen parser in DOM und SAX machen. das xml-file hab ich bereits und es auch schon mit dem schema validiert.
jetzt hab ich ein grundprogramm für den DOM parser geschrieben und bekomme immer Exceptions. das programm schaut bis jetzt so aus:
Code:
/*Xerces-Parser*/
import org.apache.xerces.*;
/*DOM- und SAX-Interfaces*/
import org.w3c.dom.*;
import org.xml.sax.*;
/*Java-imports*/
import java.io.*;
import java.util.*;
public class Dom {
/*XML-Dokumente werden über die Kommandozeile übergeben*/
public static void main(String args[]) {
Dom dom = new Dom();
try {
dom.proof(args[0], args[1]);
} catch (Exception e) {
System.err.println(e);
}
}
/*Parameter ist das XML-Dokument und das Schema*/
public void proof(String strXMLDoc, String strXSD) throws IOException, SAXException {
/*DOM-Parser erzeugen*/
DOMParser dp = new DOMParser();
/*strXMLDoc parsen*/
dp.parser(strXMLDoc);
Document doc = dp.getDocument();
/*Validierung*/
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(new File(strXSD));
Schema schema = sf.newSchema(schemaFile);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
factory.setSchema(schema);
Validator validator = schema.newValidator();
try {
validator.validate(new DOMSource(doc));
} catch (SAXException e) {
System.err.println(e);
}
}
}
Code:
mulambo@linux-b6f5:~/Uni/Semistrukturierte Daten/Übungen/Bsp3> javac Dom.java
Dom.java:2: package org.apache.xerces does not exist
import org.apache.xerces.*;
^
Dom.java:24: cannot find symbol
symbol : class DOMParser
location: class Dom
DOMParser dp = new DOMParser();
^
soweit ich das sehe liegts daran, dass er das xercesImpl.jar nicht findet. nur hab ich jetzt schon versucht den ganzen nachmittag das zu installieren bzw. den CLASSPATH richtig zu setzen.
- ich habs probiert über YAST zu installieren. folgende pakete hab ich dabei installiert:
Code:
Xerces-c
Xerces-c-devel
xerces-j2
xerces-j2-bootstrap
xerces-j2-demo
xerces-j2-dom3
xerces-j2-javadoc-apis
xerces-j2-javadoc-dom3
xerces-j2-javadoc-impl
xerces-j2-javadoc-other
xerces-j2-javadoc-xni
xerces-j2-scripts
xercesjarv
xercesjarv-javadoc
- ich hab von meinem uni-server das xerces heruntergeladen und entpackt, dann wollt ich den pfad im CLASSPATH einbinden.
- ich hab das xercesImpl.jar in den selben ordner vom java-programm kopiert
aber ich bekomm immer die gleiche meldung...
ich weiß, dass das jetzt eher ein installationsproblem ist [und vor allem dass ich zu dumm zum installiern bin, da ich mich, außer mit dem YAST, doch noch recht wenig auskenne], aber ich war mir nicht sicher wo ich das genau posten sollte. und außerdem will ich nur die java-programme für DOM und SAX zum laufen bringen [auch wenns ohne xerces-installation geht
ich würd es auch mit anderen parsern machen, wenns denn einfacher ist, aber das buch zur vorlesung beinhaltet nur das xerces. die einzige einschränkungen die ich laut angabe habe sind:
Code:
* Erstellen Sie ein Java-Programm Dom.java, welches mittels DOM-Parser folgende Funktionalität erfüllt:
o Einlesen des XML-Dokuments universitaet.xml und Aufbau eines DOM-Baums. Dabei soll das XML-Dokument universitaet.xml gegen das von Ihnen erstellte XML-Schema universitaet.xsd validiert werden.
* Erstellen Sie ein Java-Programm Sax.java, welches mittels SAX-Parser die analoge Funktionalität wie das Programm Dom.java bereitstellt, d.h.:
o Einlesen des XML-Dokuments universitaet.xml mittels SAX-Parser und Validierung gegen das von Ihnen erstellte XML-Schema universitaet.xsd
* Der von Ihnen erstelle java-Code muss Java Version 1.5 kompatibel und auf den Rechnern im Informatiklabor kompilierbar sein. Verwenden Sie keine zusätzlichen Bibliotheken für ihre Implementierung. Erstellen Sie auch hier Output-Dateien für die Ausgaben ihrer Programme, z.B.:
ich hoffe ihr denkt jetzt nicht, ich will euch da meine halbe hausübung aufbrummen, aber ich komm echt nicht weiter und ich denke, wenn sich jemand damit auskennt kann er mir sicher schnell helfen...
also danke schon mal!