XSLT <xsl:preserve-space> 和 <xsl:strip-space> 元素

定义和用法

<xsl:preserve-space> 元素用于定义保留空白的元素。

<xsl:strip-space> 元素用于定义删除空白的元素。

注释:保留空白是默认的设置,所以只有当使用 <xsl:strip-space> 元素使才有必要使用 <xsl:preserve-space> 元素。

注释:<xsl:preserve-space> 元素和 <xsl:strip-space> 元素都是顶层元素(top-level element)。

语法

  1. <xsl:preserve-space elements="list-of-element-names"/>
  2.  
  3. <xsl:strip-space elements="list-of-element-names"/>

属性

属性 描述
elements list-of-element-names 必需。一个空格分隔的元素列表,规定了保留/删除空白的元素。 注释:列表中可包含 "" 和 "prefix:",这样就可以加入所有元素或来自特定命名空间的所有元素。

实例

例子 1

在本例中,我们为 title 和 artist 元素预留了空白节点,并从 country、company、price 以及 year 元素删除了空白节点:

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <xsl:stylesheet version="1.0"
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4.  
  5. <xsl:strip-space elements="country company price year" />
  6. <xsl:preserve-space elements="title artist" />
  7.  
  8. <xsl:template match="/">
  9. <html>
  10. <body>
  11. <xsl:for-each select="catalog/cd">
  12. <p>
  13. <xsl:value-of select="title" /><br />
  14. <xsl:value-of select="artist" /><br />
  15. <xsl:value-of select="country" /><br />
  16. <xsl:value-of select="company" /><br />
  17. <xsl:value-of select="price" /><br />
  18. <xsl:value-of select="year" />
  19. </p>
  20. </xsl:for-each>
  21. </body>
  22. </html>
  23. </xsl:template>
  24.  
  25. </xsl:stylesheet>