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]

Reply via email to