XSLT 2.0在元素之后保留空间

时间:2014-04-11 12:23:02

标签: xml xslt xslt-1.0 xslt-2.0 saxon

我有一个像这样的xml文件:

<p>Consideriamo una retta che passa per i punti <em>P</em><sub>1</sub> di coordinate (<em>x</em><sub>1</sub>; <em>y</em><sub>1</sub>). </p><ul><li>text...</li><li>Other...</li></ul>

我需要仅在块元素中转换(使用xslt Saxon PE)缩进,而不是内联元素,如:

<p>Consideriamo una retta che passa per i punti <em>P</em><sub>1</sub> di coordinate (<em>x</em><sub>1</sub>; <em>y</em><sub>1</sub>). </p>
<ul>
  <li>text...</li>
  <li>Other...</li>
<ul>

2 个答案:

答案 0 :(得分:1)

如果在结果文档(需要Saxon-EE)上运行模式验证,那么indent="yes"将不会在混合内容元素中进行任何缩进,这是您正在寻找的效果。

或者,考虑扩展程序xsl:output/@saxon:suppress-indentationwhich has moved into the standard in 3.0)。这允许您列出其内容不会缩进的元素名称(例如p)。

答案 1 :(得分:0)

怎么样?
<xsl:output  indent="yes"/>