From 9a5da56f561ad5ad476009a778c385bf58f2e6d6 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Tue, 17 Apr 2012 09:44:44 +0400 Subject: [PATCH] msxml3: Set namespace-prefixes on by default. --- dlls/msxml3/saxreader.c | 10 +++++++++- dlls/msxml3/tests/saxreader.c | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c index e15f3e6ff01..d95550f557d 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 41e37755981..aa3b2a5df6d 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); -- 2.11.4.GIT