Description
Refactor the XLMWalker object and the extending objects if required.
Main focus of refactoring should be on the removal of all null values in the traverse logic, these should be replaced with Stub or NullNode objects.
Identified Issues
- uses
null values to represent unsupported/ignored leafs
- traversal logic is based on null checking values
right == null etc. these should be removed
- result can be null even with valid XML
Reasoning for Refactoring
- design prevents the object and extending classes to be immutable and null free
- silently drops unsupported nodes
- invalid XML can be indistinguishable from empty query
- hides errors and unexpected values on runtime
Description
Refactor the XLMWalker object and the extending objects if required.
Main focus of refactoring should be on the removal of all null values in the traverse logic, these should be replaced with Stub or NullNode objects.
Identified Issues
nullvalues to represent unsupported/ignored leafsright == nulletc. these should be removedReasoning for Refactoring