Re: [xsl] equivalent od #define

Subject: Re: [xsl] equivalent od #define
From: "Robert Van Gemert" <rcvangemert@xxxxxxxxxxxxxxxx>
Date: Mon, 28 Nov 2005 21:19:27 +1100
Colin, David

After sleeping on it I have solution, I could have explained the problem better...

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:defines="user defined data">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes" />


<defines:data>
 <const name="a" a1="38" a2="38" a3="39" a4="80" />
 <const name="b" a1="5" a2="45" a3="24" a4="90" />
</defines:data>

<xsl:variable name="index">2</xsl:variable>

<xsl:template match="/" >
<xsl:value-of select="document('')/*/defines:data/const[number($index)]/@a1" />
..
</xsl:template>


</xsl:stylesheet>

-rvg

----- Original Message ----- From: "Colin Paul Adams" <colin@xxxxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Sunday, November 27, 2005 10:34 PM
Subject: Re: [xsl] equivalent od #define



"Robert" == Robert Van Gemert <rcvangemert@xxxxxxxxxxxxxxxx> writes:

Robert> Colin, Yes, but I need to change the varable based on the Robert> value of another variable and all this need to be Robert> global. I cannot use <xsl:choose> outside a template.

Why not?

This works:

<xsl:transform
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
version="2.0">

<xsl:param name="value" select="1" as="xs:integer"/>

<xsl:variable name="choice">
<xsl:value-of select="$value + 1"/>
</xsl:variable>

<xsl:template match="/" >
 <xsl:value-of select="$choice"/>
</xsl:template>

</xsl:transform>

--
Colin Adams
Preston Lancashire

Current Thread