Mar*_*ary 3 xml xslt xpath descendant xslt-1.0
我很好奇为什么这个 XSLT :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:apply-templates select="//ca"/>
</xsl:template>
<xsl:template match="ca">
<xsl:value-of select="."/>
<xsl:value-of select="//cd"/>
</xsl:template>
</xsl:stylesheet> Run Code Online (Sandbox Code Playgroud)
在此 XML 文档上
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE a>
<a>
<b>
<c>
<ca>CA</ca>
<cd>CD</cd>
</c>
</b>
</a>Run Code Online (Sandbox Code Playgroud)
结果为:CACD
我最感兴趣的是为什么 CD 能够正确评估,因为我认为模板中的当前上下文是由匹配属性定义的,也就是说,第二个模板中的ca 。如果这是正确的,在ca的上下文中,使用 //cd ,据我所知,XSLT 处理器应该通过名称为cd的任何级别的ca的任何后代进行搜索。
cd是ca的兄弟,所以我很困惑。
我将不胜感激任何有助于阐明这一点的帮助。
先感谢您。
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |