[4/4] msxml3: Set namespace-prefixes on by default

Nikolay Sivov nsivov at codeweavers.com
Tue Apr 17 00:48:58 CDT 2012


Set namespace-prefixes on by default
-------------- next part --------------
>From a9eb41753645f67211f2d4c4bdafd0f46e8173c9 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue, 17 Apr 2012 09:44:44 +0400
Subject: [PATCH 5/5] Set namespace-prefixes on by default

---
 dlls/msxml3/saxreader.c       |   10 +++++++++-
 dlls/msxml3/tests/saxreader.c |    4 ++++
 2 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c
index e15f3e6..d95550f 100644
--- a/dlls/msxml3/saxreader.c
+++ b/dlls/msxml3/saxreader.c
@@ -241,6 +241,11 @@ static const WCHAR FeatureNamespacesW[] = {
     '/','n','a','m','e','s','p','a','c','e','s',0
 };
 
+static const WCHAR FeatureNamespacePrefixesW[] = {
+    'h','t','t','p',':','/','/','x','m','l','.','o','r','g','/','s','a','x','/','f','e','a','t','u','r','e','s',
+    '/','n','a','m','e','s','p','a','c','e','-','p','r','e','f','i','x','e','s',0
+};
+
 static inline HRESULT set_feature_value(saxreader *reader, saxreader_features feature, VARIANT_BOOL value)
 {
     if (value == VARIANT_TRUE)
@@ -2752,6 +2757,9 @@ static HRESULT WINAPI saxxmlreader_getFeature(
     if (!strcmpW(FeatureNamespacesW, feature))
         return get_feature_value(This, Namespaces, value);
 
+    if (!strcmpW(FeatureNamespacePrefixesW, feature))
+        return get_feature_value(This, NamespacePrefixes, value);
+
     FIXME("(%p)->(%s %p) stub\n", This, debugstr_w(feature), value);
     return E_NOTIMPL;
 }
@@ -3188,7 +3196,7 @@ HRESULT SAXXMLReader_create(MSXML_VERSION version, IUnknown *outer, LPVOID *ppOb
     reader->pool.pool = NULL;
     reader->pool.index = 0;
     reader->pool.len = 0;
-    reader->features = Namespaces;
+    reader->features = Namespaces | NamespacePrefixes;
     reader->version = version;
 
     init_dispex(&reader->dispex, (IUnknown*)&reader->IVBSAXXMLReader_iface, &saxreader_dispex);
diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c
index 41e3775..aa3b2a5 100644
--- a/dlls/msxml3/tests/saxreader.c
+++ b/dlls/msxml3/tests/saxreader.c
@@ -2109,7 +2109,11 @@ static void test_saxreader_features(void)
         value = 0xc;
         hr = ISAXXMLReader_getFeature(reader, _bstr_("http://xml.org/sax/features/namespaces"), &value);
         EXPECT_HR(hr, S_OK);
+        ok(entry->value == value, "%s: got wrong default value %x, expected %x\n", entry->clsid, value, entry->value);
 
+        value = 0xc;
+        hr = ISAXXMLReader_getFeature(reader, _bstr_("http://xml.org/sax/features/namespace-prefixes"), &value);
+        EXPECT_HR(hr, S_OK);
         ok(entry->value == value, "%s: got wrong default value %x, expected %x\n", entry->clsid, value, entry->value);
 
         ISAXXMLReader_Release(reader);
-- 
1.5.6.5




More information about the wine-patches mailing list