使用<xsl:apply-templates> </xsl:apply-templates>时,为什么输出元素内容

时间:2013-10-24 09:03:46

标签: xslt

当我在浏览器中打开pstrong.xml(见下文)时,输出如下:

heading_1
这是第一段

请解释以下内容:

1)为什么输出第二行(这是第一段) - 因为它不是在“pr”模板中完成的?     即,首先调用“目录”模板,然后调用“pr”模板。 “强大”的模板     然后调用它输出第一行(“heading_1)

2)为什么我不在“强”模板中要求“xsl:apply-templates”?

// pstrong.xml

<?xml version="1.0" encoding="windows-1252"?>
<?xml-stylesheet type="text/xsl" href="pstrong_current.xsl"?>
<catalog>
    <pr><strong>heading_1</strong>this is the first paragraph</pr>
</catalog>

// pstrong_current.xsl

<?xml version="1.0" encoding="windows-1252"?>

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

<xsl:template match="catalog">
    <html>
        <body>
             <xsl:apply-templates />
        </body>
    </html>
</xsl:template>

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

<xsl:template match="pr">
    <xsl:apply-templates />
</xsl:template>

</xsl:stylesheet>

1 个答案:

答案 0 :(得分:1)

如果您使用apply-templates并且没有自己的匹配模板,则有built-in templates