Re: [xml] HTMLtree.c escapes braces
- From: Daniel Veillard <veillard redhat com>
- To: Bruce Sinclair <Bruce Sinclair microfocus com>
- Cc: Jeremy Wright <Jeremy Wright microfocus com>, "xml gnome org" <xml gnome org>
- Subject: Re: [xml] HTMLtree.c escapes braces
- Date: Fri, 16 Oct 2015 17:00:50 +0800
On Thu, Sep 24, 2015 at 10:12:25PM +0000, Bruce Sinclair wrote:
Hi Daniel,
We have had the issue that libxml2 encodes curly braces as character references in HTML output because of
the following code in HTMLtree.c:
escaped = xmlURIEscapeStr(tmp, BAD_CAST"@/:=?;#%&,+");
if (escaped != NULL) {
xmlBufferWriteQuotedString(buf->buffer, escaped);
xmlFree(escaped);
} else {
xmlBufferWriteQuotedString(buf->buffer, value);
}
We don't think the curly braces, "{" and "}", should be changed to character references. Doing so causes a
problem with the use of braces in a Server Response File (SRF) generated with libxml2. We change the first
line of the above code to:
escaped = xmlURIEscapeStr(tmp, BAD_CAST"@/:=?;#%&,+{}");
to eliminate this issue. Could this be accepted as a fix to libxml2?
Hi Bruce,
I don't understand, that code is in attribute content escaping, and
for me "{" and "}" are not escaped:
thinkpad2:~/XML -> cat ./tst.html
<html>
<body>
<img alt="{foo}"/>
</body>
</html>
thinkpad2:~/XML -> ./xmllint --html ./tst.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<body>
<img alt="{foo}">
</body>
</html>
thinkpad2:~/XML ->
Please provide a reproducer with xmllint so I understand what is going on,
thanks,
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard redhat com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]