[Home] [By Thread] [By Date] [Recent Entries]


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:midsummer.sun@g...] 
> Sent: 31 March 2005 13:20
> To: Michael Kay
> Cc: xml-dev@l...
> Subject: Re:  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 
> <mike@s...> 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/
> 



Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member