Module: wine Branch: master Commit: e9d34b7f5aa4a57391629bcf4413c5d0a9e0f394 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e9d34b7f5aa4a57391629bcf44...
Author: Piotr Caban piotr.caban@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);