我有兴趣将xml文档中根元素的标记名称分配给xslt变量.例如,如果文档看起来像(减去DTD):
<foo xmlns="http://.....">
<bar>1</bar>
</foo>
Run Code Online (Sandbox Code Playgroud)
我想将字符串'foo'分配给xslt变量.有没有办法引用它?
谢谢,马特
Dir*_*mar 25
我想你想要检索最外面的XML元素的名称.这可以像下面的XSL示例一样完成:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="outermostElementName" select="name(/*)" />
<xsl:template match="/">
<xsl:value-of select="$outermostElementName"/>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
请注意,XPath术语略有不同:
树的顶部是根节点(1.0术语)或文档节点(2.0).这就是"/"所指的.它不是一个元素:它是最外层元素的父元素(以及在最外层元素之前或之后的任何注释和处理指令).根节点没有名称.
见http://www.dpawson.co.uk/xsl/sect2/root.html#d9799e301
Dim*_*hev 19
使用XPath name()
函数.
获取top(而不是root!)元素名称的一个XPath表达式是:
name(/*)
名字()函数返回节点的完全合格的名字,所以一个元素<bar:foo/>
字符串"bar:foo"将被退回.
如果只是名称的本地部分被通缉(没有前缀和":"),那么XPath的local-name()
应该使用的功能.
归档时间: |
|
查看次数: |
58923 次 |
最近记录: |