]> git.stg.codes - stg.git/blob - doc/xslt/profiling/strip-attributes.xsl
Help book chapter 2 complete
[stg.git] / doc / xslt / profiling / strip-attributes.xsl
1 <?xml version="1.0"?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                 version="1.0">
4
5 <xsl:output method="xml"/>
6
7 <xsl:param name="attributes" select="''"/>
8
9 <xsl:variable name="strip-attributes"
10               select="concat(' ', normalize-space($attributes), ' ')"/>
11
12 <xsl:template match="@*|text()|comment()|processing-instruction()">
13   <xsl:copy/>
14 </xsl:template>
15
16 <xsl:template match="*">
17   <xsl:copy>
18     <xsl:for-each select="@*">
19       <xsl:if test="not(contains($strip-attributes, concat(' ',name(.),' ')))">
20         <xsl:copy-of select="."/>
21       </xsl:if>
22     </xsl:for-each>
23     <xsl:apply-templates select="node()"/>
24   </xsl:copy>
25 </xsl:template>
26
27 </xsl:stylesheet>