XSLT正在转储所有源XML。为什么?

XSLT正在转储所有源XML。为什么?,xml,xslt,Xml,Xslt,非常基本的xslt问题。我试图让xslt格式化源xml的一个子集,但是所有的xml都显示出来了,我不知道为什么 以下是xml: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="XSLTDC.xsl"?> <letter xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Lett

非常基本的xslt问题。我试图让xslt格式化源xml的一个子集,但是所有的xml都显示出来了,我不知道为什么

以下是xml:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="XSLTDC.xsl"?>
<letter xmlns:xlink="http://www.w3.org/1999/xlink">   
    <title>Letter from Lionel Cary to Loretta Cary</title>  
    <date>07-05-1906</date> 
    <source>        
        <university>UCLA</university>       
        <library>Powell Library</library>       
        <department>Special Collections and University Archives</department>        
    </source>           
</letter>
但我期望的结果是:

Letter from Lionel Cary to Loretta Cary

发生这种情况的原因是,您唯一的模板是匹配
title
,而将处理
letter
节点及其其他子节点的任务留给了。其效果是复制所有文本节点

要解决此问题,请将模板更改为:

<xsl:template match="/letter">
    <xsl:value-of select="title"/>
</xsl:template>

发生这种情况的原因是,您唯一的模板是匹配的
标题
,而将处理
字母
节点及其其他子节点的任务留给了。其效果是复制所有文本节点

要解决此问题,请将模板更改为:

<xsl:template match="/letter">
    <xsl:value-of select="title"/>
</xsl:template>

<xsl:template match="/letter">
    <xsl:value-of select="title"/>
</xsl:template>