aboutsummaryrefslogtreecommitdiffstats
path: root/HTMLtree.c
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2003-01-09 13:19:33 +0000
committerDaniel Veillard <veillard@src.gnome.org>2003-01-09 13:19:33 +0000
commit5ecaf7f9a7f310eb768407a21f4546bcfa29bff1 (patch)
treeddb01f2007f5d4ba719bccb65ef949b148e8212d /HTMLtree.c
parente2830f1e65ddef63fc74a22addfea30d97ef8d65 (diff)
downloadandroid_external_libxml2-5ecaf7f9a7f310eb768407a21f4546bcfa29bff1.tar.gz
android_external_libxml2-5ecaf7f9a7f310eb768407a21f4546bcfa29bff1.tar.bz2
android_external_libxml2-5ecaf7f9a7f310eb768407a21f4546bcfa29bff1.zip
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.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/HTMLtree.c b/HTMLtree.c
index fe69b3de..94682bb6 100644
--- a/HTMLtree.c
+++ b/HTMLtree.c
@@ -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) &&