[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] if then else


Subject: Re: [xsl] if then else
From: RQamar <qamar_rahil@xxxxxxxxxxx>
Date: Mon, 28 Feb 2005 17:53:52 +0000

Thanks for all the responses and information given.

Atleast now I know where the problem really lies.

Sorry for being presumptuous about the error message not being informative. My mistake. Apologies.

Thanks again to all
Rahil

Michael Kay wrote:

Saxon 6.5.3 is an XSLT 1.0 processor.



has an XSLT2.0 processor as Ive used tags such as :
<SubConcept id="{@id}" name="{@name}">
which I believe are version 2.0 compatible.



They are also version 1.0 compatible.




The error message I get is not very informative but Ive pasted it below anyways:



People posting questions so often make this mistake. The fact that you don't understand an error message doesn't mean that no-one else does!

This error message makes it pretty clear that the XPath parser has tried to
interpret if() as a function call, which means it isn't aware of the XPath
2.0 if() then else syntax.

Michael Kay
http://www.saxonica.com/


----------------------

[SAXON 6.5.3 from Michael Kay] Starting transformation ...
ERROR: Error in expression if(OBJECT-SLOT) then OBJECT-SLOT/@name else DATA-SLOT/@name: Unknown system function: if; SystemID: file:/C:/Samples/Processor1.xsl; Line#: 31; Column#: -1


FATAL ERROR: Failed to compile stylesheet. 1 error detected.


Transformation Interrupted!


-------------------------

Regards
Rahil

Michael Kay wrote:



This is correct in XSLT 2.0. Are you using an XSLT 2.0

processor? What was


the error message?

Michael Kay
http://www.saxonica.com/






-----Original Message-----
From: RQamar [mailto:qamar_rahil@xxxxxxxxxxx] Sent: 28 February 2005 17:07
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] if then else


Hi

I wanted to use the 'if then else' clause inside the <xsl:value-of select="">. I tried doing it this way but its obviously wrong as it returns an error.

<Value type="TEXT" ref="{CONCEPT/@ref}">
<xsl:value-of select="if(OBJECT-SLOT) then


OBJECT-SLOT/@name else

DATA-SLOT/@name"/>
</Value>

What would be the right way of writing it or is it incorrect to have it inside the select attribute of the xsl:value-of tag?

Appreciate any comments or suggestions
Rahil


Current Thread
Keywords