1

我有这个 XML 文件。我如何使用这个单一的 XML 文件将它们拆分为多个单独的页面,并使用它们各自的节点进行导航?有人可以给我一个起点吗?

文件

<Colors>
   <Color>
       <description>
           <p>This page is red.</p>
       </description>
   </Color>
   <Color>
       <description>
           <p>This page is blue.</p>
       </description>
   </Color>
   <Color>
       <description>
           <p>This page is green.</p>
       </description>
   </Color>
<Colors>

输出:

<html>
    <head></head>
    <body>
    This page is red.
    </body>
</html>


<html>
    <head></head>
    <body>
    This page is blue.
    </body>
</html>


<html>
    <head></head>
    <body>
    This page is green.
    </body>
</html>
4

2 回答 2

2

xsl:result-document可用于从单个样式表输出多个已处理的文件。

于 2012-05-10T17:00:53.843 回答
2

XSLT 1.0 还是 2.0?

恐怕在 1.0 中没有多个输出关键字 - 你必须在外部做一些事情 - 例如带有参数的 XSLT:

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

  <xsl:output indent="yes" method="html" />

  <xsl:param name="n" select="1"/>

  <xsl:template match="Color">
    <xsl:value-of select="."/>
  </xsl:template>

  <xsl:template match="/Colors">
    <html>
      <head></head>
      <body>
        <xsl:apply-templates select="Color[$n]"/>
      </body>
    </html>
  </xsl:template>

</xsl:stylesheet>

并使用不同的参数值重复调用它(在上面的示例中n=Color要使用的元素的数量 - 1、2、3 等)

在 XSLT 2.0 中看到这个例子

于 2012-05-10T17:38:42.360 回答