一度初期化されたXSLT変数は、それぞれの値を変更できないことがわかります。この出力で同じスコープ内で同じ名前の複数のXSLT変数を宣言する
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:variable name="myVar" select="'asdex upgrade'" />
<xsl:value-of select="$myVar" /><xsl:text>
</xsl:text>
<xsl:variable name="myVar" select="'Wendelstein'" />
<xsl:value-of select="$myVar" /><xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
:
サクソン-PE 9.2.0.6は、次の構文を使用できます
asdex upgrade
Wendelstein
ので、ここで何が起こっていますか?明らかに、このコードは、変数がXSLTに不変であるという事実と矛盾していません。そうでなければ、Saxonプロセッサはそれを処理しません。私はここで同じ名前の2つの変数を作成していますか?もしそうなら、第2の変数が作成された後に最初の変数にアクセスする手段を持っているか、存在しなくなったのか、それともXSLTプロセッサのシンボルテーブルに隠れているのでしょうか?それとも何を与える?
ありがとうございました!
ああ、ありがとう。この仕様書はそれをはっきりと述べています。リンクをありがとう、私は明らかにそこにいくつかの読書を行う必要があります。 – rexford