Subject: Making all attributes empty and retaining the attributes names
From: "Pankaj Chaturvedi" <pankaj.chaturvedi@xxxxxxxxx>
Date: Fri, 30 May 2008 17:50:52 +0530
|
Hi all,
I have strange requirement, where in I need to remove all the attribute
values but need to retain their names (basically having empty attributes)
along with their elements. I have written a small template to get this done
but all the attributes get removed also.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output encoding="UTF-8" indent="yes"/>
<xsl:template match="node()">
<xsl:copy>
<xsl:apply-templates select="node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
I tried to retain the attributes names with something like below but I know
its incorrect:
<xsl:template match="@*">
<xsl:copy>
<xsl:apply-templates select="name(@*)"/>
</xsl:copy>
</xsl:template>
Error: Too many parameters.
Other simple way is to use regular expression (search/replace) but would
prefer to avoid that.
Any ideas please.
Best,
Pankaj Chaturvedi
============================================================================
================
|