XML/XSLT stylesheet/strip space
Версия от 18:22, 25 мая 2010; (обсуждение)
strip-space elements="*"
File: Data.xml
<?xml version="1.0"?>
<python version="2.3">
<keyword>while</keyword>
<keyword>continue</keyword>
<keyword>def</keyword>
<keyword>elif</keyword>
<keyword>assert</keyword>
</python>
File: Transform.xslt
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:saxon="http://icl.ru/saxon"
extension-element-prefixes="saxon">
<xsl:output method="xml" saxon:indent-spaces="2" indent="yes" />
<xsl:strip-space elements="*" />
<xsl:template match="python">
<xsl:copy>
<xsl:attribute name="version"><xsl:value-of
select="@version" />
</xsl:attribute>
<xsl:apply-templates>
<xsl:sort />
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="keyword">
<xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<python version="2.3">
<keyword>assert</keyword>
<keyword>continue</keyword>
<keyword>def</keyword>
<keyword>elif</keyword>
<keyword>while</keyword>
</python>
strip-space elements="color"
File: Data.xml
<colors>
<color>red</color>
<color>yellow</color>
<color>blue</color>
<color></color>
</colors>
File: Transform.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" />
<xsl:strip-space elements="color" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Output:
<colors>
<color>red</color>
<color>yellow</color>
<color>blue</color>
<color/>
</colors>