Inspectopedia
 
2024.3

Implicit type conversion

Warning
Reliability
New
Last modified: 03 December 2024

Reports implicit conversions between the predefined XPath-types STRING, NUMBER, BOOLEAN, and NODESET. Helps to write XSLT scripts that are more expressive about types and prevents subtle bugs:

Example:

is not the same as

The first test checks whether the element "foo" exists (count(foo) > 0); the latter one however is only true if the element actually contains any text (string-length(foo) > 0). Suggests making the type conversion more explicit.

Use the following options to configure the inspection:

  • Enable or disable implicit conversions between certain types

  • Always report explicit conversions that do not result in the actually expected type, for example, <xsl:if test="number(foo)" />

  • Ignore conversion from NODESET to BOOLEAN by using the string() function as a shortcut for writing string-length() > 0.