-
Notifications
You must be signed in to change notification settings - Fork 83
Open
Labels
bugan unexpected problem or unintended behavioran unexpected problem or unintended behaviorxpath 🚶♂️
Description
Encountered when trying to convert some as.integer(xml_find_num()) usage. Consider:
x1 <- xml2::read_xml('<NODE line1="1">x</NODE>')
x2 <- xml2::read_xml('<NON-NODE line1="1">x</NON-NODE>')
xml2::xml_find_num(x1, "number(//NODE/@line1)")
# [1] 1
xml2::xml_find_num(x2, "number(//NODE/@line1)")
# [1] NaN
xml2::xml_find_int(x2, "number(//NODE/@line1)")
# Error in `xml2::xml_find_int()`:
# ! Element at path `number(//NODE/@line1)` must be a whole number, not `NaN`.
# Run `rlang::last_trace()` to see where the error occurred.
xml2::xml_find_first(x2, "//NODE/@line1")
# {xml_missing}
# <NA>I would have expected NA to show up from xml_find_num() if xml_find_first() is returning xml_missing.
Either way, the inconsistency of xml_find_int() should be fixed. Since as.integer(NaN) is NA_integer_, shall we return that directly instead of looking at check_number_whole()?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugan unexpected problem or unintended behavioran unexpected problem or unintended behaviorxpath 🚶♂️