Самый простой способ проверить, является ли X NaN
равным (X=X)
, потому что только если X равен NaN, это выражение вернет false.
Если вы хотите более читаемое выражение, тогда string(number(X))='NaN'
делаетзадание.
Обратите внимание, однако, что операнд base_extra_fee_rule_amount
возвращает либо узел элемента, либо ничего.Только значение типа number может быть NaN, поэтому элемент не будет NaN, пока вы не попытаетесь преобразовать его в число.Это может происходить явно или неявно, и детали зависят от того, используете ли вы XSLT 1.0 или 2.0, и в последнем случае от того, поддерживает ли он схему.На данном этапе не совсем понятно, какой тест вы хотите применить.Вас интересует, имеет ли элемент строковое значение «NaN», или вам интересно проверить, имеет ли он значение, которое не является числом?