[
Lists Home |
Date Index |
Thread Index
]
I doubt it will work, I think you have to supply a Reader that reads an
empty document, e.g. inputSource.setReader(new StringReader("")). Check the
spec.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Midsummer Sun [mailto:midsummer.sun@gmail.com]
> Sent: 31 March 2005 14:38
> To: Michael Kay
> Cc: xml-dev@lists.xml.org
> Subject: 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
> <mike@saxonica.com> 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:midsummer.sun@gmail.com]
> > > Sent: 31 March 2005 13:20
> > > To: Michael Kay
> > > Cc: xml-dev@lists.xml.org
> > > 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
> > > <mike@saxonica.com> 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/
> > >
> >
> >
>
|