-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Partial regression on checking root tag name checking #187
Comments
@jpd236 This particular example was intended to work as the new version does, but it highlights a general issue of limited checking of root tag names. I've pushed an update that fixes this testing. What will now happen is that if the policy sets a tag qname (this requires Note that serialization distinguishes type and usage name, and the SerialName annotation just changes that from property / type names. In XML it is generally practice to reuse tag definitions, thus the policy needs to support that. The default policy does this based on whether explicit naming can be detected (SerialName annotations are invisible). In such case it is considered that the type also represents a reusable tag name unless again explicitly overridden at use space. |
Thanks. I used |
@jpd236 For your use case you may want to consider that the xml format does support polymorphic root tags, so you could deal with your use case that way (there is a test on polymorphic root tags) - you can use (sealed) interfaces or just use any as base type with a serializersModule for the subtypes. |
Just released. |
Discussed in #186
Originally posted by jpd236 October 22, 2023
In 0.86.0, the following code:
will result in an error:
This makes sense to me, and is long-standing behavior - the tag specified in
@SerialName
doesn't match the tag in the XML.However, in 0.86.1 (or 0.86.2), parsing succeeds as
TestB(data=true)
.Is it expected that parsing should work even if the root tag is wrong? I looked at the 0.86.1 release notes and didn't see anything that obviously corresponded to such a behavior change.
The text was updated successfully, but these errors were encountered: