Subject: RE: Building a Manual with XML/XSL
From: Iván Montoro Ten <ivanm@xxxxxxxxxxx>
Date: Sun, 7 Sep 2003 12:58:08 +0200
|
OK, Ken, Muluk thanks for your answers... Now I've seen apply-templates
would make my work easier... Now I'm thinking if it's possible to make a
node know which depth do he have in the tree, but with your examples I
could make the manual quite fast (for now).
By "hard PDF" I mean I realy have no idea about which software do I need
(I've seen Apache Forrest do the work quite well, but time to R&D is not
in my budget)
Using attributes as titles of my sections was just for an example. I have
not finished the XML structure yet (waiting my pals to finish the Word
versions of the doc then I will make the skeleton of the XML and then
everybody will follow this v2.0 model).
Now, imagine I want this manual to be included in a PHP/JSP page. Is there
any easy way to exclude everything but the body in the resulting HTML? I
would like to have a third version of the manual: HTML, PDF and HTML for
includes inside my website (in the middle of a table, for example).
I'm wondering also why xalan does not complain if I don't have a DTD/XSD
for my XML. Is not necessary?
And the last question, even less related to XSL: I want to make a little
script (shell script) to xalan all xml files in a directory structure.
As xalan needs the XSL file to apply to the XML I need to extract it from
the XML file. Anybody could tell me the regexp who could make this for me?
(I'm also open to any other parser suggestions)
Thanks!!!
Ivan
> -----Mensaje original-----
> De: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]En nombre de G. Ken Holman
> Enviado el: sábado, 06 de septiembre de 2003 22:02
> Para: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Asunto: Re: Building a Manual with XML/XSL
>
>
> At 2003-09-06 21:02 +0200, Iván Montoro Ten wrote:
> >I'm building several manuals with XML for a product we make. I've
> >seen several frameworks for it, but I'm looking for something
> >easier, as a bare XML file and a XSL HTML transform (maybe later
> >I'll get PDF, but that's too much for me right now!)
>
> It might seem scary, but it is as easy as for HTML, just with a different
> output vocabulary. There are two free book excerpts you can
> download from
> our web site to learn more and to use as reference material. As well, we
> are running two publicly-subscribed training courses in Europe in two
> week's time that will cover *every* element, attribute and
> function in XSLT
> and *every* formatting object in XSL-FO.
>
> >I've the basic skeleton for my document. I want XSL to transform
> >this in a basic <P></P>, <H1></H1>, <H2></H2> structure, but
> >I don't know how to iterate the subelements linearly, rather I
> >know how to xsl:for-each them. Is there any solution for this?
>
> <xsl:for-each> is a "pull" approach to the information.
>
> <xsl:apply-templates/> is a "push" approach to the information. The free
> excerpts give a characterization of these two approaches and
> contrasts some
> example stylesheets in each approach.
>
> See a complete example using your data below that illustrates this push
> approach.
>
> I hope this helps.
>
> ............... Ken
>
> p.s. I'm curious why you modelled your titles as attributes ... I would
> recommend that language-oriented content be in #PCDATA and
> machine-oriented
> content be in attributes ... this will allow you to add structure
> (emphasis, font style, etc) to portions of your titles ... if you leave
> your titles as attributes, which cannot be structured, you will
> be limited
> in the future as your data matures.
>
> T:\ftemp>type ivan.xml
> <?xml version="1.0" encoding="iso-8859-1"?>
> <manual>
> <chapter title="Begining with...">
> <sub1 title="To start...">
> <para>text text text</para>
> <sub2 title="What you need">
> <para>text text text</para>
> </sub2>
> <sub2 title="Doing it well">
> <para>text text text</para>
> <sub3 title="Don't forget...">
> <para>text text text</para>
> </sub3>
> <para>text text text</para>
> </sub2>
> </sub1>
> </chapter>
> </manual>
>
> T:\ftemp>type ivan.xsl
> <?xml version="1.0" encoding="iso-8859-1"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>
> <xsl:template match="/">
> <html><xsl:apply-templates/></html>
> </xsl:template>
>
> <xsl:template match="sub1">
> <h1><xsl:value-of select="@title"/></h1>
> <xsl:apply-templates/>
> </xsl:template>
>
> <xsl:template match="sub2">
> <h2><xsl:value-of select="@title"/></h2>
> <xsl:apply-templates/>
> </xsl:template>
>
> <xsl:template match="sub3">
> <h3><xsl:value-of select="@title"/></h3>
> <xsl:apply-templates/>
> </xsl:template>
>
> <xsl:template match="para">
> <p><xsl:apply-templates/></p>
> </xsl:template>
>
> </xsl:stylesheet>
> T:\ftemp>saxon ivan.xml ivan.xsl
> <html>
>
>
> <h1>To start...</h1>
>
> <p>text text text</p>
>
> <h2>What you need</h2>
>
> <p>text text text</p>
>
>
> <h2>Doing it well</h2>
>
> <p>text text text</p>
>
> <h3>Don't forget...</h3>
>
> <p>text text text</p>
>
>
> <p>text text text</p>
>
>
>
>
> </html>
> T:\ftemp>
>
>
> --
> Next public European delivery: 3-day XSLT/2-day XSL-FO 2003-09-22
> Next public US delivery: 3-day XSLT/2-day XSL-FO 2003-10-13
> Instructor-led on-site corporate, government & user group training
> for XSLT and XSL-FO world-wide: please contact us for the details
>
> G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
> Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
> ISBN 0-13-065196-6 Definitive XSLT and XPath
> ISBN 0-13-140374-5 Definitive XSL-FO
> ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
> ISBN 1-894049-11-X Practical Formatting Using XSL-FO
> Member of the XML Guild of Practitioners: http://XMLGuild.info
> Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|