Commit Graph

159 Commits

Author SHA1 Message Date
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