mirror of https://github.com/python/cpython
Merged revisions 78125 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r78125 | antoine.pitrou | 2010-02-09 18:08:05 +0100 (mar., 09 févr. 2010) | 7 lines Issue #2746: Don't escape ampersands and angle brackets ("&", "<", ">") in XML processing instructions and comments. These raw characters are allowed by the XML specification, and are necessary when outputting e.g. PHP code in a processing instruction. Patch by Neil Muller. ........
This commit is contained in:
parent
c77dd32be4
commit
99f69ee7a1
|
@ -210,6 +210,26 @@ def check_encoding(ET, encoding):
|
|||
"""
|
||||
ET.XML("<?xml version='1.0' encoding='%s'?><xml />" % encoding)
|
||||
|
||||
def processinginstruction():
|
||||
r"""
|
||||
Test ProcessingInstruction directly
|
||||
|
||||
>>> from xml.etree import ElementTree as ET
|
||||
|
||||
>>> ET.tostring(ET.ProcessingInstruction('test', 'instruction'))
|
||||
'<?test instruction?>'
|
||||
>>> ET.tostring(ET.PI('test', 'instruction'))
|
||||
'<?test instruction?>'
|
||||
|
||||
Issue #2746
|
||||
|
||||
>>> ET.tostring(ET.PI('test', '<testing&>'))
|
||||
'<?test <testing&>?>'
|
||||
>>> ET.tostring(ET.PI('test', '<testing&>\xe3'), 'latin1')
|
||||
b"<?xml version='1.0' encoding='latin1'?>\n<?test <testing&>\xe3?>"
|
||||
|
||||
"""
|
||||
|
||||
def check_issue6233():
|
||||
"""
|
||||
>>> from xml.etree import ElementTree as ET
|
||||
|
|
|
@ -662,9 +662,9 @@ class ElementTree:
|
|||
# write XML to file
|
||||
tag = node.tag
|
||||
if tag is Comment:
|
||||
file.write(b"<!-- " + _encode_cdata(node.text, encoding) + b" -->")
|
||||
file.write(_encode("<!-- %s -->" % node.text, encoding))
|
||||
elif tag is ProcessingInstruction:
|
||||
file.write(b"<?" + _encode_cdata(node.text, encoding) + b"?>")
|
||||
file.write(_encode("<?%s?>" % node.text, encoding))
|
||||
else:
|
||||
items = list(node.items())
|
||||
xmlns_items = [] # new namespaces in this scope
|
||||
|
|
|
@ -529,6 +529,7 @@ Pablo Mouzo
|
|||
Sjoerd Mullender
|
||||
Sape Mullender
|
||||
Michael Muller
|
||||
Neil Muller
|
||||
R. David Murray
|
||||
Piotr Meyer
|
||||
John Nagle
|
||||
|
|
|
@ -242,6 +242,11 @@ C-API
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #2746: Don't escape ampersands and angle brackets ("&", "<", ">")
|
||||
in XML processing instructions and comments. These raw characters are
|
||||
allowed by the XML specification, and are necessary when outputting e.g.
|
||||
PHP code in a processing instruction. Patch by Neil Muller.
|
||||
|
||||
- Issue #6233: ElementTree failed converting unicode characters to XML
|
||||
entities when they could't be represented in the requested output
|
||||
encoding. Patch by Jerry Chen.
|
||||
|
|
Loading…
Reference in New Issue