-
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
Is it possible to completely ignore namespaces during deserialization? #170
Comments
At the moment there is no built-in standard way to handle missing namespaces. You could do it in the policy, but it is probably easier to have a wrapper around |
Could you please show an example of both cases? Or at least a snippet to try to understand in which direction to go |
XmlUtil is strict when matching namespaces, but some very old pom.xml files do not provide any namespace. This commit introduces a wrapper around `XmlReader` to handle POM files without namespaces. Now `XML.decodePomFromString(String)` should be used instead of `XML.decodeFromString<ProjectObjectModel>(String)`. More information: pdvrieze/xmlutil#170
XmlUtil is strict when matching namespaces, but some very old pom.xml files do not provide any namespace. This commit introduces a wrapper around `XmlReader` to handle POM files without namespaces. Now `XML.decodePomFromString(String)` should be used instead of `XML.decodeFromString<ProjectObjectModel>(String)`. More information: pdvrieze/xmlutil#170
Hi, any updates on this? Since v83.3 this workaround: public inline fun <reified T : Any> XML.decodeFromString(
namespace: String,
string: String,
): T {
return decodeFromReader<T>(
object : XmlReader by XmlStreaming.newReader(string) {
override val namespaceURI: String get() = namespace
},
)
} is not working anymore. Is there now a way to properly ignore namespaces during deserialization? |
I'm not sure why the workaround doesn't work, what happens if you use a DelegatingXmlReader explicitly? The other way that you can work around it is to use the policy to do recovery (rather than throw an exception) – the filter you have should be more resilient. |
The problem seems to be here. When Overriding the
|
@lamba92 The problem is that when using delegation the |
I have my
data class
that has:But, some very old
pom.xml
do not provide any namespace at all! For example ch.qos.logback:logback-parent:0.9.7 starts with:Nowadays it is not really needed to add all this metadata since the classes themselves in which one is deserializing are the specifications! It either fits them or not.
Would it be possible to ignore errors like this one?
The text was updated successfully, but these errors were encountered: