[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] Re: libxslt question
- From: Shaun McCance <shaunm gnome org>
- To: xml gnome org
- Subject: Re: [xml] Re: libxslt question
- Date: 02 Mar 2004 16:25:32 -0600
On Tue, 2004-03-02 at 10:24, Lucas Brasilino wrote:
> Hi
>
> >> It's a XSLT question, not a libxslt question. Take a look at
> >> <xsl:document> element at XSLT specs.
> >
> >
> > Thanks. I was looking at an old draft of XSLT (1999) which didn't have
> > that element. However, I'm still not sure how to use it.
>
> Sure... <xsl:document> is not defined in XSLT 1.0.
>
> > Which function does the actual writing of these sub-documents? And what
>
> Just apply stylesheet with xsltApplyStylesheet(). Yes.. is that
> easy :) Take a look at John Fleck's libxslt tutorial
>
> > happens if the stylesheet tries to place them in directories that do not
> > exist, will those then be created? I'm asking because the document names
>
> Sure it will not create directories, AFAIK. It will raise an
> I/O error.
>
> > and directories they are places in should in my case be derived from the
> > input data.
>
> No problem. Take a look in this small example. What you have
> to do is create output document path/file within href attribute of
> <xsl:document>.
>
>
> regards
> Lucas Brasilino
>
> <?xml version="1.0" ?>
> <doc>
> <foo name="first">
> <text>Foo 1</text>
> </foo>
> <foo name="second">
> <text>Foo 2</text>
> </foo>
> </doc>
>
> <?xml version="1.0" ?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output method="html"/>
>
> <xsl:template match="/">
> <xsl:apply-templates/>
> </xsl:template>
>
> <xsl:template match="foo">
> <xsl:document href="{concat('out',position(),'.html')}">
> <xsl:for-each select="text">
> <html>
> <head>
> <title><xsl:value-of select="."/></title>
> </head>
> <body>
> <h1><xsl:value-of select="."/></h1>
> </body>
> </html>
> </xsl:for-each>
> </xsl:document>
> </xsl:template>
> </xsl:stylesheet>
Are you using xsl:document to create separate output files? That isn't
what it does. The xsl:document function imports additional XML files
for processing. What you want is the (very poorly named) exsl:document
extension function.
http://www.exslt.org/exsl/elements/document/index.html
Discussion of this belongs on a dedicated XSLT list, or the EXSLT list,
rather than the libxml2 or libxslt lists.
http://www.mulberrytech.com/xsl/xsl-list/
http://lists.fourthought.com/mailman/listinfo/exslt
Unless, of course, you want to discuss the actual implementation of
exsl:document in libxslt, in which case the discussion should be taken
to the libxslt mailing list.
--
Shaun
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]