1

パラメータ $test が存在するかどうかを調べるために XPATH を使用しています。私は ALtova Stylevision で XPATH ビルダーを使用しており、 exists ( $blah)またはのようなものを使用できると考えていましたがexists ( string($blah) ) 、これは

" Undefined variable in expression test="exists( string( $blah) )""

問題は、パラメーターが存在する場合と存在しない場合があることです。空白のパラメーターをハードコードする必要はありません。

使用する前に「パラメーター XXXX が存在するかどうかを確認してください」と言う方法はありますか? 他のほとんどすべてのプログラミング言語でこれを行う方法を知っているので、イライラします

パラメータの定義:

<xsl:param name="blah"> some text </xsl:param>

これらのパラメータは、別のファイル「parameters.xslt」から読み込まれます。このファイルは、シナリオによって存在する場合と存在しない場合があります。使用する前に、パラメーターが実際に存在することを確認する必要があります。

4

2 に答える 2

4

パラメータを宣言した場合、それは存在します。あなたが知りたいのは、価値があるかどうかです。

<xsl:choose>
  <xsl:when test="not($blah)">$blah wasn’t passed in</xsl:when>
  <xsl:otherwise>$blah was passed in</xsl:otherwise>
</xsl:choose>
于 2012-05-14T11:22:21.187 に答える
2

基本的に、XSLT を作成している場合は、どの変数が宣言されているかを知っている必要があります。スタイルシートのさまざまなモジュールを書いている人々が互いのコードについて十分な知識を持っておらず、XSLT がそのモデルで動作するように設計されていない、ある種の開発モデルを使用しようとしています。

この点で XSLT はほとんどユニークではありません。Java メソッドには、メソッドの作成者が「呼び出し元から渡された引数の数」を尋ねることができるものはありません。不十分な引数が指定されている場合、コードは単にコンパイルされません。

于 2012-05-14T13:28:39.580 に答える