Subject: RE: [xsl] Type error with variable as=xs:string using xsl:choose From: "Joe Fawcett" <joefawcett@xxxxxxxxxxx> Date: Thu, 07 Sep 2006 10:41:12 +0100 |
<xsl:otherwise> <xsl:value-of select="$xsrc[1]" /> </xsl:otherwise>
From: "Trevor Nicholls" <trevor@xxxxxxxxxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: [xsl] Type error with variable as=xs:string using xsl:choose Date: Thu, 7 Sep 2006 21:29:25 +1200
The following variable definition is giving me the error "XTTE0570: A sequence of more than one item is not allowed as the value of variable normsrc"
I'm using Saxon 8.6.1 on Windows XP.
==== <xsl:variable name="normsrc" as="xs:string"> <xsl:choose> <xsl:when test="contains($xsrc,'/images/images/')"> <xsl:text>images/</xsl:text> <xsl:value-of select="substring-after($xsrc,'/images/images/')" /> </xsl:when> <xsl:when test="contains($xsrc,'/images/')"> <xsl:text>images/</xsl:text> <xsl:value-of select="substring-after($xsrc,'/images/')" /> </xsl:when> <xsl:otherwise> <xsl:value-of select="$xsrc" /> </xsl:otherwise> </xsl:choose> </xsl:variable> ====
If I drop the as="xs:string" attribute it works perfectly, but I'm sure I've
got exactly this construction elsewhere without complaint. One difference
with this logic is that the 'when' tests overlap: any $xsrc that matches the
first 'when' will also match the second, but I understood that 'choose' will
only make one choice. Am I confused?
Cheers Trevor
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Type error with variable, Trevor Nicholls | Thread | RE: [xsl] Type error with variable , Trevor Nicholls |
Re: [xsl] Type error with variable, David Carlisle | Date | [xsl] Data Integration at runtime u, Ambika.Das |
Month |