xsl-list
[Top] [All Lists]

RE: Grouping over multiple files

2006-01-14 14:35:29

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



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>