This kind of error happens when some of the property/message files are
missing. Are you using jars from Xerces binary, or building the classes
from the source code?

Sandy Gao
Software Developer, IBM Canada
(1-905) 413-3255
[EMAIL PROTECTED]



                                                                                
                                                       
                      [EMAIL PROTECTED]                                         
                                                       
                      .sprint.com              To:       [EMAIL PROTECTED]      
                                            
                                               cc:                              
                                                       
                      10/07/2002 02:38         Subject:  RE: Re: AW: Not an 
FAQ: still unable to validate against XSD                  
                      PM                                                        
                                                       
                      Please respond to                                         
                                                       
                      xerces-j-user                                             
                                                       
                                                                                
                                                       
                                                                                
                                                       



I'm having a bit of the same, yet _not_ resolved...even when I added
the setFeature() methods as within your email.
Am I possibly using the wrong base class?

I'm using:
Xerces 2.2.0
Java2 SDK 1.3.1

I keep getting the Exception: java.lang.ExceptionInInitializerError
Code and output follows...

Here's my code:

import org.xml.sax.*;
import org.xml.sax.helpers.*;
...
import javax.xml.parsers.*;
import org.apache.xerces.jaxp.*;

public abstract class TypeHandler extends DefaultHandler
{
...
    private static final String FLAG_VALIDATE =
"http://xml.org/sax/features/validation";;
    private static final String FLAG_SCHEMA =
"http://apache.org/xml/features/validation/schema";;

    static final String JAXP_SCHEMA_LANGUAGE =
"http://java.sun.com/xml/jaxp/properties/schemaLanguage";;
    static final String W3C_XML_SCHEMA =
"http://www.w3.org/2001/XMLSchema";;
    protected static String schemaSource;
    static final String JAXP_SCHEMA_SOURCE =
"http://java.sun.com/xml/jaxp/properties/schemaSource";;


    public void parse( String filename ) throws java.io.IOException,
org.xml.sax.SAXException, org.xml.sax.SAXParseException
    {
        try
        {
            log.debug( "file:" + filename );
            InputStream in = new BufferedInputStream(new
FileInputStream( filename ));
            InputSource source = new InputSource( in );

            SAXParserFactory spf = SAXParserFactory.newInstance();
            spf.setNamespaceAware( true );
            spf.setValidating( true );

            SAXParser sp = spf.newSAXParser();
            sp.getXMLReader().setFeature(FLAG_VALIDATE, true);
            sp.getXMLReader().setFeature(FLAG_SCHEMA, true);

            //sp.setProperty(
org.apache.xerces.jaxp.JAXPConstants.JAXP_SCHEMA_LANGUAGE,
org.apache.xerces.jaxp.JAXPConstants.W3C_XML_SCHEMA );
            //sp.setProperty(
org.apache.xerces.jaxp.JAXPConstants.JAXP_SCHEMA_SOURCE,
"file://c:/!dev/omni/xsd/IesVendor.xsd" );

            log.info( "parse started." );
            sp.parse( source, this );
            log.info( "parse complete." );
        }
        catch( Throwable t )
        {
            log.warn( t.toString() );
            t.printStackTrace();
        }
    }

}

Here's the output:
...
4216  INFO [main] (TypeHandler.java:95) - parse started.
7741  WARN [main] (TypeHandler.java:107) -
java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError: java.lang.RuntimeException:
internal error
        at
org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.applyFacets1(XSSimpleTypeD
ecl.java:554)
        at
org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.createBuiltInTypes(Sche
maDVFactoryImpl.java:334)
        at
org.apache.xerces.impl.dv.xs.SchemaDVFactoryImpl.<clinit>(SchemaDVFactor
yImpl.java:80)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:120)
        at
org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(SchemaDVFactory.ja
va:106)
        at
org.apache.xerces.impl.dv.SchemaDVFactory.getInstance(SchemaDVFactory.ja
va:90)
        at
org.apache.xerces.impl.xs.SchemaGrammar$BuiltinSchemaGrammar.<init>(Sche
maGrammar.java:155)
        at
