Commit Graph

274 Commits

Author SHA1 Message Date
Michael Stefaniuc 63bf86357e msxml3: Remove returns after returns (Smatch).
That's the intent of commit 70edd9a7.
2010-10-26 11:55:07 +02:00
Nikolay Sivov 21fddfe235 msxml3: Use proper naming and types for IObject* interfaces. 2010-10-25 14:30:59 +02:00
Nikolay Sivov b9956f75a9 msxml3: Add ::Unadvise(). 2010-10-25 14:30:40 +02:00
Nikolay Sivov fe3ff2ea9f msxml3: Add ::GetConnectionPointContainer(). 2010-10-25 14:30:35 +02:00
Nikolay Sivov eb23a4df25 msxml3: Add ::GetConnectionInterface(). 2010-10-25 14:30:31 +02:00
Nikolay Sivov 2a080e85e4 msxml3: Add stub IConnectionPoint, return points for supported IIDs. 2010-10-25 14:30:26 +02:00
Nikolay Sivov 0f2c996092 msxml3: Add stub connection container support. 2010-10-25 14:30:11 +02:00
Jacek Caban 70edd9a7fb msxml3: Don't use xmlnode's IXMLDOMNode iface for a few stub functions. 2010-10-25 13:52:51 +02:00
Adam Martinson fd9bcfcfe8 msxml3: Fix a regression bug in domdoc_loadXML().
Caused by commit 776a8662f0. Fixes parse
failures for BSTR's where encoding is explicitly UTF-16.
2010-10-21 16:15:15 +02:00
Nikolay Sivov 657f64dd06 msxml3: Add support for IStream destination in save(). 2010-10-20 18:37:09 +02:00
Nikolay Sivov b22149817d msxml3: Get rid of ::put_text() forward to IXMLDOMNode interface. 2010-10-19 10:14:11 +02:00
Nikolay Sivov 0f19df8b6a msxml3: Get rid of ::get_dataType() forward to IXMLDOMNode interface. 2010-10-19 10:14:08 +02:00
Adam Martinson 8db0dd5335 msxml3: Add a function to initialize xmlDoc->_private data. 2010-10-18 19:47:49 +02:00
Adam Martinson 403201b87f msxml3: Prevent a memory leak if domdoc creation fails. 2010-10-15 11:32:31 +02:00
Jacek Caban 6d20b3f96a msxml3: Don't use xmlnode's IXMLDOMNode iface in replaceChild implementations. 2010-10-13 15:55:10 +02:00
Nikolay Sivov 59c5bd2956 msxml3: Don't fail trying to set NewParser property. 2010-10-06 14:41:03 +02:00
Adam Martinson 4f78c04ec8 msxml3: XSLPattern support.
Parse XSLPattern queries and translate them into equivalent XPath queries.
XSLPattern built-in functions/operators are translated to their XPath
counterparts where applicable.  If no direct XPath counterpart exists,
they are registered as custom XPath functions for the sake of speed where
possible.  As a last resort, they are translated into compound XPath
expressions to accomplish the task, if more slowly.
If the parser encounters an error, the original XSLPattern query is
returned, as this is more likely to work than a mangled one.
2010-10-04 16:18:54 +02:00
Adam Martinson ff644cb1b1 msxml3: Partial stub domdoc_validate(). 2010-10-04 15:00:06 +02:00
Adam Martinson 679dbe6f31 msxml3: Stub domdoc_get_readyState(). 2010-10-04 15:00:06 +02:00
Adam Martinson 49fa9de580 msxml3: Implement preserveWhiteSpace property. 2010-10-01 14:21:26 +02:00
Adam Martinson 776a8662f0 msxml3: Expose the XML parser SAX callback interface.
This eliminates a few function calls; libxml will call this indirectly
through the old method.  By writing our own callback functions or
wrapping the default ones we can manipulate the xmlDoc as it's being
parsed, allowing us to match the way msxml parses.
2010-09-30 17:51:17 +02:00
Adam Martinson 1f93a47667 msxml3: Move domdoc properties into their own struct.
Unhooks domdoc properties from both the domdoc and xmlDoc.
After the domdoc <-> xmlDoc connection is no longer an open question,
the domdoc::properties pointer can be removed and rerouted through
xmlDoc::_private::properties as long as it's impossible to have a domdoc
with domdoc::node.node == NULL.  With all of the checks for this, the
current code suggests that it's perfectly possible.
2010-09-29 11:14:35 +02:00
Adam Martinson 05f011b735 msxml3: Implement SelectionNamespaces property. 2010-09-29 11:12:47 +02:00
Nikolay Sivov 893e8a46b2 msxml3: Store selected query language in backend document instance. 2010-09-18 13:03:33 +02:00
Andrew Nguyen c858e583cd msxml3: Correct the prototype of DOMDocument_create when compiling without libxml2. 2010-09-15 11:29:03 -05:00
Nikolay Sivov 9c951e7520 msxml3: Properly set default value for SelectionLanguage property. 2010-09-14 09:42:56 -05:00
Nikolay Sivov 8d055c7854 msxml3: Support elements with namespaces. 2010-09-14 09:42:29 -05:00
Jacek Caban addefe4ce5 msxml3: Don't use xmlnode's IXMLDOMNode iface in insertBefore implementations. 2010-09-13 10:59:02 -05:00
Jacek Caban e9ebd8c964 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_attributes implementations. 2010-09-13 10:58:56 -05:00
Jacek Caban 55175042eb msxml3: Don't use xmlnode's IXMLDOMNode iface in get_[previous|next]Sibling implementations. 2010-09-13 10:31:58 -05:00
Joris Huizer 37f61acb77 msxml3: Fix copy/paste error in get_lastChild functions. 2010-09-09 12:45:42 +02:00
Jacek Caban 4f210e21a5 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_[first|last]Node implementations. 2010-09-08 19:49:30 +02:00
Jacek Caban c8b15e90bd msxml3: Don't use xmlnode's IXMLDOMNode iface in get_childNode implementations. 2010-09-08 19:49:30 +02:00
Jacek Caban 6e76c894e8 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_nodeType and get_nodeParent implementations. 2010-09-07 16:01:32 +02:00
Jacek Caban 9413fab39e msxml3: Don't use xmlnode's IXMLDOMNode iface in put_nodeValue implementations. 2010-09-07 16:01:26 +02:00
Jacek Caban 6ce537baac msxml3: Don't use xmlnode's IXMLDOMNode iface in get_nodeValue implementations. 2010-09-06 16:13:22 +02:00
Jacek Caban 7a68fad273 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_nodeName implementations. 2010-09-06 16:13:22 +02:00
Jacek Caban 27b4f11c0b msxml3: Use xmlnode child object's IXMLDOMNode implementation as base interface.
The plan is to get rid of IXMLDOMNode interface in xmlnode object and use 
proper inheritance.
2010-09-06 16:13:22 +02:00
Jacek Caban a92e95eab1 msxml3: Use fake IID to safely cast IXMLDOMNode interface to xmlnode object. 2010-09-06 16:13:21 +02:00
Jacek Caban 0670d092f1 msxml3: Added node_query_inerface function for common xmlnode child objects implementation. 2010-09-06 16:13:21 +02:00
Jacek Caban f5348b25af msxml3: Store outer iface as IXMLDOMNode instead of IUnknown in xmlnode. 2010-09-06 16:13:21 +02:00
Nikolay Sivov c9b8f5d2ae msxml3: Fix invalid parameter handling for IXMLDOMElement::getElementsByTagName(). 2010-09-03 16:02:31 +02:00
Nikolay Sivov 1ce8be01f2 msxml3: Fix IXMLDOMDocument::getElementsByTagName() for some special cases. 2010-09-02 11:53:26 +02:00
Nikolay Sivov 2a5b375580 msxml3: Dump namespace aliases passed with SelectionNamespaces property. 2010-08-30 11:28:54 +02:00
Nikolay Sivov 92a574b44b msxml3: Implement IXMLDOMCDATASection::splitText(). 2010-08-30 11:28:28 +02:00
Nikolay Sivov 62e521ad0d msxml3: Add IXMLDOMDocument3 stub support. 2010-08-30 11:28:17 +02:00
Paul Vriens fa8f79feb8 msxml3: Ignore a property. 2010-07-28 16:28:20 +02:00
Nikolay Sivov 331e179632 msxml3: Speed up a IPersistStreamInit::Save() by querying for BSTR length. 2010-07-19 15:16:19 +02:00
Nikolay Sivov 4edfeefa64 msxml3: Use proper pointer types for IPersistStreamInit methods. 2010-06-29 13:28:58 +02:00
Nikolay Sivov 6a07cfeb52 msxml3: Add support for IPersistStreamInit for IXMLDOMDocument. 2010-06-29 13:28:58 +02:00
Nikolay Sivov d461d7d213 msxml3: Create additional node for xml declaration. 2010-06-28 16:58:38 +02:00
Nikolay Sivov 302fb5f15a msxml3: Use vtable macros consistently, depending on pointer type. 2010-06-22 16:58:37 +02:00
Nikolay Sivov 94e88e6712 msxml3: Extend traces for inc/dec refs on libxml2 documents. 2010-06-21 16:48:21 +02:00
Nikolay Sivov c4852be28e msxml3: Don't force parser encoding when loading from file. 2010-06-21 11:47:34 +02:00
Andrew Nguyen 9f1fb46543 msxml3: Ignore the encoding attribute when loading a new XML document in IXMLDOMDocument::loadXML. 2010-06-14 15:42:19 +02:00
Nikolay Sivov 3611791117 msxml3: Avoid SysStringLen() testing for an empty string in ::createNode(). 2010-06-14 14:14:16 +02:00
Michael Stefaniuc 49c5494ff8 msxml3: Remove redundant "not NULL" check of the punk arg. 2010-05-20 13:47:52 +02:00
Nikolay Sivov 2060d80d24 msxml3: Treat input BSTR as general WCHAR string for ::loadXML(). 2010-03-15 14:18:06 +01:00
Reece Dunn 47016df9b7 msxml3/tests: Improve the IObjectSecurity tests to cover msxml3 SP8+ behaviour. 2010-03-01 14:28:54 +01:00
Nikolay Sivov b679a690b4 msxml3: Accept IObjectSafety for query from IXMLDOMDocument, fix its implementation. 2010-02-19 13:07:05 +01:00
Nikolay Sivov abe86a1ef9 msxml3: Use common format for TRACE() in DOM objects. 2010-02-17 09:42:50 +01:00
Nikolay Sivov 5262c570f1 msxml3: Accept NODE_ENTITY_REFERENCE in ::createNode() and use it for ::createEntityReference(). 2010-02-15 16:09:17 +01:00
Nikolay Sivov 20a240fe41 msxml3: Reimplement IXMLDOMDocument::createProcessingInstruction() on top of ::createNode(). 2010-02-15 16:09:11 +01:00
Nikolay Sivov f414d3cf60 msxml3: Reimplement IXMLDOMDocument::createAttribute() on top of ::createNode(). 2010-02-15 16:09:05 +01:00
Nikolay Sivov f0e885759e msxml3: Reimplement IXMLDOMDocument::createCDATASection() on top ::createNode(). 2010-02-15 16:08:59 +01:00
Nikolay Sivov ce2372667e msxml3: Fix IXMLDOMDocument::createElement(), cast from node to element isn't possible. 2010-02-15 16:08:53 +01:00
Nikolay Sivov 24e198e2ff msxml3: Reimplement IXMLDOMDocument::createTextNode() on top of ::createNode(). 2010-02-15 16:08:44 +01:00
Nikolay Sivov 035566802b msxml3: Fix IXMLDOMDocument::createDocumentFragment(), can't use IXMLDOMNode*->IXMLDOMDocumentFragment* cast. 2010-02-15 16:08:39 +01:00
Nikolay Sivov 760f7ba724 msxml3: Reimplement IXMLDOMDocument::createComment() on top of ::createNode(). 2010-02-15 16:08:29 +01:00
Nikolay Sivov ca01a44164 msxml3: Reimplement IXMLDOMDocument::createElement() over ::createNode(). 2010-02-12 14:49:11 +01:00
Nikolay Sivov f5a2f4a2b9 msxml3: Reimplement IXMLDOMDocument::createDocumentFragment() over ::createNode(). 2010-02-12 11:55:40 +01:00
Nikolay Sivov 16d83dc7d4 msxml3: Support more node types in IXMLDOMDocument_createNode(). 2010-02-12 11:55:29 +01:00
Nikolay Sivov e2b727807d msxml3: Check for Null out pointer in node creation (with tests). 2010-02-12 11:55:17 +01:00
Alexandre Julliard 627c58dcb5 msxml3: Fix building with older libxml versions. 2010-02-09 17:13:36 +01:00
Nikolay Sivov afad45fffe msxml3: Use libxml2 functionality to skip top XML declaration node while writing to file. 2010-02-08 17:14:34 +01:00
Nikolay Sivov d8a9a691e6 msxml3: Use existing helpers for heap allocations. 2010-02-04 13:39:28 +01:00
Mike Kaplinskiy 90cf2f1ac3 msxml: getElementsByTagName does not respect namespaces.
We can't just use //tagname; we have to do //*[local-name()='tagname'].
2010-01-18 14:35:49 +01:00
Jacek Caban 04eff32bbb msxml3: Store xmlnode structure instead of pointer in node implementations. 2009-10-15 12:06:17 +02:00
Jacek Caban 83e912743c msxml3: Get rid of node internal IUnknown. 2009-09-30 16:36:55 +02:00
Jacek Caban 7b30c79cfd msxml3: Moved IDispatchEx implementation from domdoc to xmlnode. 2009-08-29 17:12:57 +02:00
Jacek Caban c2b2e1ea9b msxml3: Get rid of not used aggregation support in domelement. 2009-08-24 15:17:31 +02:00
Jacek Caban 438ff138d2 msxml3: Store xmlnode object in domdoc. 2009-08-21 13:50:36 +02:00
Jacek Caban d48246e1cc msxml3: Return xmlnode object from create_basic_node. 2009-08-21 13:50:11 +02:00
Michael Stefaniuc bd87b49614 msxml3: Change long to LONG in msxml2.idl and xmldom.idl. 2009-03-10 12:06:14 +01:00
Michael Stefaniuc 6a5dda7143 msxml3: Remove superfluous pointer casts. 2009-01-26 14:31:05 +01:00
Alistair Leslie-Hughes d77acecbff msxml3: Implement IXMLDOMDocument2 IPersistStream_Save. 2009-01-22 15:28:24 +01:00
Alistair Leslie-Hughes 5bedc409d5 msxml3: IXMLDOMDocument2 async default value is VARIANT_TRUE. 2009-01-22 15:28:24 +01:00
Alistair Leslie-Hughes 421dca6a96 msxml3: Add fixme for unsupported parameter. 2009-01-14 12:40:56 +01:00
Alistair Leslie-Hughes 40fdc88efc msxml3: Add ISupportErrorInfo interface to IXMLDOMDocument. 2008-12-20 11:43:01 +01:00
Michael Karcher afb17f29e1 msxml3: attach_xmldoc may fail.
The upcoming new implementation of attach_xmldoc needs HeapAlloc. Prepare
for the failure case.
2008-12-01 14:22:12 +01:00
Michael Karcher 8b293040a3 msxml3: Remove attach_xmldoc(This, NULL) calls.
This->node should never be zero. Each IXMLDOMNode (and derived interfaces)
always represents a present libxml data object. There is no no-data
IXMLDOMNode, although there might be documents without a root element.
2008-12-01 14:22:12 +01:00
Michael Karcher 1c49bc83ae msxml3: Specialize attach_xmlnode to XML documents.
attach_xmlnode is only used to attach XML document nodes, and a cast
is needed on each call. Rename it to attach_xmldoc, change the
parameter type to move the cast at one point into the function.
2008-12-01 14:22:12 +01:00
Michael Karcher b282572ee3 msxml3: Move attach_xmlnode.c to domdoc.c. 2008-12-01 14:22:12 +01:00
Jacek Caban e7ff101996 msxml3: Update orphaned list in put_documentElement. 2008-10-17 11:44:02 +02:00
Michael Karcher 859f3bff88 msxml3: Initialize xmldoc->_private in IPersistStream::Load for IXMLDOMDocument. 2008-10-15 14:01:57 +02:00
Michael Karcher f229469de3 msxml3: Use orphan node list. 2008-10-13 11:54:06 +02:00
Michael Karcher e497ed823e msxml3: Add an orphan node list to xmlDoc. 2008-10-13 11:54:01 +02:00
Michael Karcher 0f8950d646 msxml3: Use the _private element of xmlDoc as pointer. 2008-10-13 11:53:26 +02:00
Michael Karcher 2cde9f52da msxml3: Remove unneeded code.
xmlNewDocFragment has already set xmlNode->doc, no need to do
that again.
2008-10-13 11:52:50 +02:00
Michael Karcher 91513caa16 msxml3: Handle all variant types in IXMLDOMDocument::createNode. 2008-10-07 13:42:16 +02:00
Alistair Leslie-Hughes 954cb31448 msxml3: Add IDispatchEx support to IXMLDOMDocument2. 2008-09-03 14:21:43 +02:00
Francois Gouget 4560ce24d8 msxml3: Add a '\n' to a Wine trace. 2008-09-02 13:58:33 +02:00
Alistair Leslie-Hughes 373a43f0af msxml3: Added and corrected trace string. 2008-08-18 17:15:56 +02:00
Piotr Caban 6b2e7a18ba msxml3: Generalize bsc_t implementation. 2008-07-28 11:35:02 +02:00
Zhangrong Huang 89f1bfabe3 msxml3: Add support for accessing document node. 2008-07-16 19:56:24 +02:00
Francois Gouget 6dd7f060a2 msxml3: Fix compilation on systems that don't support nameless unions. 2008-07-14 12:29:53 +02:00
Piotr Caban 4799f06f20 msxml3: Fixed typo in create_bsc. 2008-07-14 12:27:55 +02:00
Piotr Caban 616fd82062 msxml3: Skip the first XML declaration in file generated by domdoc_save.
This is the last patch needed for Photoshop CS3 installer.
2008-07-09 11:31:23 +02:00
Piotr Caban 7f84185aa4 msxml3: Split DOMDocument_create. 2008-07-09 11:31:23 +02:00
Piotr Caban 8221a65049 msxml3: Return better bindf in GetBindInfo. 2008-07-09 11:31:23 +02:00
Piotr Caban d8b22b9fb5 msxml3: Use OnDataAvailable for reading stream. 2008-07-09 11:31:23 +02:00
Piotr Caban a08962d41c msxml3: Store current bsc in domdoc. 2008-07-09 11:31:23 +02:00
Piotr Caban 56e231a4e5 msxml3: Store IBinding in bsc. 2008-07-09 11:31:22 +02:00
Piotr Caban 0f76b41809 msxml3: Make bsc heap based object. 2008-07-09 11:31:22 +02:00
Piotr Caban 223df167cb msxml3: Implemented domdoc_put_documentElement. 2008-07-09 11:31:22 +02:00
Alistair Leslie-Hughes d659e63d73 msxml3: Added support to create an Attribute in createNode. 2008-07-03 11:50:51 +02:00
Alexandre Julliard 5a849d31cf msxml3: Fix a compile error without xml headers. 2008-06-11 20:02:49 +02:00
Alistair Leslie-Hughes f4a797e90b msxml3: Implement IObjectSafety for IXMLDOMDocument2. 2008-04-29 14:58:02 +02:00
Alistair Leslie-Hughes 340f34ddf6 msxml3: Added IObjectWithSite support in IXMLDOMDocument2. 2008-04-28 14:31:10 +02:00
Alistair Leslie-Hughes 6167c6122a msxml3: Allow IXMLDOMDocument to save as another IXMLDOMDocument. 2008-03-12 12:25:19 +01:00
Alistair Leslie-Hughes e2ac47a4f1 msxml3: Implemented IDispatch for IXMLDOMDocument2. 2008-02-19 14:16:18 +01:00
Alistair Leslie-Hughes af15cfefcd msxml3: Return correct IDispatch Interface. 2008-01-22 12:00:31 +01:00
Alistair Leslie-Hughes a81d22d423 msxml3: Implement IXMLDOMEntityReference interface. 2008-01-22 11:59:54 +01:00
Alistair Leslie-Hughes c40d4997b3 msxml3: Implement IXMLDOMDocumentFragment Interface. 2008-01-21 12:36:39 +01:00
Alistair Leslie-Hughes ed5a22fb29 msxml3: Implement IXMLDOMImplementation Interface. 2008-01-18 11:56:58 +01:00
Alistair Leslie-Hughes b57a7e01d6 msxml3: Implement GetClassID for XMLDocument IPersistStream interface. 2008-01-14 15:52:53 +01:00
Alistair Leslie-Hughes b9e9e041e8 msxml3: Implemented IXMLDOMCDATASection COM Object. 2008-01-14 15:52:34 +01:00
Alistair Leslie-Hughes 3c94fb72de msxml3: Suppress IID_IRunnableObject FIXME since its not supported. 2008-01-09 13:38:03 +01:00
Alistair Leslie-Hughes f31cd30841 msxml3: createProcessingInstruction: Check arguments are valid. 2008-01-09 13:38:02 +01:00
Alistair Leslie-Hughes 300191d58c msxml3: Implement createAttribute. 2008-01-04 11:58:39 +01:00
Alistair Leslie-Hughes 2e3f5243ca msxml3: Implement createComment. 2008-01-04 11:58:16 +01:00
Alistair Leslie-Hughes 7ec06c8442 msxml3: Implement IPersistStream. 2007-12-10 14:37:11 +01:00
Alistair Leslie-Hughes 43d92f4d76 msxml: Implement createTextNode. 2007-11-21 12:55:31 +01:00
Alistair Leslie-Hughes 8de2d5290a msxml3: Return E_INVALIDARG on bad parameter. 2007-11-13 15:05:59 +01:00
Mikołaj Zalewski e1cbec75c1 msxml3: Improve the XPath queries handling. 2007-05-18 14:50:21 +02:00
Mikołaj Zalewski bf3849ad6f msxml3: Implement IXMLDOMDocument2::setProperty("SelectionLanguage", ...). 2007-05-14 14:22:08 +02:00
Huw Davies 1780ca678c msxml3: Implement {get,putref}_schemas. 2007-02-28 13:28:18 +01:00
Huw Davies 9ceb5a3ea7 msxml3: Convert the domdoc object to use the IXMLDOMDocument2 interface. 2007-02-26 17:33:45 +01:00
Hans Leidekker 78e0f23b68 msxml3: Stub out some more getters and setters of IXMLDOMDocument. 2007-02-19 12:41:51 +01:00
Francois Gouget 9c297ffed2 msxml3: Add '\n' to Wine trace. 2006-12-05 10:31:47 +01:00
Lei Zhang 6a530aba76 msxml3: Fix compiles for systems with libxml2 version 2.6.14 and below. 2006-11-30 16:35:35 +01:00
Huw Davies 459dd11f3f msxml3: Implement createElement. 2006-11-17 15:51:33 +01:00
Huw Davies 7c34694c01 msxml3: Implement createProcessingInstruction with a stub PI object. 2006-11-17 11:04:42 +01:00
Michael Stefaniuc 7ff24491d9 msxml3: Win64 printf format warning fixes. 2006-10-05 11:35:02 +02:00
Alexandre Julliard 0b8c80351a msxml3: Make some functions and variables static. 2006-08-02 13:28:36 +02:00
Huw Davies 54c85d3d04 msxml3: Always have a libxml doc associated with a domdoc object, even if the object has no nodes.
This means we don't need to add checks for NULL libxml node ptrs in our node implementation.
2006-06-27 21:14:02 +02:00
Robert Shearman e072d7a0a3 msxml: Text nodes with just whitespace should be stripped. 2006-06-14 13:36:07 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Huw Davies cce65b70b7 msxml3: Improve parse error handling a bit. 2006-02-21 19:48:44 +01:00
Huw Davies 7ee50b699d msxml3: Use url monikers to load xml. 2006-02-21 19:48:30 +01:00