質問: xsltでの正規表現判定 xsltで正規表現による判定は可能でしょうか? xml内のwidthの数値を読み取り、 幅を広げることはできるのですが、 widthの指定が数値以外の場合に 表示されません。 現状では数値指定がない場合には デフォルトで200を指定しているのですが、 文字列が入ってきた場合にも 無視して200としたいのです。 だとダメでした。 いい方法はありますでしょうか?
回答: number 関数を使うと文字列を数値に変換できます。 その時に、数値に変換できない値を指定すると、nan(非数値)を返しますので、この関数を使って非数値(数値以外)を判定することができると思います。 例えば、 数値ではない 等とできます。 (数値の場合の処理はで) 注意として、string(nan)がの表現が'nan'でない場合も考えられるため 'nan'= ではなく string(number('nan'))= の方がいいかもしれません nan を直接xsltで表現できればいいのですが、それは知りません。 msのマニュアルなんかを読むとエンティティと書いてあるので、なんらかの表現があるのかもしれませんが・