GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-156635: Fix the exceptions in the xml.dom documentation by serhiy-storchaka · Pull Request #156636 · python/cpython

Conversation

@serhiy-storchaka

@serhiy-storchaka serhiy-storchaka commented Aug 30, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Node.insertBefore(), Node.removeChild() and Node.replaceChild() were documented as raising ValueError for a node which is not a child of this node. They raise NotFoundErr, which is a DOMException and not a ValueError.

Element.removeAttribute() was documented as raising NotFoundErr if there is no matching attribute, and Element.removeAttributeNS() as raising nothing, although both raise NotFoundErr. The DOM specifies that removing an absent attribute has no effect, so neither is documented in xml.dom any more, and this is documented as a deviation in the xml.dom.minidom documentation.

  • Issue: xml.dom documents wrong exceptions for some methods #156635

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@serhiy-storchaka
pythongh-156635: Fix the exceptions in the xml.dom documentation
b128188
Node.insertBefore(), Node.removeChild() and Node.replaceChild() raise
NotFoundErr, not ValueError.

Element.removeAttribute() and Element.removeAttributeNS() raise
NotFoundErr if there is no matching attribute, which contradicts the
DOM, so this is documented as a deviation in the minidom documentation.
@bedevere-app bedevere-app Bot added docs Documentation in the Doc dir skip news labels Aug 30, 2026
@github-project-automation github-project-automation Bot added this to Docs PRs Aug 30, 2026
@github-project-automation github-project-automation Bot moved this to Todo in Docs PRs Aug 30, 2026
@bedevere-app bedevere-app Bot mentioned this pull request Aug 30, 2026
xml.dom documents wrong exceptions for some methods #156635
Closed
@bedevere-app bedevere-app Bot added the awaiting core review label Aug 30, 2026
@serhiy-storchaka serhiy-storchaka added needs backport to 3.13 only security fixes needs backport to 3.14 bugs and security fixes needs backport to 3.15 bugs and security fixes labels Aug 30, 2026
@read-the-docs-community

read-the-docs-community Bot commented Aug 30, 2026

Copy link
Copy Markdown

Documentation build overview

📚 cpython-previews | 🛠️ Build #34297481 | 📁 Comparing b128188 against main (922c866)

  🔍 Preview build  

2 files changed
± library/xml.dom.html
± library/xml.dom.minidom.html
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@serhiy-storchaka
serhiy-storchaka enabled auto-merge (squash) August 30, 2026 09:35
@serhiy-storchaka
serhiy-storchaka merged commit 74b944a into python:main Aug 30, 2026
42 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@github-project-automation github-project-automation Bot moved this from Todo to Done in Docs PRs Aug 30, 2026
@miss-islington-app

miss-islington-app Bot commented Aug 30, 2026

Copy link
Copy Markdown

Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14, 3.15.
🐍🍒⛏🤖

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the awaiting core review label Aug 30, 2026
@bedevere-app

bedevere-app Bot commented Aug 30, 2026

Copy link
Copy Markdown

GH-156637 is a backport of this pull request to the 3.15 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 bugs and security fixes label Aug 30, 2026
@miss-islington-app

miss-islington-app Bot commented Aug 30, 2026

Copy link
Copy Markdown

Sorry, @serhiy-storchaka, I could not cleanly backport this to 3.13 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 74b944afe32049191674c747e060d8d67a2a1b17 3.13
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@miss-islington-app miss-islington-app Bot assigned serhiy-storchaka Aug 30, 2026
@bedevere-app

bedevere-app Bot commented Aug 30, 2026

Copy link
Copy Markdown

GH-156638 is a backport of this pull request to the 3.14 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Aug 30, 2026
@bedevere-app

bedevere-app Bot commented Aug 30, 2026

Copy link
Copy Markdown

GH-156639 is a backport of this pull request to the 3.13 branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 only security fixes label Aug 30, 2026
serhiy-storchaka added a commit that referenced this pull request Aug 30, 2026
@miss-islington @serhiy-storchaka
[3.14] gh-156635: Fix the exceptions in the xml.dom documentation (GH…
0ee064f
…-156636) (GH-156638)

Node.insertBefore(), Node.removeChild() and Node.replaceChild() raise
NotFoundErr, not ValueError.

Element.removeAttribute() and Element.removeAttributeNS() raise
NotFoundErr if there is no matching attribute, which contradicts the
DOM, so this is documented as a deviation in the minidom documentation.
(cherry picked from commit 74b944a)

Co-authored-by: Serhiy Storchaka <[email protected]>
serhiy-storchaka added a commit that referenced this pull request Aug 30, 2026
@serhiy-storchaka
[3.13] gh-156635: Fix the exceptions in the xml.dom documentation (GH…
9148b70
…-156636) (GH-156639)

Node.insertBefore(), Node.removeChild() and Node.replaceChild() raise
NotFoundErr, not ValueError.

Element.removeAttribute() and Element.removeAttributeNS() raise
NotFoundErr if there is no matching attribute, which contradicts the
DOM, so this is documented as a deviation in the minidom documentation.
(cherry picked from commit 74b944a)
serhiy-storchaka added a commit to serhiy-storchaka/cpython that referenced this pull request Aug 30, 2026
@serhiy-storchaka
pythongh-44871: Removing an absent attribute has no effect
a250705
The DOM does not allow Element.removeAttribute() and
removeAttributeNS() to raise NotFoundErr in this case, it is a deviation
of minidom, documented in pythonGH-156636.
hugovk pushed a commit that referenced this pull request Aug 31, 2026
@miss-islington @serhiy-storchaka
[3.15] gh-156635: Fix the exceptions in the xml.dom documentation (GH…
00347e2
…-156636) (#156637)

Co-authored-by: Serhiy Storchaka <[email protected]>
clin1234 pushed a commit to clin1234/cpython that referenced this pull request Sep 12, 2026
@serhiy-storchaka @clin1234
pythongh-156635: Fix the exceptions in the xml.dom documentation (pyt…
6e0aba1
…honGH-156636)

Node.insertBefore(), Node.removeChild() and Node.replaceChild() raise
NotFoundErr, not ValueError.

Element.removeAttribute() and Element.removeAttributeNS() raise
NotFoundErr if there is no matching attribute, which contradicts the
DOM, so this is documented as a deviation in the minidom documentation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@serhiy-storchaka serhiy-storchaka

Labels

docs Documentation in the Doc dir skip news

Projects

Docs PRs
Status: Done

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@serhiy-storchaka
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.