newbie questions concernig XSL/XSLT and FO/FOP (sorry, long)

D

DV

Hello,

Currently i have been charged with investigating into the field of
XSL/XSLT and FO/FOP by my manager, as our firm (technical
documentation) needs to implement a workflow for a customer.

Given the fact, that XML in general is a very complex matter, and in
particular online documentation one might find about XML and related
technologies, there are some questions that have cropped up for me
after reading around for some time now.

One part concernes the fact whether I have have gotten the basics
right, the other about usual software that might exist for a given
aspect of XML.

I am very sorry if the following questions are many and sound very
complex and convoluted, but it seems to me I really have to straighten
out my mind first, and all I found on the web is only more and more
info, but not simple facts.

I would be most grateful, if someone could provide some answers or
hints (web sites a.s.o) as to the following questions:

1. Concerning XSL/XSLT/FO
---------------------------
a. XSL is basically XSLT + FO, right?

b. Can XSLT and FO-commands be used independently from each other,
meaning, I can have XSL-files that don´t have anything to do with FO?

c. If I am using FO, does this mean, that the output-XML contains
FO-commands (to be interpreted by a FOP) or that I have to use
FO-Commands in the XSL-file, or both?

d. Does this mean a possible workflow for turning XML into PDF is
turning XML into something containing FO-commands and feeding it into
a FOP to produce the PDF?

e. If so, does this mean I feed this XSL-File (containing XSLT and
FO-commands) to the same XSL-processor, that then emits another
xml-file? Or are XSLT-processors an FO-processors different things?

f. Is FOSI for SGML what FO is for XML or what XSLT is for XML?

g. Does anybody use XSL/XSLT/FO in conjunction with FrameMaker+SGML?




2. Necessary Software
------------------------
It seems to me, that there is a huge number of XML-software, both
commercial and freeware/GPL/non-restricted
I would really appreciate it if somebody could share some experience
as to useful software for the different aspects of XML, the more
graphically oriented rather than command-line, the better.

a. Software listings
Are there web resources where software components for all fields of
XML are listed, so I could, say, look for "XSLT processors", and find
a list of XSLT-processors, maybe with links to its mother-website or
any other general info (how good is it, what is special about it in
contrast to other XSLT processors a.s.o)

b. XML-editors
It seems we might have to use XMetal with our customer. Does anyone
have any info as to whether this is a "good" editor or any worthwile
online resources concerning XMetal?

c. DTD-Editor/Schema-editor
Is there really a need for a separate piece of software, or can any
XML-editor also be used for building a DTD

d. validators for well-formedness and against DTDs/Schemas
It seems as if James Clarks software is the defacto Standard for
validating XML against a DTD. Can it also be used only to check
whether the XML is well-formed rather than valid or for validating
against a Schema?

e. XSL-Stylesheet-editor
Do graphical editors for Stylesheets exist? Maybe even with FO?

f. XSL-Processor
Do i need different software for XSLT and FO or are there tools that
can do both?


I hope anyone of this group might give me some info

Thank you very much in advance,
Bye.
FK
 
M

Martin Honnen

DV wrote:

Currently i have been charged with investigating into the field of
XSL/XSLT and FO/FOP by my manager, as our firm (technical
documentation) needs to implement a workflow for a customer.

Given the fact, that XML in general is a very complex matter, and in
particular online documentation one might find about XML and related
technologies, there are some questions that have cropped up for me
after reading around for some time now.

One part concernes the fact whether I have have gotten the basics
right, the other about usual software that might exist for a given
aspect of XML.

I am very sorry if the following questions are many and sound very
complex and convoluted, but it seems to me I really have to straighten
out my mind first, and all I found on the web is only more and more
info, but not simple facts.

I would be most grateful, if someone could provide some answers or
hints (web sites a.s.o) as to the following questions:

1. Concerning XSL/XSLT/FO

XSL somehow was meant to consist of XSLT (XSL Transformations) and
XSL-FO (XSL Formatting Objects) but in my view XSLT has gone its own way.
b. Can XSLT and FO-commands be used independently from each other,
meaning, I can have XSL-files that don´t have anything to do with FO?

