8.6 控制空白的处理方式
XSLT提供了两个控制空白处理方式的元素:
<preserve-space…/>:保留空白。
<strip-space…/>:删除空白。
这两个元素都只能作为根元素(<stylesheet…/>或<transform…/>)的子元素使用,使用时可以指定如下属性:
elements:该属性是一个token类型的属性,它可以接受多个元素名,用于指定保留或删除这些元素内容里的空白。
XSLT处理器默认保留XML文档里各元素所包含的空白,这与XML文档对空白的处理方式是一致的。如果希望XSLT去除部分元素内容里所包含的空白,可以选择使用<strip-space…/>元素,如下所示:
elements属性值支持使用通配符,如以下代码可去除所有元素里的空白:
正常情况下,由于XSLT默认会保留所有元素里包含的空白,因此没必要使用<preserve-space…/>元素强制保留空白,但如果我们使用了上面所示的<strip-space…/>元素来去除所有元素中的空白,但又希望XSLT处理器保留部分元素的空白,就需要使用<preserve-space…/>元素了,如下所示: