ext/dom: Add global registerNodeNS flag on DOMXPath. #4740
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PHP's
DOMXpath
automatically registers namespaces for xpath, which can be disabled with arguments$registerNodeNS
toevaluate()
andquery()
that defaults to true.With this PR you can set this flag on the constructor as second argument of the xpath object globally for all evaluate/query calls: 馃槅
In addition you can also use a property to read and write this value 馃殌
Both approaches are needed, because the option is reasonably important to be set directly in the constructor, but also code that is "downstream" of the actual construction of DOMXPath may need to inspect or modify the setting before use. Without knowing which value this property has at the call site of query/evaluate it would cause problems.
Setting the
$registerNodeNS
argument on query/evaluate methods will overwrite the default options.Fixes https://bugs.php.net/bug.php?id=55700