`minidom` `renameNode()` drops an attribute renamed to a prefixed name
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
研究方向
該 issue 指出 xml.dom.minidom.Document.renameNode() 並提供了重現程式碼;先閱讀其實作以及 renameNode() 附近的測試。重現命名空間錯誤,並確認重新命名後屬性仍保留在元素上;新增或更新回歸測試,驗證預期的名稱 p:a 和命名空間。
由索引模型根據 Issue 內容生成。
描述
Bug description:
Since gh-156665, Document.renameNode() raises NamespaceErr when it renames an attribute with no namespace to a prefixed name in a namespace, and the attribute has already been removed from its element when the error is raised.
from xml.dom.minidom import parseString
doc = parseString('<r a="1" b="2"/>')
attr = doc.documentElement.getAttributeNode('a')
try:
doc.renameNode(attr, 'http://example.com/ns', 'p:a')
except Exception as e:
print(type(e).__name__, e)
print(doc.documentElement.toxml())
NamespaceErr cannot use the prefix 'p' with an empty namespace
<r b="2"/>
Expected: the attribute is renamed to p:a in http://example.com/ns and stays on the element, as on 3.15.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
- gh-159638
- 主要語言
- Python
- 星號
- 77.6k
- 分支
- 38.4k
- 平均合併
- 1 天 1 小時
- 30 天內合併 PR
- 589
環境準備
在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
python/cpython 的其他 Issue
-
type-bug
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 1 天內回覆
-
type-bug
難度 2/5 1-3 小時 新手友好度 72/100
維護者通常 1 天內回覆
-
stdlib type-bug
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
Docs: problem with page "msvcrt — Useful routines from the MS VC runtime"可能重新可做 @jikekei 於 11 天前認領,目前沒有進行中的 PR。 未關閉docs
難度 1/5 1 小時以內 新手友好度 85/100
python/cpython#159072 · 6 則留言 ·
維護者通常 1 天內回覆
-
Document unpacking in generator expressions (PEP 798)可能已有人在做 @Marwan-verse 於 8 天前認領。 未關閉docs
難度 2/5 1-3 小時 新手友好度 62/100
python/cpython#159061 · 1 則留言 ·
維護者通常 1 天內回覆
相似的 Issue
-
Uninstall guide omits the CloudWatch log groups AWS CodeBuild creates for useCodeBuild pipelines未關閉bug documentation
難度 1/5 1-3 小時 新手友好度 88/100
awslabs/visual-asset-management-system#552 ·
維護者通常 1 天內回覆
-
netbox status: needs triage type: documentation
難度 1/5 1 小時以內 新手友好度 76/100
netbox-community/netbox#23460 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 75/100
awslabs/threat-composer#362 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 72/100
ansys/pyansys-common-mcp#213 ·
維護者通常 3 天內回覆