XML ドキュメントのルート要素のタグ名を xslt 変数に割り当てることに興味があります。たとえば、ドキュメントが次のように見える場合 (DTD を除く):
<foo xmlns="http://.....">
<bar>1</bar>
</foo>
そして、文字列 'foo' を xslt 変数に割り当てたいと思いました。それを参照する方法はありますか?
ありがとう、マット
最も外側の 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>
XPath 用語には若干の違いがあることに注意してください。
ツリーの最上位は、ルート ノード (1.0 用語) またはドキュメント ノード (2.0) です。これが「/」の意味です。これは要素ではありません。最も外側の要素 (および最も外側の要素の前後にあるコメントと処理命令) の親です。ルート ノードには名前がありません。
http://www.dpawson.co.uk/xsl/sect2/root.html#d9799e301を参照してください。
理解した。パラメータ * を指定した関数 name() は foo を返します。
あなたがしたいlocal-name()