Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
With csegRollUp v3 you can use both namespaces in the xml stylesheet.
This example use msxsl namespace with a c# script function to transform a date in a month name:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:utils="urn:script-items">
<msxsl:script language="C#" implements-prefix="utils">
<![CDATA[
public string GetMonth(string sDate)
{
if (sDate.Length > 0)
string[] monthNames = {null , "January" , "February" , "March" , "April", "May",
"June", "July", "August", "September", "October",
"November", "December"};
DateTime d = DateTime.Parse(sDate);
return monthNames[d.Month];
}
else
return "(Empty)";
]]>
</msxsl:script>
<xsl:output method="html" encoding="utf-8" />
<xsl:template match="/Rows/Row">
<li/><b><xsl:value-of select="Title" /></b> - <xsl:value-of select="utils:GetMonth(Fecha)" /><br/>
</xsl:template>
</xsl:stylesheet>
Link with more info XSLT Stylesheet Scripting using <msxsl:script>
This example use exslt distinct function to show only rows with distinct values
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:set="http://exslt.org/sets" exclude-result-prefixes="set">
<xsl:template match="/">
<xsl:for-each select="set:distinct(Row/Estado)">
<xsl:value-of select="." /><br/>
</xsl:for-each>
You can find more information about exslt in exslt.org and Mvp-xml