[ https://issues.apache.org/jira/browse/MNG-8537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17916430#comment-17916430 ]
Guillaume Nodet edited comment on MNG-8537 at 1/23/25 2:59 PM: --------------------------------------------------------------- bq. If Maven 4 still isn't checking for the right namespace when processing, then that's something else that needs to be fixed before release. That may break a bunch of things. The namespace has never been mandatory afaik. Maven Central Repository contains POM files which have no namespaces: https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom We do need to support those, so the only thing we could do for now would be to log a warning, but given our policy to only log warnings in case the user can do something about it, I don't see any good solution. bq. And now that I think about it, this might be a huge issue for XInclude if it's trying to include pom 4 content into pom 4.1. I need to take a look at that. The fact that the namespace is not enforced does not mean it cannot be used. If you try to include pom 4 content into pom 4.1 or even the opposite, it will just work, because namespaces aren't enforcer for now. was (Author: gnt): > If Maven 4 still isn't checking for the right namespace when processing, then > that's something else that needs to be fixed before release. That may break a bunch of things. The namespace has never been mandatory afaik. Maven Central Repository contains POM files which have no namespaces: https://repo1.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom We do need to support those, so the only thing we could do for now would be to log a warning, but given our policy to only log warnings in case the user can do something about it, I don't see any good solution. > And now that I think about it, this might be a huge issue for XInclude if > it's trying to include pom 4 content into pom 4.1. I need to take a look at > that. The fact that the namespace is not enforced does not mean it cannot be used. If you try to include pom 4 content into pom 4.1 or even the opposite, it will just work, because namespaces aren't enforcer for now. > Maven 4 namespace should not change > ----------------------------------- > > Key: MNG-8537 > URL: https://issues.apache.org/jira/browse/MNG-8537 > Project: Maven > Issue Type: Bug > Reporter: Elliotte Rusty Harold > Priority: Blocker > > Just noticed that Maven 4 has a new namespace URL. The old namespace was > > [http://maven.apache.org/POM/4.0.0] > > The new one is > > [http://maven.apache.org/POM/4.1.0] > > Putting version numbers in namespaces is a known XML antipattern because it > makes it extremely difficult and inconvenient to write tools that process > both, even when they are much the same. XSLT, DOM, XQuery, JDOM, etc. — > really any XML aware tool — is going to have problems with this. > Model version 4.1.0 is not a new and different schema that completely breaks > with the past. Most old elements from 4.0.0 are still present and still mean > exactly the same thing: groupId, artifactId, name, dependency, and most > others. There are new elements but that doesn't imply a new namespace. Adding > a new namespace is asserting that all the elements are different. > IMHO Maven 4 should not change the namespace URL. -- This message was sent by Atlassian Jira (v8.20.10#820010)