2

文档:

<?xml version="1.0" encoding="utf-8"?>
<page>
    <tab dim="30">
        <column>

        </column>
        <column>

        </column>
    </tab>
    <tab dim="70">
    </tab>
</page>

样式表:

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>
    <html>
    <head>

    </head>
    <body>
        <xsl:for-each select="tab">
        <div class="tab">tab</div>
        </xsl:for-each>
    </body>
    </html>
</xsl:template>

</xsl:stylesheet>

生产这个

<!DOCTYPE html><html><head></head><body></body></html>

我要这个

<!DOCTYPE html><html><head></head><body><div class="tab">tab</div><div class="tab">tab</div></body></html>
4

2 回答 2

1

你需要

<xsl:for-each select="page/tab">

代替

<xsl:for-each select="tab">

要么那个,要么你可以做

<xsl:template match="/page">

代替

<xsl:template match="/">
于 2012-08-27T18:31:54.237 回答
0

我会为 <tab> 和 <page> 使用模板匹配

<xsl:template match="page">
  <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text>
  <html>
    <head></head>
    <body>
      <xsl:apply-templates/>
    </body>
  </html>
</xsl:template>

<xsl:template match="tab">
  <div class="tab">tab</div>
</xsl:template>
于 2012-08-27T18:53:10.913 回答