私はいくつかの自動生成されたXSLTコードを扱っています。XSLTの文字列(文字列(。))にポイントがありますか?
それには、次のものが含まれています
string(string(.))
number(string(.))
string(number(string(.)))
は、これらの任意のポイントはありますか?または、それらは還元可能ですか
string(.)
number(.)
string(.)
?
私はいくつかの自動生成されたXSLTコードを扱っています。XSLTの文字列(文字列(。))にポイントがありますか?
それには、次のものが含まれています
string(string(.))
number(string(.))
string(number(string(.)))
は、これらの任意のポイントはありますか?または、それらは還元可能ですか
string(.)
number(.)
string(.)
?
Martinさんのように。
number(string(。))がnumber(。)とまったく同じではないXPath 2.0には、ケースがあります。たとえば、コンテキスト項目がxs:gYearのインスタンスで、number(。数字(文字列(。))は成功します。逆に、コンテキスト項目がブール値の場合、number(。)はtrueを1に、falseを0に、number(string(。))は両方をNaNに変換します。しかし、これらのエッジケースがアプリケーションにとって重要であることはほとんどありません。
初めての場合は、string(.)
に減らすことができます。 3番目の場合は、文字列の内容(たとえば<foo>a</foo>
)の文字を持つコンテキストノードの場合のように、string(.)
に減らすことはできません。number(string(.))
は「数字ではない」特殊な数値を与えます。 string()
に再度(http://www.w3.org/TR/xpath/#section-Number-Functions、http://www.w3.org/TR/xpath/#section-String-Functions)文字列 "NaN"が表示されます。私は2番目の削減可能性については分かりません。おそらく、私が提供したリンクを使ってエッジケースの詳細を確認できます。
番号(文字列(。)は数字に。)? –
数字(文字列(。)は数字に還元可能)? –
私は上記のケースを含めたと思います。 –