File: Data.xml <?xml version="1.0"?> <list> <description>XPath 2.0 Context Functions</description> <date>2008-08-26</date> <function type="new">context-item()</function> <function type="new">current-date()</function> <function type="new">current-dateTime()</function> <function type="new">current-time()</function> <function type="new">default-collation()</function> <function type="new">implicit-timezone()</function> <function type="legacy">last()</function> <function type="legacy">position()</function> </list> File: Transform.xslt <?xml version ="1.0"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" /> <xsl:template match="functions"> <xsl:element name="list"> <xsl:element name="description"> XPath 2.0 Context Functions </xsl:element> <xsl:element name="date"> <xsl:value-of select="current-date()" /> </xsl:element> <xsl:apply-templates select="function" /> </xsl:element> </xsl:template> <xsl:template match="function"> <xsl:copy> <xsl:if test="matches(name,'^fn:')"> <xsl:value-of select="substring(name, 4)" /> </xsl:if> </xsl:copy> </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?> XPath 2.0 Context Functions 2008-08-26 <function/> <function/> <function/> <function/> <function/> <function/> <function/> <function/>