Hi Harshini,

I though you were using a large XML String (/Character-Array) with a
CharArrayReader to setup your InputSource. Maybe I was wrong? How do you
create your input source? It seems that "someone" uses and closes the
InputSource (i.e. the stream) before FOP is invoked? Things are still a bit
unclear for me. ;-) Could you please tell me, what you are doing before FOP
is invoked and what is done afterwards?

Cheers,
Sascha

 


> -----Original Message-----
> From: Harshini Madurapperuma [mailto:[EMAIL PROTECTED]
> Sent: Thursday, April 05, 2007 12:55 PM
> To: [email protected]
> Subject: RE: Convert InputSource into a Character array
> 
> Hi all, and Sascha
> 
> Sascha thanx a lot for ur ideas; but I'm not clear what u have meant by
> String xml in the
> MyInputSource constructor. And from where should I call this constructor?
> 
> Harshini
> 
> -----Original Message-----
> From: Sascha Schmidt [mailto:[EMAIL PROTECTED]
> Sent: Thursday, April 05, 2007 9:55 AM
> To: [email protected]
> Subject: RE: Convert InputSource into a Character array
> 
> Hi all,
> 
> I assume Harshini needs to get the original XML-String from a
> CharArrayReader (after rendering), which he used to equip the InputSource.
> IMHO there is no chance to get the XML-String back, because
> CharArrayReader.close() sets the internal Char-Buffer, which holds the
> XML-String, to null. Thus one would either need to introduce a new
> attribute
> somewhere in Harshinis class/code or extending class InputSource. I would
> prefer the second method. This should give you a start point:
> 
> class MyInputSource extends InputSource{
> 
>   private String xml;
> 
>   public MyInputSource(String xml){
>     super(new CharArrayReader(xml));
>   }
> 
>   public String getXML(){
>     return this.xml;
>   }
> }
> 
> 
> Somewhere later...
> 
> ((MyInputSource) source).getXML()
> 
> returns the xml.
> 
> Note that the code above is not tested, just typed in Outlook. ;-)
> 
> Cheers,
> Sascha
> 
> PS: Of course it is correct that FOP closes the stream after processing
> it.
> 
> 
>       NORTHBIT
> RTF to XSL-FO, Reporting
> Dipl. Inf. Sascha Schmidt
>     [EMAIL PROTECTED]
>       www.northbit.de
> 
> 
> > -----Original Message-----
> > From: Harshini Madurapperuma [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, April 05, 2007 5:18 AM
> > To: [email protected]
> > Subject: RE: Convert InputSource into a Character array
> >
> > Hi;
> >
> > I have this character array, I converted that character array into to
> > a InputSource and passed it as a parameter to a  "render(XMLReader
> > parser, InputSource source)" method in the DRIVER class in fop.
> >
> > Within that "render" class I need to convert that "InputSource (source)"
> > back into a character array (after doing some modifications inside
> > that method). I tried to convert that as follows:
> >
> > > if (source.getCharacterStream() != null) {
> > >   BufferedReader reader = new
> > BufferedReader(source.getCharacterStream());
> > >       CharArrayWriter writer=new CharArrayWriter();
> > >       int i=-1;
> > >       while ((i=reader.read())!=-1)
> > >           {
> > >             writer.write(i);
> > >            }
> > >            reader.close();
> > >            writer.close();
> > >    }
> >
> > While doing that it raise this Exception:
> > > EXCEPTION-----------------------------------------------------------
> > > --
> > > ------
> > > ----
> > >
> > > java.io.IOException: Stream closed         at
> > > java.io.CharArrayReader.ensureOpen(CharArrayReader.java:65)         at
> > > java.io.CharArrayReader.read(CharArrayReader.java:95)         at
> > > java.io.BufferedReader.fill(BufferedReader.java:136)         at
> > > java.io.BufferedReader.read(BufferedReader.java:157)         at
> > > org.apache.fop.apps.Driver.render(Driver.java:557)
> > > --------------------------------------------------------------------
> > > --
> >
> > I need to know the reason or is there any other method to convert this
> > and access the content of this inputSource?
> >
> > Thanx
> > Harshini
> >
> >
> >
> > -----Original Message-----
> > From: Jeremias Maerki [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, April 05, 2007 12:11 AM
> > To: [email protected]
> > Subject: Re: Convert InputSource into a Character array
> >
> > I don't understand what you're trying to do. Maybe you should explain
> > that before going into technical details.
> >
> > On 04.04.2007 06:08:53 Harshini Madurapperuma wrote:
> > > Hi All;
> > >
> > > In fop Driver class there is a method called
> > >
> > > public synchronized void render(XMLReader parser, InputSource source)
> > >                 throws FOPException {
> > >
> > >   }
> > >
> > > Is there a way to convert that InputSource "source" back into a
> > > character array within that render class? I tried to do it by this
> > > way but it throws a "Stream Closed" Exception.
> > > --------------------------------------------------------------------
> > > --
> > > ------
> > > --
> > > if (source.getCharacterStream() != null) {
> > >   BufferedReader reader = new
> > > BufferedReader(source.getCharacterStream());
> > >       CharArrayWriter writer=new CharArrayWriter();
> > >       int i=-1;
> > >       while ((i=reader.read())!=-1)
> > >           {
> > >             writer.write(i);
> > >            }
> > >            reader.close();
> > >            writer.close();
> > >    }
> > > --------------------------------------------------------------------
> > > --
> > > ------
> > > ----
> > > EXCEPTION-----------------------------------------------------------
> > > --
> > > ------
> > > ----
> > >
> > > java.io.IOException: Stream closed         at
> > > java.io.CharArrayReader.ensureOpen(CharArrayReader.java:65)         at
> > > java.io.CharArrayReader.read(CharArrayReader.java:95)         at
> > > java.io.BufferedReader.fill(BufferedReader.java:136)         at
> > > java.io.BufferedReader.read(BufferedReader.java:157)         at
> > > org.apache.fop.apps.Driver.render(Driver.java:557)
> > > --------------------------------------------------------------------
> > > --
> > > ------
> > > -----
> > >
> > > I'm using java as the language. Pls ur help will be greatly
> > > appreciated Thanx Harshini.
> >
> >
> > Jeremias Maerki
> >
> >
> > ---------------------------------------------------------------------
> > 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]

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to