Fixed double-encoding of attributes, and encoded element contents. #44
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.
Example code:
Expected XML output:
Actual output:
Note that the ampersand (
&) is double-encoded in thegatherUrlattribute.This was introduced in #43. It appears the intent was to encode a DOM element's contents. But it also encodes all attributes.
There is no need to encode the attributes. See this example; attributes are encoded automatically.
See this comment about using htmlentities with DOMDocument::createElement. If what is needed is to encode the element's contents (for example, the SpeakSentence contents), then we should either encode the inner element contents, or use DOMDocument::createTextNode.
See this example; using createTextNode automatically an element's contents.
This pull request removes the code added in #43 and replaces it with code to use
createTextNode()to encode the inner contents of verbs which need it.