You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Amir Gur <Am...@ctmotion.com> on 2001/03/07 09:16:20 UTC
xerces schema validating
> Hello
> I tried to use the org.apache.xerces.parsers.DOMParser to parse an xml
> file.
> I tried it on the personal-schema.xml that can be found in the same zip
> file with the parser itself.
> Constantly, I got parse errors.
>
> I used this xerces version:
> <xml-xerces_20010305130204.tar.gz>
>
>
> I put the xml and the xsd files in the same path from which I ran the
> program.
>
> I use java version 1.3
>
> this is my java code:
>
> package dom;
>
> import org.w3c.dom.*;
> import org.xml.sax.*;
> import org.apache.xerces.parsers.*;
>
> public class MyClass1 implements ErrorHandler {
>
> public MyClass1(String file) {
> try {
> org.apache.xerces.parsers.DOMParser parser = new
> org.apache.xerces.parsers.DOMParser();
>
> parser.setFeature( "http://xml.org/sax/features/validation",true);
>
> parser.setErrorHandler(this);
> parser.parse(file);
> System.out.println(parser.getDocument());
>
> }
> catch (Exception e) {
> e.printStackTrace();
> }
> }
>
>
> public static void main(String[] args) {
> new MyClass1(args[0]);
> }
>
>
> //
> // ErrorHandler methods
> //
>
> /** Warning. */
> public void warning(SAXParseException ex) {
> System.err.println("[Warning] "+
> getLocationString(ex)+": "+
> ex.getMessage());
> }
>
> /** Error. */
> public void error(SAXParseException ex) {
> System.err.println("[Error] "+
> getLocationString(ex)+": "+
> ex.getMessage());
> }
>
> /** Fatal error. */
> public void fatalError(SAXParseException ex) throws SAXException {
> System.err.println("[Fatal Error] "+
> getLocationString(ex)+": "+
> ex.getMessage());
> throw ex;
> }
>
>
> /** Returns a string of the location. */
> private String getLocationString(SAXParseException ex) {
> StringBuffer str = new StringBuffer();
>
> String systemId = ex.getSystemId();
> if (systemId != null) {
> int index = systemId.lastIndexOf('/');
> if (index != -1)
> systemId = systemId.substring(index + 1);
> str.append(systemId);
> }
> str.append(':');
> str.append(ex.getLineNumber());
> str.append(':');
> str.append(ex.getColumnNumber());
>
> return str.toString();
>
> }
>
> }
Re: xerces schema validating
Posted by Dirk-Willem van Gulik <di...@covalent.net>.
y
On Wed, 7 Mar 2001, Amir Gur wrote:
>
>
> > Hello
> > I tried to use the org.apache.xerces.parsers.DOMParser to parse an xml
> > file.
> > I tried it on the personal-schema.xml that can be found in the same zip
> > file with the parser itself.
> > Constantly, I got parse errors.
> >
> > I used this xerces version:
> > <xml-xerces_20010305130204.tar.gz>
> >
> >
> > I put the xml and the xsd files in the same path from which I ran the
> > program.
> >
> > I use java version 1.3
> >
> > this is my java code:
> >
> > package dom;
> >
> > import org.w3c.dom.*;
> > import org.xml.sax.*;
> > import org.apache.xerces.parsers.*;
> >
> > public class MyClass1 implements ErrorHandler {
> >
> > public MyClass1(String file) {
> > try {
> > org.apache.xerces.parsers.DOMParser parser = new
> > org.apache.xerces.parsers.DOMParser();
> >
> > parser.setFeature( "http://xml.org/sax/features/validation",true);
> >
> > parser.setErrorHandler(this);
> > parser.parse(file);
> > System.out.println(parser.getDocument());
> >
> > }
> > catch (Exception e) {
> > e.printStackTrace();
> > }
> > }
> >
> >
> > public static void main(String[] args) {
> > new MyClass1(args[0]);
> > }
> >
> >
> > //
> > // ErrorHandler methods
> > //
> >
> > /** Warning. */
> > public void warning(SAXParseException ex) {
> > System.err.println("[Warning] "+
> > getLocationString(ex)+": "+
> > ex.getMessage());
> > }
> >
> > /** Error. */
> > public void error(SAXParseException ex) {
> > System.err.println("[Error] "+
> > getLocationString(ex)+": "+
> > ex.getMessage());
> > }
> >
> > /** Fatal error. */
> > public void fatalError(SAXParseException ex) throws SAXException {
> > System.err.println("[Fatal Error] "+
> > getLocationString(ex)+": "+
> > ex.getMessage());
> > throw ex;
> > }
> >
> >
> > /** Returns a string of the location. */
> > private String getLocationString(SAXParseException ex) {
> > StringBuffer str = new StringBuffer();
> >
> > String systemId = ex.getSystemId();
> > if (systemId != null) {
> > int index = systemId.lastIndexOf('/');
> > if (index != -1)
> > systemId = systemId.substring(index + 1);
> > str.append(systemId);
> > }
> > str.append(':');
> > str.append(ex.getLineNumber());
> > str.append(':');
> > str.append(ex.getColumnNumber());
> >
> > return str.toString();
> >
> > }
> >
> > }
>