Subject: RE: [xsl] Grouping over multiple files From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sat, 14 Jan 2006 21:35:29 -0000 |
> Florent, would you be kind enough to explain the function. Actually, I think it should be using the operator "is" rather than "=". But it's trying to return one of the strings "north", "south", etc, depending on which of the four global variables is the root of the tree containing the parameter $node. I would personally be inclined to write it as <xsl:function name="k:get-source" as="xs:string"> <xsl:param name="node" as="node()"/> <xsl:variable name="root" as="node()" select="root($node)"/> <xsl:sequence select=' for $i in 1 to 4 return if (($north, $south, $east, $west)[$i] is $root) then ("north", "south", "east", "west")[$i] else ()'/> </xsl:function> > > > <xsl:function name="k:get-source" as="xs:string"> > > <xsl:param name="node" as="node()"/> > > <xsl:variable name="root" as="node()" > > select="root($node)"/> > > <xsl:choose> > > <xsl:when test="$root = $north"> > > <xsl:text>north</xsl:text> > > </xsl:when> > > <xsl:when test="$root = $south"> > > <xsl:text>south</xsl:text> > > </xsl:when> > > <xsl:when test="$root = $east"> > > <xsl:text>east</xsl:text> > > </xsl:when> > > <xsl:when test="$root = $west"> > > <xsl:text>west</xsl:text> > > </xsl:when> > > <xsl:otherwise> > > <xsl:message terminate="yes"> > > <xsl:text>Unjnown source!</xsl:text> > > </xsl:message> > > </xsl:otherwise> > > </xsl:choose> > > </xsl:function> > > > > > Thanks. > > -- > Kevin
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Grouping over multiple fi, Kevin Bird | Thread | RE: [xsl] Grouping over multiple fi, Florent Georges |
RE: [xsl] Grouping over multiple fi, Kevin Bird | Date | RE: [xsl] Grouping over multiple fi, Florent Georges |
Month |