Subject: Re: [xsl] Identifying unique attribute values in nested sibling elements From: "Mark" <mark@xxxxxxxxxxxx> Date: Tue, 4 Oct 2011 07:23:37 -0700 |
They do exactly what I wanted. Thanks, Mark
the XML with the output: <Value kc-value="1"> Text: 1kc File: 1-0.htm <Value kc-value="1" h-value="50"> Text 1.50kc File: 1-50.htm <Value kc-value="0" h-value="50"> Text: 50h File: 0-50.htm <Value kc-value="0" l-value="A" Text: A File:a.htm
<!--compose a string of attribute names and their values; avoid the possibility of co-incidental string values;--> <xsl:function name="cps:attrs"> <xsl:param name="this"/> <xsl:value-of> <xsl:for-each select="$this/@*"> <xsl:sort select="name(.)"/> <xsl:value-of select="name(.),'',.,''"/> </xsl:for-each> </xsl:value-of> </xsl:function>
<!--common reporting--> <xsl:function name="cps:report"> <xsl:param name="Stamp"/> <xsl:for-each select="$Stamp"> <!-- l-value --> <xsl:choose> <xsl:when test="Value/@l-value"> <xsl:for-each select="Value/@l-value"> <a class="button" href="../aval/{lower-case(.)}.htm"> <xsl:value-of select="."/> </a> </xsl:for-each> </xsl:when> <!-- kc-value + h-value --> <xsl:when test="Value/@h-value"> <xsl:variable name="h"> <xsl:for-each select="Value/@h-value"> <xsl:value-of select="."/> </xsl:for-each> </xsl:variable> <xsl:for-each select="Value/@kc-value"> <xsl:choose> <xsl:when test="not(. eq '0')"> <a class="button" href="../aval/{concat(., '-', $h)}.htm"> <xsl:value-of select="concat(., '.', $h)"/> <xsl:text>KD </xsl:text> </a> </xsl:when> <xsl:otherwise> <a class="button" href="../aval/{concat(., '-', $h)}.htm"> <xsl:value-of select="$h"/> <xsl:text>h</xsl:text> </a> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:when>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Error: sequence of more t, Michael Kay | Thread | Re: [xsl] Identifying unique attrib, G. Ken Holman |
Re: [xsl] XSLT Patterns, Mark | Date | Re: [xsl] change xslt processing or, Navin Patel |
Month |