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();
> > 
> >     }    
> > 
> > }
>