Re: [xml-dev] Problem parsing XML file with Xerces-J

From
Midsummer Sun <>
To
Michael Kay <>
Date
2005-03-31T13:37:38Z
ID
<>
Thread
Re: [xml-dev] Problem parsing XML file with Xerces-J
I am sorry if I am breaching the protocol of the list. But can you
please tell whether just this method call "within resolveEntity method
(shown in my last post)"

return new InputSource();

shall achive "return an InputSource pointing to an empty DTD" you suggested..
Or do I have to do something else?

I'll try to solve the exception handling error myself..

Best regards,

On Thu, 31 Mar 2005 13:48:41 +0100, Michael Kay <> wrote:
> I'm not the right person, and this isn't the right place, to teach you Java
> programming.
> 
> Michael Kay
> http://www.saxonica.com/
> 
> > -----Original Message-----
> > From: Midsummer Sun [mailto:]
> > Sent: 31 March 2005 13:20
> > To: Michael Kay
> > Cc: 
> > Subject: Re: [xml-dev] Problem parsing XML file with Xerces-J
> >
> > I am obliged by your help.
> >
> > So I have done this change to my Java class (which extends
> > DefaultHandler) i.e. added this method definition..
> >
> > public InputSource resolveEntity(java.lang.String publicId,
> >                                    java.lang.String systemId)
> >                      throws java.io.IOException, SAXException
> >  {
> >
> >     return new InputSource();
> >  }
> >
> > I guess that "return new InputSource()" method call will return an
> > InputSource pointing to an empty DTD(you suggested this workaround).
> > Please correct me if I am wrong.
> >
> > But the program is giving error:
> >
> > XYZ.java:125: resolveEntity(java.lang.String,java.lang.String) in XYZ
> > cannot override resolveEntity(java.lang.String,java.lang.String) in
> > org.xml.
> > sax.helpers.DefaultHandler; overridden method does not throw
> > java.io.IOException
> >
> >   public InputSource resolveEntity(java.lang.String publicId,
> >                      ^
> > 1 error
> >
> > Now this seems to be a Java exception handling problem.. I am good at
> > Java but not too good!
> >
> > Please tell the remedy.
> >
> > Best regards,
> >
> >
> > On Thu, 31 Mar 2005 12:26:54 +0100, Michael Kay
> > <> wrote:
> > > You need to do two things
> > >
> > > (a) register your EntityResolver with the parser - you've done this
> > >
> > > (b) use your EntityResolver to resolve URI references - you
> > seem to have
> > > omitted this step.
> > >
> > > This means you need to implement the resolveEntity() method
> > to do something
> > > useful when presented with the system ID of the external DTD - like
> > > returning an InputSource pointing to an empty DTD.
> > >
> > > The default implementation of resolveEntity() in DefaultHandler does
> > > nothing, you need to override it.
> > >
> > > Michael Kay
> > > http://www.saxonica.com/
> >
> 
>