2016-07-28 12 views
0

変数が宣言されているかどうかを確認する必要があります。異なる.xslドキュメントが異なる変数に含まれていたので、変数が宣言されているかどうかを確認する必要があります。プロセス?XSLT:変数終了が宣言されたかどうかを確認

私のプロセスでは常にエラーが発生します。 メッセージ:変数sortedNumbersが宣言されていない(またはその宣言が有効範囲ではありません)

は、私はXSLT 2.0

私のXSLTコードを使用:あなたはあなたのアプローチを再考する必要が

<xsl:if test="exists($sortedNumbers) and $sortedNumbers = 'true' > 
+0

XSLT 2.0で確認する方法はないと思います。 XSLT 3.0には 'xsl:try/xsl:catch'がありますが、Saxonは宣言されていない変数にもかかわらず静的エラーを通知するようですが、Exeltだけが' xsl:catch 'を使うようです。 –

+0

私は自分の.XSL文書をデバッグできないという問題がありました。 – Franz

答えて

1

を。 Bをインポートして時々CをインポートするスタイルシートAがあると、間違ったやりかたをしています。汎用スタイルシートモジュールは、汎用モジュールをインポートする必要があります。

+0

私は異なるスタートXSL(StartA、StartB)を持っています。どちらも異なる変数を作成します。そして、両方とも同じ.xslを含んでいます そして、特定の変数が作成されたかどうかを確認する必要があります。 – Franz

+0

その後、インクルードされた.xslの変数をxsl:paramとして宣言する必要があります。開始XSLは、グローバルなxsl:変数でオーバーライドすることも、オーバーライドすることもできません。 –

+0

これはいい考えです。ありがとうございました – Franz

関連する問題