Skip to content
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

Fix namespace reparenting issue #2494. #2495

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

TreyE
Copy link

@TreyE TreyE commented Apr 3, 2022

What problem is this PR intended to solve?

This PR is intended to address #2494, issues with the reparenting of nodes with prefix collisions.

Closes #2494

Have you included adequate test coverage?

I've added a test as part of the namespace testing under test/xml/test_namespace.rb.

Does this change affect the behavior of either the C or the Java implementations?

C implementations are corrected, the java implementation does not suffer from this issue (tests pass correctly with no code change).

@TreyE TreyE changed the title Add test for namespace reparenting issue #2494. Fix namespace reparenting issue #2494. Apr 3, 2022
@TreyE TreyE force-pushed the issue_2494 branch 3 times, most recently from ff0357e to 3b4c926 Compare April 3, 2022 16:33
@flavorjones
Copy link
Member

I've kicked off CI.

@flavorjones
Copy link
Member

I've rebased onto current main

@flavorjones
Copy link
Member

flavorjones commented Aug 28, 2022

Looks like this PR breaks some downstream users of Nokogiri. Would you be able to take a look at what's going on there, please?

@flavorjones flavorjones removed this from the v1.14.0 milestone Aug 28, 2022
@TreyE
Copy link
Author

TreyE commented Sep 5, 2022

I think I might be able to take a look, yeah. Let me see which ones get broken. I couldn't find any breaks in the main tests but maybe I didn't run some.

@flavorjones
Copy link
Member

Note that the libxml2 maintainer pointed out in #2919 that xmlReconciliateNs is buggy: https://gitlab.gnome.org/GNOME/libxml2/-/issues/613, and suggested looking at either xmlDOMWrapAdoptNode or xmlDOMWrapReconcileNamespaces

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[bug] Reparenting of nodes can get wrong namespaces when prefixes are reused
2 participants