Commit Graph

245 Commits

Author SHA1 Message Date
Jacek Caban 510567d98a msxml3: Get rid of xmlnode_transformNodeToObject. 2011-01-06 18:39:05 +01:00
Jacek Caban 9a16f796f2 msxml3: Don't forward put_nodeTypedValue and put_dataType calls to node IXMLDOMNode iface. 2010-12-30 15:02:27 +01:00
Francois Gouget f10c16072e msxml3: Add a trailing '\n' to an ERR() call. 2010-12-03 16:08:29 +01:00
Adam Martinson a4b0152c27 msxml3/domdoc: Add a ref to the schema cache in copy_properties(). 2010-12-01 11:09:38 +01:00
Adam Martinson 459c29ba34 msxml3: Store the DOMDocument/XMLSchemaCache object version. 2010-11-25 11:49:08 +01:00
Adam Martinson 54d949fbe8 msxml3: Fix a few error messages. 2010-11-25 11:49:07 +01:00
Adam Martinson f3678ec193 msxml3: Fix domdoc_getElementsByTagName()/domelem_getElementsByTagName(). 2010-11-24 12:03:06 +01:00
Adam Martinson b7cdaba817 msxml3: Move schema cache into the domdoc_properties struct. 2010-11-16 11:48:55 +01:00
Nikolay Sivov 9ec17a841d msxml3: Fix a ::get_xml() for libxml2 without xmlSaveToBuffer. 2010-11-12 11:39:20 +01:00
Nikolay Sivov ec1ab037c8 msxml3: Trace DOM document reference counts. 2010-11-09 11:44:56 +01:00
Nikolay Sivov 99e3873f30 msxml3: Fix duplicated declarations after document ::get_xml(). 2010-11-09 11:44:50 +01:00
Jacek Caban 8036509c09 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_nodeTypeString implementations. 2010-11-08 11:56:13 +01:00
Nikolay Sivov a353a91f32 msxml3: For tested cases use TRACE instead of FIXME. 2010-11-05 11:25:08 +01:00
Adam Martinson e95122162a msxml3: Move the whitespace preservation bool into the domdoc_properties struct. 2010-11-04 11:56:26 +01:00
Adam Martinson c367215bbc msxml3: Implement domdoc schema validation. 2010-11-03 14:44:50 +01:00
Nikolay Sivov 1e998bfc3f msxml3: Get rid of ::get_baseName() forward. 2010-11-01 12:39:21 +01:00
Nikolay Sivov 6556ad57f3 msxml3: Get rid of ::get_prefix() forward. 2010-11-01 12:39:15 +01:00
Nikolay Sivov 936d4cf911 msxml3: Get rid of ::cloneNode() forward. 2010-11-01 12:39:09 +01:00
Jacek Caban 6241b9d652 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_xml implementations. 2010-10-29 16:31:42 +02:00
Adam Martinson fec2199f4f msxml3: libxml2 error/warning callback functions. 2010-10-28 12:17:02 +02:00
Nikolay Sivov adfd305821 msxml3: Handle passed BSTR argument as a WCHAR string in ::createProcessingInstruction(). 2010-10-26 13:01:41 +02:00
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