在 xslt 中应用模板未按预期工作

apply template in xslt not working as expected

下面是输入输出 xml 以及 xslt 和预期结果

输入xml-

<?xml version="1.0"?>
<data>
        <name>Cat</name>
        <sal>1</sal>
</data>

xslt 模板:-

<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    
    <xsl:template match="/">
        <Details>
            <EmployeeName>
             <xsl:apply-templates select="employee"/>
             </EmployeeName>    
        </Details>
    </xsl:template>
    
<xsl:template match="employee">
<TEST>
 <xsl:value-of select="'CAT'"/>
</TEST>
 </xsl:template>
</xsl:stylesheet>

输出得到:-

<?xml version="1.0" encoding="UTF-8"?><Details><EmployeeName/></Details>

预期输出:-

<?xml version="1.0" encoding="UTF-8"?>
<Details>
<EmployeeName>
<TEST>CAT</TEST>
</EmployeeName>
</Details>

您只能将模板应用于存在的节点,但 <xsl:apply-templates select="employee"/> 不会 select 您的输入样本中的任何内容。