1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
--- a/src/dom-api/impl/XPathDocumentImpl.cpp 2017-09-03 19:24:35 UTC
+++ b/src/dom-api/impl/XPathDocumentImpl.cpp
@@ -62,7 +62,11 @@ DOMNode *XPathDocumentImpl::insertBefore
if (thisNodeImpl->isReadOnly())
throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR, 0, getMemoryManager());
+#if _XERCES_VERSION >= 30200
+ DOMNode* thisNode = fParent.fContainingNode;
+#else
DOMNode* thisNode = castToNode(&fParent);
+#endif
if (newChild->getOwnerDocument() != thisNode)
throw DOMException(DOMException::WRONG_DOCUMENT_ERR, 0, getMemoryManager());
--- a/src/dom-api/impl/XPathNamespaceImpl.cpp 2017-09-03 20:26:37 UTC
+++ b/src/dom-api/impl/XPathNamespaceImpl.cpp
@@ -33,7 +33,11 @@ XERCES_CPP_NAMESPACE_USE;
XPathNamespaceImpl::XPathNamespaceImpl(const XMLCh* const nsPrefix,
const XMLCh* const nsUri, DOMElement *owner, DOMDocument *docOwner)
+#if _XERCES_VERSION >= 30200
+ : fNode(this, docOwner)
+#else
: fNode(docOwner)
+#endif
{
DOMNodeImpl *argImpl = castToNodeImpl(this);
@@ -54,7 +58,13 @@ XPathNamespaceImpl::XPathNamespaceImpl(c
}
XPathNamespaceImpl::XPathNamespaceImpl(const XPathNamespaceImpl &other)
- : fNode(other.fNode), uri(other.uri), prefix(other.prefix)
+#if _XERCES_VERSION >= 30200
+ : fNode(this, other.fNode),
+#else
+ : fNode(other.fNode),
+
+#endif
+ uri(other.uri), prefix(other.prefix)
{
}
@@ -196,7 +206,11 @@ short XPathNamespaceImpl::com
//if it is a custom node and bigger than us we must ask it for the order
if(otherType > DOMXPathNamespace::XPATH_NAMESPACE_NODE) {
+#if _XERCES_VERSION >= 30200
+ DOMNodeImpl tmp(const_cast<XPathNamespaceImpl *>(this), 0);
+#else
DOMNodeImpl tmp(0);
+#endif
#if _XERCES_VERSION >= 30000
return tmp.reverseTreeOrderBitPattern(other->compareDocumentPosition(this));
#else
|