【问题标题】:XSLT 2.0 preserve space after elementXSLT 2.0 在元素后保留空间
【发布时间】:2014-04-11 12:23:02
【问题描述】:

我有一个这样的 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>

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      怎么样

      <xsl:output  indent="yes"/>
      

      【讨论】:

      • 我认为,要让 XSLT 序列化程序识别需要为 &lt;xsl:output method="html" indent="yes"/&gt;(分别为 &lt;xsl:output method="xhtml" indent="yes"/&gt;)的 (X)HTML 块元素。 w3.org/TR/xslt-xquery-serialization/#HTML_INDENT.
      猜你喜欢
      • 2013-11-16
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      相关资源
      最近更新 更多