Apply XmlNameProcessor to unwrapped ObjectNode root element name - #887
Open
Sahana2524 wants to merge 2 commits into
Open
Apply XmlNameProcessor to unwrapped ObjectNode root element name#887Sahana2524 wants to merge 2 commits into
XmlNameProcessor to unwrapped ObjectNode root element name#887Sahana2524 wants to merge 2 commits into
Conversation
1 similar comment
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Root element name skips the configured
XmlNameProcessorWith
UNWRAP_ROOT_OBJECT_NODE(on by default) the root element name is taken from theObjectNodeproperty name and written as-is, so a name that gets escaped when it lands as a child element is not escaped when it lands as the root:{"$ I am <fancy>! &;": {"id": 13}}comes out as<$ I am <fancy>! &;><id>13</id></$ I am <fancy>! &;>, whereas the same key one level down becomes<__I_am__fancy_____>. Since that name comes from content rather than from a POJO property, routing it through the generator's processor seemed like the right layer, and it also makes theWRAP_ROOT_ELEMENT_NAME/UNWRAP_ROOT_OBJECT_NODEpairing round-trip a root name that had to be escaped, which is what the javadoc promises. Default passthrough processor output is unchanged.