RE: [xsl] if then else

Subject: RE: [xsl] if then else
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 28 Feb 2005 17:44:47 -0000
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