From 1defb4fd38108730868593a35b5574d741b86172 Mon Sep 17 00:00:00 2001 From: "vidur%netscape.com" Date: Thu, 18 Feb 1999 00:18:50 +0000 Subject: [PATCH] Supported XML namespace decls as attributes of HTML content embedded in XML git-svn-id: svn://10.0.0.236/trunk@21056 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/xml/document/src/nsXMLContentSink.cpp | 9 ++++++++- mozilla/content/xml/tests/docbooktest.xml | 3 +++ mozilla/layout/xml/document/src/nsXMLContentSink.cpp | 9 ++++++++- mozilla/layout/xml/tests/docbooktest.xml | 3 +++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/mozilla/content/xml/document/src/nsXMLContentSink.cpp b/mozilla/content/xml/document/src/nsXMLContentSink.cpp index 70a1da0d56d..1d7027d9d4c 100644 --- a/mozilla/content/xml/document/src/nsXMLContentSink.cpp +++ b/mozilla/content/xml/document/src/nsXMLContentSink.cpp @@ -42,6 +42,7 @@ #include "nsICSSParser.h" #include "nsICSSStyleSheet.h" #include "nsHTMLAtoms.h" +#include "nsLayoutAtoms.h" #include "nsIScriptContext.h" #include "nsIScriptContextOwner.h" #include "nsINameSpace.h" @@ -430,7 +431,13 @@ nsXMLContentSink::AddAttributes(const nsIParserNode& aNode, nsIAtom* nameSpacePrefix = CutNameSpacePrefix(name); nsIAtom* nameAtom = NS_NewAtom(name); PRInt32 nameSpaceID = GetNameSpaceId(nameSpacePrefix); - if ((kNameSpaceID_None == nameSpaceID) && aIsHTML) { + if ((kNameSpaceID_XMLNS == nameSpaceID) && aIsHTML) { + NS_RELEASE(nameAtom); + name.Insert("xmlns:", 0); + nameAtom = NS_NewAtom(name); + nameSpaceID = kNameSpaceID_HTML; + } + else if ((kNameSpaceID_None == nameSpaceID) && aIsHTML) { nameSpaceID = kNameSpaceID_HTML; } diff --git a/mozilla/content/xml/tests/docbooktest.xml b/mozilla/content/xml/tests/docbooktest.xml index c51d434ff78..75a9fa8d089 100644 --- a/mozilla/content/xml/tests/docbooktest.xml +++ b/mozilla/content/xml/tests/docbooktest.xml @@ -6,6 +6,9 @@ Inc.

+

Demo Product Documentation SoftQuad Inc. diff --git a/mozilla/layout/xml/document/src/nsXMLContentSink.cpp b/mozilla/layout/xml/document/src/nsXMLContentSink.cpp index 70a1da0d56d..1d7027d9d4c 100644 --- a/mozilla/layout/xml/document/src/nsXMLContentSink.cpp +++ b/mozilla/layout/xml/document/src/nsXMLContentSink.cpp @@ -42,6 +42,7 @@ #include "nsICSSParser.h" #include "nsICSSStyleSheet.h" #include "nsHTMLAtoms.h" +#include "nsLayoutAtoms.h" #include "nsIScriptContext.h" #include "nsIScriptContextOwner.h" #include "nsINameSpace.h" @@ -430,7 +431,13 @@ nsXMLContentSink::AddAttributes(const nsIParserNode& aNode, nsIAtom* nameSpacePrefix = CutNameSpacePrefix(name); nsIAtom* nameAtom = NS_NewAtom(name); PRInt32 nameSpaceID = GetNameSpaceId(nameSpacePrefix); - if ((kNameSpaceID_None == nameSpaceID) && aIsHTML) { + if ((kNameSpaceID_XMLNS == nameSpaceID) && aIsHTML) { + NS_RELEASE(nameAtom); + name.Insert("xmlns:", 0); + nameAtom = NS_NewAtom(name); + nameSpaceID = kNameSpaceID_HTML; + } + else if ((kNameSpaceID_None == nameSpaceID) && aIsHTML) { nameSpaceID = kNameSpaceID_HTML; } diff --git a/mozilla/layout/xml/tests/docbooktest.xml b/mozilla/layout/xml/tests/docbooktest.xml index c51d434ff78..75a9fa8d089 100644 --- a/mozilla/layout/xml/tests/docbooktest.xml +++ b/mozilla/layout/xml/tests/docbooktest.xml @@ -6,6 +6,9 @@ Inc.

+

Demo Product Documentation SoftQuad Inc.