[ 
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)

Reply via email to