This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: less than zero


Hello Sascha,

I think it's another problem.

sascha wrote:
I want to check if a value ( $leftmargin ) is less than 0 -
check my example please.

"$wert" is ok, "$leftmargin" is ok too but the xsl:if does not work.:

<xsl:variable name="notesleftmargin"><xsl:value-of
select="ancestor::dxl:richtext//dxl:pardef[@id=$pabid]/@leftmargin"/></xsl:v
ariable>
(Here you create a Result Tree Fragment, which shows similar behaviour to a string, but must converted first. Use (like in the following variable declarations) <xsl:variable name="notesleftmargin" select="ancestor::dxl:richtext//dxl:pardef[@id=$pabid]/@leftmargin"/>.)

<xsl:variable name="wert" select="substring-before($notesleftmargin,'in')"/>
<xsl:variable name="leftmargin" select="$wert - 1"></xsl:variable>

<xsl:if test="number($leftmargin) &lt; 0"><xsl:variable name="leftmargin"
select="0"></xsl:variable></xsl:if>
With this construct the variable is only in scope in the <xsl:if>, but not outside of it. You have to change it to the following:

<xsl:variable name="correct-leftmargin">
<xsl:choose>
<xsl:when test="number($leftmargin) &lt; 0">0</xsl:when>
<xsl:otherwise><xsl:value-of select="$leftmargin"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>

Furthermore you can not reassign a value to a variable. Therefore I changed the name of the second one.

<xsl:attribute name="margin-left"><xsl:value-of
select="concat($leftmargin,'in')"/></xsl:attribute>

but this does not work.
why?

sascha
Regards,

Joerg



--

System Development
VIRBUS AG
Fon  +49(0)341-979-7419
Fax  +49(0)341-979-7409
joerg.heinicke@virbus.de
www.virbus.de


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]