Piotr Caban : msxml3: Add ISAXContentHandler_startPrefixMapping event.
Alexandre Julliard
julliard at winehq.org
Mon Aug 4 08:53:43 CDT 2008
Module: wine
Branch: master
Commit: e9d34b7f5aa4a57391629bcf4413c5d0a9e0f394
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e9d34b7f5aa4a57391629bcf4413c5d0a9e0f394
Author: Piotr Caban <piotr.caban at gmail.com>
Date: Sun Aug 3 17:03:28 2008 +0200
msxml3: Add ISAXContentHandler_startPrefixMapping event.
---
dlls/msxml3/saxreader.c | 28 +++++++++++++++++++++++++++-
1 files changed, 27 insertions(+), 1 deletions(-)
diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c
index 0cdd0c1..0d0a091 100644
--- a/dlls/msxml3/saxreader.c
+++ b/dlls/msxml3/saxreader.c
@@ -919,15 +919,41 @@ static void libxmlStartElementNS(
int nb_defaulted,
const xmlChar **attributes)
{
- BSTR NamespaceUri, LocalName, QName;
+ BSTR NamespaceUri, LocalName, QName, Prefix, Uri;
saxlocator *This = ctx;
HRESULT hr;
saxattributes *attr;
+ int index;
update_position(This, (xmlChar*)This->pParserCtxt->input->cur+1);
if(This->saxreader->contentHandler)
{
+ for(index=0; index<nb_namespaces; index++)
+ {
+ Prefix = bstr_from_xmlChar(namespaces[2*index]);
+ Uri = bstr_from_xmlChar(namespaces[2*index+1]);
+
+ if(This->vbInterface)
+ hr = IVBSAXContentHandler_startPrefixMapping(
+ This->saxreader->vbcontentHandler,
+ &Prefix, &Uri);
+ else
+ hr = ISAXContentHandler_startPrefixMapping(
+ This->saxreader->contentHandler,
+ Prefix, SysStringLen(Prefix),
+ Uri, SysStringLen(Uri));
+
+ SysFreeString(Prefix);
+ SysFreeString(Uri);
+
+ if(hr != S_OK)
+ {
+ format_error_message_from_id(This, hr);
+ return;
+ }
+ }
+
NamespaceUri = bstr_from_xmlChar(URI);
LocalName = bstr_from_xmlChar(localname);
QName = QName_from_xmlChar(prefix, localname);
More information about the wine-cvs
mailing list