You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Robert Morse <rm...@mdesignz.com> on 2002/05/23 01:43:41 UTC

Rookie Question

My web application needs to generate a variety of client forms.  These are
typical boilerplate forms, but are customized by having the client
information printed in it.  From what I gather from reading the various
literature it sounds like the following steps need to be performed:

1. create a boilerplate XML file (non-FO) that has all of the static text.
2. at runtime modify this XML file to insert the custom text (e.g., client
name)
3. transform the XML file to XSL-FO
4. send the resultant XSL-FO file to FOP

Is this correct, or am I taking the scenic route here?  Pointers to examples
would be most appreciated.  Everything I've seen so far has been purely
static text.

thanks.


Re: Rookie Question

Posted by Oleg Tkachenko <ol...@multiconn.com>.
MARTIN Franck wrote:
> That's right, but sometimes in order to get even more flexible (and probably
> more complicated) system that static content could be moved further into
> another xml file, dynamically loaded by xslt during transformation. This way
> the only stuff in xsl would be a logic and data + presentation would be
> outside.
> 
> That's the best way to go but i have no idea how to make that work with fop...
You don't need anything to do with fop, that's about xslt stage just before 
formatting. I mean something like

<xsl:variable name="ext-stuff" select="document('ext-stuff.xml')/*"/>
<xsl:template match="para">
	<fo:block color="{$ext-stuff/my-text-color}"...
</xsl:template>

-- 
Oleg Tkachenko
Multiconn International, Israel


Re: Rookie Question

Posted by MARTIN Franck <fr...@c-s.fr>.
That's right, but sometimes in order to get even more flexible (and probably
more complicated) system that static content could be moved further into
another xml file, dynamically loaded by xslt during transformation. This way
the only stuff in xsl would be a logic and data + presentation would be
outside.

That's the best way to go but i have no idea how to make that work with fop...



Re: Rookie Question

Posted by Oleg Tkachenko <ol...@multiconn.com>.
MARTIN Franck wrote:
> I don't think it is a good idea to insert static content in the xml file. The
> xml file should only contain dynamic data (in your case client information). The
> static stuff should be placed in the xsl file.
That's right, but sometimes in order to get even more flexible (and probably 
more complicated) system that static content could be moved further into 
another xml file, dynamically loaded by xslt during transformation. This way 
the only stuff in xsl would be a logic and data + presentation would be 
outside. There was a good atricle by
Eric van der Vlist back in 2000 about "Style-free XSLT Style Sheets" at 
xml.com (http://www.xml.com/pub/a/2000/07/26/xslt/xsltstyle.html).

-- 
Oleg Tkachenko
Multiconn International, Israel


Re: Rookie Question

Posted by MARTIN Franck <fr...@c-s.fr>.
I don't think it is a good idea to insert static content in the xml file. The
xml file should only contain dynamic data (in your case client information). The
static stuff should be placed in the xsl file. The xslt process will output a fo
file which will contain the merging of static and dynamic data plus layout
instructions (fo tags). Fop will then be able to output a pdf file.

NB if the only output target is pdf you should send xml and xsl directly to fop!

if you need more info just ask!

Franck


Robert Morse a écrit :

> My web application needs to generate a variety of client forms.  These are
> typical boilerplate forms, but are customized by having the client
> information printed in it.  From what I gather from reading the various
> literature it sounds like the following steps need to be performed:
>
> 1. create a boilerplate XML file (non-FO) that has all of the static text.
> 2. at runtime modify this XML file to insert the custom text (e.g., client
> name)
> 3. transform the XML file to XSL-FO
> 4. send the resultant XSL-FO file to FOP
>
> Is this correct, or am I taking the scenic route here?  Pointers to examples
> would be most appreciated.  Everything I've seen so far has been purely
> static text.
>
> thanks.


RE: Rookie Question

Posted by Balaji Loganathan <ba...@yahoo.com>.
Hi,
  You can visit this link,where I have asked the
similiar
question.http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=31&t=002274
 I hope I'm not redirecting you to another forum.
Regards
Balaji

 --- Roland Neilands <rn...@pulsemining.com.au>
wrote: > >My web application needs to generate a
variety of
> client forms.  These are
> >typical boilerplate forms, but are customized by
> having the client
> >information printed in it.  From what I gather from
> reading the various
> >literature it sounds like the following steps need
> to be performed:
> >
> >1. create a boilerplate XML file (non-FO) that has
> all of the static text.
> >2. at runtime modify this XML file to insert the
> custom text (e.g., client
> >name)
> >3. transform the XML file to XSL-FO
> >4. send the resultant XSL-FO file to FOP
> >
> >Is this correct, or am I taking the scenic route
> here?  Pointers to
> examples
> >would be most appreciated.  Everything I've seen so
> far has been purely
> >static text.
> 
> That's the basic idea.
> The static text can go into the form stylesheet
> (.xsl file) or the xml
> depending how often you will update it. Dynamic
> stuff should all be put into
> the xml.
> 
> FOP can transform directly from xml/xsl if you like,
> skipping the FO step.
> 
> Look in:
> docs\examples\markers
> for a basic xml/xsl example, but in the .xsl you may
> need to change:
> "<fo:page-sequence-master master-name ..."
> to
> "<fo:page-sequence-master master-reference ..."
> for it to work.
> 
> Regards,
> Roland
>  

http://briefcase.yahoo.com.au - Yahoo! Briefcase
- Save your important files online for easy access!

RE: Rookie Question

Posted by Roland Neilands <rn...@pulsemining.com.au>.
>My web application needs to generate a variety of client forms.  These are
>typical boilerplate forms, but are customized by having the client
>information printed in it.  From what I gather from reading the various
>literature it sounds like the following steps need to be performed:
>
>1. create a boilerplate XML file (non-FO) that has all of the static text.
>2. at runtime modify this XML file to insert the custom text (e.g., client
>name)
>3. transform the XML file to XSL-FO
>4. send the resultant XSL-FO file to FOP
>
>Is this correct, or am I taking the scenic route here?  Pointers to
examples
>would be most appreciated.  Everything I've seen so far has been purely
>static text.

That's the basic idea.
The static text can go into the form stylesheet (.xsl file) or the xml
depending how often you will update it. Dynamic stuff should all be put into
the xml.

FOP can transform directly from xml/xsl if you like, skipping the FO step.

Look in:
docs\examples\markers
for a basic xml/xsl example, but in the .xsl you may need to change:
"<fo:page-sequence-master master-name ..."
to
"<fo:page-sequence-master master-reference ..."
for it to work.

Regards,
Roland