normalize the space : normalize space « XSLT stylesheet « XML Tutorial






File: Data.xml

<?xml version="1.0" encoding="utf-8"?>
<cars>
  <manufacturer name="          Chevrolet

">
    <car>Cavalier</car>
    <car>Corvette</car>
    <car>Impala</car>
    <car>Monte



Carlo</car>
  </manufacturer>
</cars>

File: Transform.xslt


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:template match="/">
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="*">
    <xsl:copy>
      <xsl:for-each select="@*">
        <xsl:attribute name="{name()}">
          <xsl:value-of select="normalize-space()"/>
        </xsl:attribute>
      </xsl:for-each>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="text()">
    <xsl:value-of select="normalize-space()"/>
  </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><cars><manufacturer name="Chevrolet"><car>Cavalier</car><car>Corvette</car><car>Impala</car><car>Monte Carlo</car></manufacturer></cars>








5.34.normalize space
5.34.1.normalize the space
5.34.2.select=normalize-space(translate(substring(.,5),\,/))
5.34.3.normalize-space() returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace characters by a single space.