Commit Graph

760 Commits

Author SHA1 Message Date
Nikolay Sivov 8630368afb msxml3: Callback only if state really changed. 2010-10-08 11:56:45 +02:00
Nikolay Sivov e1ca5965b8 msxml3: Implement ::abort(). 2010-10-08 11:56:45 +02:00
Nikolay Sivov 25dc6c7c9e msxml: Register XMLHTTP objects. 2010-10-08 11:56:45 +02:00
Nikolay Sivov eebf331e89 msxml3: Implement ::get_responseText() for UTF-8 and UTF-16 (little endian) response encoding. 2010-10-07 12:00:27 +02:00
Nikolay Sivov 62656c57bf msxml3: Store response data in a stream. 2010-10-07 12:00:27 +02:00
Nikolay Sivov 58bce9422e msxml3: Implement ready state change callback. 2010-10-06 14:41:03 +02:00
Nikolay Sivov 7ff3446be5 msxml3: Accept versioned XMLHTTP CLSIDs. 2010-10-06 14:41:03 +02:00
Nikolay Sivov 59c5bd2956 msxml3: Don't fail trying to set NewParser property. 2010-10-06 14:41:03 +02:00
Nikolay Sivov 7e7b2a3f82 msxml3: Implemented ::get_status(). 2010-10-05 13:05:14 +02:00
Nikolay Sivov 1441dc9400 msxml3: Silence more failed urlmon interface queries. 2010-10-05 13:05:08 +02:00
Nikolay Sivov b36fe07a4d msxml3: Store user defined request headers on transaction beginning. 2010-10-05 13:05: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 6e6375344b msxml3/tests: Tests for 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
Gerald Pfeifer 632a6c7904 msxml3: Use the existing READYSTATE type instead of creating our own enum READYSTATE (and mixing the two). 2010-10-04 14:59:59 +02:00
Nikolay Sivov d69a7165be msxml3: Add basic bind callback for moniker binding. 2010-10-04 14:52:12 +02:00
Adam Martinson 49fa9de580 msxml3: Implement preserveWhiteSpace property. 2010-10-01 14:21:26 +02:00
Alexandre Julliard 7afdf5d920 Make some variable declarations extern. 2010-10-01 13:42:22 +02:00
Alexandre Julliard 730f01801f tests: Make some variables static. 2010-10-01 13:41:42 +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
Nikolay Sivov 1ac256a588 msxml3/httprequest: Implement IXMLHttpRequest::setRequestHeader(). 2010-09-29 11:25:01 +02:00
Nikolay Sivov 2a85bc0367 msxml3/httprequest: Store passed data for IXMLHttpRequest::open(). 2010-09-29 11:24:44 +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
Adam Martinson c515d384ef msxml3/tests: Prevent a double-free in test_get_ownerDocument(). 2010-09-28 17:33:17 +02:00
Nikolay Sivov 5a91bea3b2 msxml3/tests: Fix locale dependent string comparison. 2010-09-20 13:48:12 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Nikolay Sivov af4377f86a msxml3/tests: Store test data as a table for ::nodeTypedValue() tests. 2010-09-18 13:03:51 +02:00
Nikolay Sivov f2ed4de962 msxml3: Remove some useless initializers. 2010-09-18 13:03:44 +02:00
Nikolay Sivov 893e8a46b2 msxml3: Store selected query language in backend document instance. 2010-09-18 13:03:33 +02:00
Nikolay Sivov a930084d86 msxml3: Fix ::selectSingleNode() behaviour on invalid arguments. 2010-09-18 13:03:26 +02:00
Nikolay Sivov e5cd19a4cb msxml3/tests: Don't raise a test error on first try to create a document. 2010-09-16 10:10:37 -05:00
Andrew Nguyen c858e583cd msxml3: Correct the prototype of DOMDocument_create when compiling without libxml2. 2010-09-15 11:29:03 -05:00
Paul Vriens 14316fc17f msxml3/tests: Step to the next item on failure as well. 2010-09-15 10:34:45 -05:00
Nikolay Sivov 9c951e7520 msxml3: Properly set default value for SelectionLanguage property. 2010-09-14 09:42:56 -05:00
Nikolay Sivov 4e94abd710 msxml3: Fix IXMLDOMNode::get_namespaceURI() for empty URIs. 2010-09-14 09:42:43 -05:00
Nikolay Sivov 154c0828bf msxml3: Fix IXMLDOMNode::get_prefix() for empty prefix. 2010-09-14 09:42:36 -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
Alistair Leslie-Hughes 5e5cd71ff1 msxml: Added support to create msxml4/6 interfaces. 2010-09-13 10:31:49 -05:00
Joris Huizer 33042ed137 msxml3/tests: Add lastChild tests. 2010-09-09 14:58:23 +02: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
Nikolay Sivov 398e649414 msxml3/tests: Basic test for ::setAttributeNode(). 2010-09-07 11:31:50 +02:00
Nikolay Sivov 97e78d9a0e msxml3/tests: Some tests for ::get_ownerDocument() returned document instance. 2010-09-07 11:31:45 +02:00
Nikolay Sivov 0adfd6cf4c msxml3/domdoc: Implement IXMLDOMNamedNodeMap::removeQualifiedItem(). 2010-09-07 11:31:39 +02:00
Nikolay Sivov e7bfb98e60 msxml3/tests: Add a helper to create document instance, remove useless output. 2010-09-07 11:30:18 +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 8a82ae668a msxml3: Use get_node_obj to get xmlnode from iface in replaceChild implementation. 2010-09-06 16:13:22 +02:00
Jacek Caban 4f61cd2840 msxml3: Use separate object for unknown node type implementation. 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
Alexandre Goujon 8aa6ed97c8 msxml3/tests: Be more verbose when get_text fails. 2010-09-03 16:02:31 +02:00
Nikolay Sivov 0330332aef msxml3: Implement IXMLDOMNamedNodeMap::getQualifiedItem(). 2010-09-03 16:02:31 +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 fd35084294 msxml3: Silence FIXME for supported properties. 2010-08-30 11:28:46 +02:00
Nikolay Sivov 42020c9419 msxml3: Allow FreeThreadedDOMDocument40 to be created. 2010-08-30 11:28:41 +02:00
Nikolay Sivov a0e7b3b93a msxml3/tests: Tests for IXMLDOMText::splitText(), stub is extended a bit. 2010-08-30 11:28:36 +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
Nikolay Sivov 25bce451af msxml6: Add stub msxml6, forward DOMDocument60 creation to msxml3. 2010-08-30 11:27:52 +02:00
Francois Gouget 2dbe80bb7e msxml3: Make parse_xml() static. 2010-08-26 13:44:44 +02:00
Paul Vriens fa8f79feb8 msxml3: Ignore a property. 2010-07-28 16:28:20 +02:00
Michael Stefaniuc ea1d37c568 msxml3: Remove the ignored common resource attributes. 2010-07-22 11:41:37 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Nikolay Sivov 331e179632 msxml3: Speed up a IPersistStreamInit::Save() by querying for BSTR length. 2010-07-19 15:16:19 +02:00
Piotr Caban 7a22365674 msxml3: Improve bstr_from_xmlCharN implementation. 2010-07-19 14:38:15 +02:00
Piotr Caban bf263947e7 msxml3: Improve QName_from_xmlChar implementation. 2010-07-19 14:38:15 +02:00
Piotr Caban 3bf94bed3f msxml3: Correctly allocate namespaces stack in saxreader. 2010-07-19 14:38:15 +02:00
Andrey Turkin 1339267ee8 msxml3: Add test to highlight another difference between XSLPattern and XPath. 2010-07-05 13:24:35 +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
Piotr Caban a42a0917cd msxml3: Fix illegal memory access. 2010-06-28 11:43:10 +02:00
Nikolay Sivov 89a00ec3ac msxml3/tests: A test to show difference in XPath and XSLPattern for node position. 2010-06-24 10:30:45 +02:00
Nikolay Sivov 16e465c7ae msxml3: Don't free namespace data tracked in a tree.
Fixes regression from ea9a6a4b4e.
2010-06-23 10:34:46 +02:00
Nikolay Sivov 15720f8141 msxml3: Accept CLSID_FreeThreadedDOMDocument30 in class factory. 2010-06-23 10:34:36 +02:00
Nikolay Sivov d24d007fa5 msxml3: Silence a warning in ::get_baseName() for document nodes. 2010-06-23 10:34:28 +02:00
Nikolay Sivov 302fb5f15a msxml3: Use vtable macros consistently, depending on pointer type. 2010-06-22 16:58:37 +02:00
Nikolay Sivov ea9a6a4b4e msxml3: Properly free namespace structure pointer. 2010-06-22 11:22:35 +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 473c5c4cc0 msxml3: Don't crash on null pointer when doing ::Next() on a last child. 2010-06-21 12:25:44 +02:00
Nikolay Sivov b00046ccc4 msxml3: Support xml:lang attribute in IXMLElement::getAttribute(). 2010-06-21 12:25:31 +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 6002cb06fb msxml3/tests: Correct the sense of a few test failure messages. 2010-06-14 15:42:21 +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
Andrew Nguyen 341f878cbc msxml3: Add proper skips when msxml3 DOM interfaces are unavailable. 2010-06-14 15:42:16 +02:00
Nikolay Sivov bc3337f86f msxml3: Use defined macros to access internal XPath structures. 2010-06-14 14:14:16 +02:00
Nikolay Sivov 3611791117 msxml3: Avoid SysStringLen() testing for an empty string in ::createNode(). 2010-06-14 14:14:16 +02:00