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