org.apache.xerces.impl.xs.SchemaGrammar.<clinit>(SchemaGrammar.java:629)
        at
org.apache.xerces.impl.xs.XMLSchemaValidator.<init>(XMLSchemaValidator.j
ava:1062)
        at
org.apache.xerces.parsers.StandardParserConfiguration.configurePipeline(
StandardParserConfiguration.java:225)
        at
org.apache.xerces.parsers.DTDConfiguration.reset(DTDConfiguration.java:6
23)
        at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:4
98)
        at
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:5
81)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
        at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java
:1175)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at
com.sprint.ltd.nida.omni.types.TypeHandler.parse(TypeHandler.java:96)
        at com.sprint.ltd.nida.omni.OmniLoader.main(OmniLoader.java:113)


Thank you in advance.
Thank you.

> -----Original Message-----
> From: lane [mailto:[EMAIL PROTECTED]
> Sent: Monday, October 07, 2002 10:37 AM
> To: xerces-j-user
> Cc: lane
> Subject: Re: AW: Not an FAQ: still unable to validate against XSD
>
>
> I apologize if my previous message ends up making it, since it's
> essentially the same.  My SMTP has no record of sending it.
>
> I am having basically the same problem, with the exception that I am
> using the DocumentBuilder so I can create DOM trees.  As far as I can
> tell, there is no setProperty method, so I cannot use this fix to at
> least get *somewhere*.
>
> Regardless if this hack clears up the symptoms or not, I do
> not accept
> this as a valid fix.  The fact remains that referencing an
> namespace-using schema in a normal document-based manor causes the
> schema not to be processed correctly.  My test example that does not
> work is as follows:
>
> Schema:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsd:schema
> targetNamespace="http://schemas.gridforum.org/gridServices/rsl";
>              xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>              xmlns:rsl="http://schemas.gridforum.org/gridServices/rsl";
>              xmlns="http://schemas.gridforum.org/gridServices/rsl";
>              version="0.2">
>
>      <xsd:element name="rsl" type="rslType"/>
>
>      <xsd:complexType name="rslType">
>          <xsd:sequence>
>              <xsd:element name="job" type="xsd:string" minOccurs="0"/>
>          </xsd:sequence>
>      </xsd:complexType>
>
> </xsd:schema>
>
>
> Document:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <rsl
>              xmlns:rsl="http://schemas.gridforum.org/gridServices/rsl";
>              xmlns="http://schemas.gridforum.org/gridServices/rsl";
>              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>              xsi:schemaLocation="
>                  http://schemas.gridforum.org/gridServices/rsl
>                  schema/test.xsd">
>      <job> Jobby Job Job </job>
> </rsl>
>
>
> Xerces code:
>
>            DocumentBuilder xmlParser = null;
>          try {
>              parserFactory = DocumentBuilderFactory.newInstance();
>              parserFactory.setNamespaceAware(true);
>              parserFactory.setValidating(true);
>              xmlParser = parserFactory.newDocumentBuilder();
>              xmlParser.setErrorHandler(this);
>          } catch
> (javax.xml.parsers.ParserConfigurationException pce) {
>              logger.error("problem getting parser factory
> instance", pce);
>              return null;
>          }
>
>            BufferedReader bufferedReader = new BufferedReader(xmlReader);
>          return xmlParser.parse(new InputSource(bufferedReader));
>
> I would really appreciate any help on this since my project is
> essentially stalled until I get this working.
>
> Thanks,
> Peter
>
>
>
>
>
> Amthauer, Heiner wrote:
> > Hi!
> >
> > Finally, I found a way to get it work. By setting the
> namespace-feature to
> > true and setting the XSD definition with the
> >
> http://apache.org/xml/properties/schema/external-noNamespaceSc
> hemaLocation
> > property, the parser actually validates using my schema defintion.
> >
> > Thanx for your efforts.
> >
> > greetings
> > Heiner
> >
> >
> > -----Urspr�ngliche Nachricht-----
> > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > Gesendet am: Montag, 7. Oktober 2002 16:32
> > An: [EMAIL PROTECTED]
> > Betreff: Re: Not an FAQ: still unable to validate against XSD
> >
> > Have you tried turning on namespace?
> (SAXParserFactory#setNamespaceAware)
> >
> > Sandy Gao
> > Software Developer, IBM Canada
> > (1-905) 413-3255
> > [EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >                       "Amthauer, Heiner"
> >
> >                       <[EMAIL PROTECTED]        To:
> "'Xerces'"
> > <[EMAIL PROTECTED]>
> >                       ystems.com>                 cc:
> >
> >                                                   Subject:
> Not an FAQ:
> > still unable to validate against XSD
> >                       10/07/2002 06:04 AM
> >
> >                       Please respond to
> >
> >                       xerces-j-user
> >
> >
> >
> >
> >
> >
> >
> >
> > Hi there!
> >
> > I'm still unable to validate my xml file against an XSD.
> Here ist the code,
> > I use to load the file via SAX, using XERCES 2.0 (JRE1.3.1):
> >
> >     private static final String FLAG_VALIDATE =
> > "http://xml.org/sax/features/validation";;
> >     private static final String FLAG_SCHEMA =
> > "http://apache.org/xml/features/validation/schema";;
> >
> >     private SAXParserFactory factory = null;
> >     private org.xml.sax.SAXParser saxParser = null;
> >
> >              ...
> >         factory = SAXParserFactory.newInstance();
> >              ...
> >         saxParser = factory.newSAXParser();
> >              ...
> >
> saxParser.getXMLReader().setFeature(FLAG_VALIDATE, true);
> >              saxParser.getXMLReader().setFeature(FLAG_SCHEMA, true);
> >              saxParser.parse(new File(file), this);
> >              ...
> >
> > This always gives me an error saying "cvc-elt.1: Cannot find the
> > declaration
> > of element 'whatever'".
> >
> > Since then, I've tried to use an EntityResolver for loading
> the XSD. I've
> > started with writing a little test code for the
> EntryResolver like this:
> >
> > public class SAXEntityResolver implements EntityResolver {
> >
> >         public InputSource resolveEntity(String publicID,
> String systemID)
> > throws SAXException, IOException {
> >             System.out.println(publicID+", "+systemID);
> >             return null;
> >         }
> >
> > }
> >
> > ...
> >
> >     private static final String FLAG_VALIDATE =
> > "http://xml.org/sax/features/validation";;
> >     private static final String FLAG_SCHEMA =
> > "http://apache.org/xml/features/validation/schema";;
> >
> >     private SAXParserFactory factory = null;
> >     private SAXParser saxParser = null;
> >
> >              ...
> >         factory = SAXParserFactory.newInstance();
> >              ...
> >         saxParser = factory.newSAXParser();
> >              ...
> >
> saxParser.getXMLReader().setFeature(FLAG_VALIDATE, true);
> >              saxParser.getXMLReader().setFeature(FLAG_SCHEMA, true);
> >              saxParser.getXMLReader().setEntityResolver(new
> > SAXEntityResolver());
> >              saxParser.parse(new File(file), this);
> >              ...
> >
> > In result, my programm still reads the xml file with the
> same error as
> > before. The println() in the EntityResolver is never reached.
> >
> > I woulde really appreciate any help on this. Next on
> schedule is testing
> > and
> > I'm still unable to validate the xml file. Btw., loading
> the file with any
> > other XML/XSD aware application works fine.
> >
> > regards
> > Heiner
> >
> >
> > ---------------------------------------------------------------
> > Dipl. Ing. Heiner Amthauer
> >
> > T-Systems GEI GmbH
> >
> > Hausanschrift: Magirusstr. 39/1, 89077 Ulm
> > Postanschrift: Postfach 20 64, 89010 Ulm
> > Telefon: +49 ( 731) 9344-4422
> > Telefax: +49 (731) 9344-4409
> > Mobil: +49 (1 78) 4269335
> > E-Mail: [EMAIL PROTECTED]
> > Internet: http://www.t-systems.com
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to