diff options
author | Daniel Veillard <veillard@src.gnome.org> | 2003-01-09 13:19:33 +0000 |
---|---|---|
committer | Daniel Veillard <veillard@src.gnome.org> | 2003-01-09 13:19:33 +0000 |
commit | 5ecaf7f9a7f310eb768407a21f4546bcfa29bff1 (patch) | |
tree | ddb01f2007f5d4ba719bccb65ef949b148e8212d /HTMLtree.c | |
parent | e2830f1e65ddef63fc74a22addfea30d97ef8d65 (diff) | |
download | libxml2-5ecaf7f9a7f310eb768407a21f4546bcfa29bff1.tar.gz |
fixes #102920 about namespace handling in HTML output and section 16.2
* HTMLtree.c tree.c: fixes #102920 about namespace handling in
HTML output and section 16.2 "HTML Output Method" of XSLT-1.0
* README: fixed a link
Daniel
Diffstat (limited to 'HTMLtree.c')
-rw-r--r-- | HTMLtree.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -536,6 +536,7 @@ htmlDocDumpMemory(xmlDocPtr cur, xmlChar**mem, int *size) { * * ************************************************************************/ +void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur); /** * htmlDtdDumpOutput: @@ -761,10 +762,19 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, /* * Get specific HTML info for that node. */ - info = htmlTagLookup(cur->name); + if (cur->ns == NULL) + info = htmlTagLookup(cur->name); + else + info = NULL; xmlOutputBufferWriteString(buf, "<"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); + xmlOutputBufferWriteString(buf, ":"); + } xmlOutputBufferWriteString(buf, (const char *)cur->name); + if (cur->nsDef) + xmlNsListDumpOutput(buf, cur->nsDef); if (cur->properties != NULL) htmlAttrListDumpOutput(buf, doc, cur->properties, encoding); @@ -826,6 +836,10 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, xmlOutputBufferWriteString(buf, "\n"); } xmlOutputBufferWriteString(buf, "</"); + if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) { + xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix); + xmlOutputBufferWriteString(buf, ":"); + } xmlOutputBufferWriteString(buf, (const char *)cur->name); xmlOutputBufferWriteString(buf, ">"); if ((format) && (info != NULL) && (!info->isinline) && |