|
Subject: Re: [xsl] check for existance of an element in the xml From: Raffaele Sena <raff@xxxxxxxxxxxx> Date: Mon, 6 Dec 2004 21:17:12 -0800 (PST) |
You can wrap your "script" tag in an if tag like:
<head>
<xsl:if test="page/group/input">
<script... />
</xsl:if>
</head>
-- Raffaele
On Tue, 7 Dec 2004, Jake The Snake Briggs wrote:
> HI all
> I would to check for the existance of an element, and act upon it,
> rather than act everytime the element is matched. What i mean is I have
> xml that describes how a web page looks, and an xsl that transforms that
> to html and javascript.
>
> For example, i may have this :
>
> <page>
> <groupbox x="10" y="10">
> <text value="Blaa Blaa" x="10" y="10"/>
> <input x="10" y="20" name="foo"/>
> </groupbox>
>
> <groupbox x="10" y="30">
> <text value="Something Else" x="10" y="10"/>
> <input x="10" y="20" name="bar"/>
> </groupbox>
>
> <input x="10" y="50" name="gle"/>
> </page>
>
> The issue is that at the moment i have some javascript that operates on
> the input fields, so I am including it everytime I produce a page, but I
> want to only include it iff the xml has at least one <input .../>
> element. This is of course simplified, the real xml and the html it
> produces is a lot more complicated, some of the html pages produced are
> getting fairly large :)
> The xsl root match is where i am including all the various javascript
> files. Here is a simplified version of my xslt, for those who dont do html :
>
> <?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="/">
> <html>
> <head>
> <script language="JavaScript"
> src="Shared/Javascript/validate.js"></script>
> </head>
> <body>
> <xsl:apply-templates/>
> </body>
> </html>
> </xsl:template>
>
> <xsl:template match="input">
> <!-- input field code goes here -->
> </xsl:template>
> .
> .
> .
> </xsl:stylesheet>
>
> I only want that <script language="JavaScript"
> src="Shared/Javascript/validate.js"></script> part to appear once in the
> resulting html iff the xml i am processing has at least one <input..../>
> element. I figure i can parse the xml twice, but i cant work out how i
> would only match unique elements the first time :) What sort of thing
> should i be googleing for in order to solve this problem, it seems like
> the sort of thing people would want to do....
>
> Jake
>
>
>
> !DSPAM:41b5349f255512010010124!
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] check for existance of an ele, Jake The Snake Brigg | Thread | Re: [xsl] check for existance of an, Marian Olteanu |
| Re: [xsl] pulling ID or value-of in, Anokhin Alexander | Date | [xsl] check for existance of an ele, Jake The Snake Brigg |
| Month |