2012-03-19 12 views

答えて

2

Martinさんのように。

number(string(。))がnumber(。)とまったく同じではないXPath 2.0には、ケースがあります。たとえば、コンテキスト項目がxs:gYearのインスタンスで、number(。数字(文字列(。))は成功します。逆に、コンテキスト項目がブール値の場合、number(。)はtrueを1に、falseを0に、number(string(。))は両方をNaNに変換します。しかし、これらのエッジケースがアプリケーションにとって重要であることはほとんどありません。

+0

数字(文字列(。)は数字に還元可能)? –

+0

私は上記のケースを含めたと思います。 –

2

初めての場合は、string(.)に減らすことができます。 3番目の場合は、文字列の内容(たとえば<foo>a</foo>)の文字を持つコンテキストノードの場合のように、string(.)に減らすことはできません。number(string(.))は「数字ではない」特殊な数値を与えます。 string()に再度(http://www.w3.org/TR/xpath/#section-Number-Functionshttp://www.w3.org/TR/xpath/#section-String-Functions)文字列 "NaN"が表示されます。私は2番目の削減可能性については分かりません。おそらく、私が提供したリンクを使ってエッジケースの詳細を確認できます。

+0

番号(文字列(。)は数字に。)? –

関連する問題