Yes, lots of people (and applications like the Mozilla browser or the
MSIE browser) use XSLT stylesheets without ever touching XSL-FO.
c. If I am using FO, does this mean, that the output-XML contains
FO-commands (to be interpreted by a FOP) or that I have to use
FO-Commands in the XSL-file, or both?

You could simply have some XML with XSL-FO elements and run that through
a FO processor but usually you will have your XML data in some XML
language suiting your data, then you write an XSLT stylesheet to
transform the XML into XSL-FO and then you run a FO processor to for
instance convert to PDF.
d. Does this mean a possible workflow for turning XML into PDF is
turning XML into something containing FO-commands and feeding it into
a FOP to produce the PDF?

Yes.
 
P

Patrick TJ McPhee

% 1. Concerning XSL/XSLT/FO
% ---------------------------
% a. XSL is basically XSLT + FO, right?

Sure.

% b. Can XSLT and FO-commands be used independently from each other,
% meaning, I can have XSL-files that don´t have anything to do with FO?

This is done all the time. The output of an xslt transformation
doesn't have to be xml at all.

% c. If I am using FO, does this mean, that the output-XML contains
% FO-commands (to be interpreted by a FOP) or that I have to use
% FO-Commands in the XSL-file, or both?

FOP is a particular xsl:fo processing engine. I've been rather unhappy
with it the times I've used it, but then I haven't bothered to help
out with it either. When you use xsl:fo, you create an xml file which
is marked up according to the definition of xsl:fo, something like

<fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' version='1.0'>
<fo:layout-master-set>
...
</fo:layout-master-set>
...
</fo:root xmlns:fo='http://www.w3.org/1999/XSL/Format' version='1.0'>

You then use some program to turn it into formatted output. Normally,
this mark-up comes from an xsl transformation of some other file
which contains data in a logically defined format.

% d. Does this mean a possible workflow for turning XML into PDF is
% turning XML into something containing FO-commands and feeding it into
% a FOP to produce the PDF?

That's one, and possibly not the best, workflow. You could turn XML
into something containing TeX, troff, or lout mark-up, for instance,
and use the appropriate software to turn that into PDF. You could
also turn XML into xsl:fo and use renderX or TeX or some software
other than FOP, which could then turn it into PDF.

% e. If so, does this mean I feed this XSL-File (containing XSLT and
% FO-commands) to the same XSL-processor, that then emits another
% xml-file? Or are XSLT-processors an FO-processors different things?

Ordinarily, you have an XSL file and an XML file, the XSLT
processor spits out whatever it spits out, then the formatter
works on the result. In the specific case of xsl:fo, the formatter
usually links directly to the the XSLT processor, so you can
feed, say, FOP a stylesheet and an XML file, and it will spit
out the formatted document.

I can't comment on the last two parts of question 1.

% 2. Necessary Software

I don't have an opinion on the first three questions.

% d. validators for well-formedness and against DTDs/Schemas
% It seems as if James Clarks software is the defacto Standard for
% validating XML against a DTD.

I wouldn't say that. There are lots of validating parsers floating
around. I like libxml (http://xmlsoft.org)

% Can it also be used only to check
% whether the XML is well-formed rather than valid or for validating
% against a Schema?

I'm not sure which of his software you mean. He has written
non-validating parsers, which only check for well-formedness, as well as
validating parsers. I expect validation can be turned off for any
validating parser, so the answer is probably yes. I'm not aware that
he's written a Schema validator -- he is one of the forces behind
RELAX NG.

I don't have an opinion on 2.e

% f. XSL-Processor
% Do i need different software for XSLT and FO or are there tools that
% can do both?

I expect that most xsl:fo processors include an xslt engine. Passive
TeX is an exception, but most people have trouble getting it working
in any case. There are quite a few xslt engines that don't include
xsl:fo processors, so you have some opportunity to mix and match, if
you want to. Keep in mind that you don't _have_ to use xsl:fo if some
other formatting language does a better job for you.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top