msxml3: Implement domtext dt-related functions.
These should always be handled by the parent node.
This commit is contained in:
parent
643cbafabc
commit
6f537c4df1
|
@ -852,7 +852,7 @@ static HRESULT WINAPI xmlnode_get_nodeTypedValue(
|
||||||
|
|
||||||
V_VT(typedValue) = VT_NULL;
|
V_VT(typedValue) = VT_NULL;
|
||||||
|
|
||||||
if (This->node->type == XML_TEXT_NODE || This->node->type == XML_ENTITY_REF_NODE)
|
if (This->node->type == XML_ENTITY_REF_NODE)
|
||||||
{
|
{
|
||||||
VariantInit(&type);
|
VariantInit(&type);
|
||||||
hres = IXMLDOMNode_get_dataType(This->iface, &type);
|
hres = IXMLDOMNode_get_dataType(This->iface, &type);
|
||||||
|
|
|
@ -435,7 +435,29 @@ static HRESULT WINAPI domtext_get_nodeTypedValue(
|
||||||
VARIANT* var1)
|
VARIANT* var1)
|
||||||
{
|
{
|
||||||
domtext *This = impl_from_IXMLDOMText( iface );
|
domtext *This = impl_from_IXMLDOMText( iface );
|
||||||
return IXMLDOMNode_get_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
IXMLDOMNode* parent = NULL;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE("(%p)->(%p)\n", This, var1);
|
||||||
|
|
||||||
|
if (!var1)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
hr = domtext_get_parentNode(iface, &parent);
|
||||||
|
|
||||||
|
if (hr == S_OK)
|
||||||
|
{
|
||||||
|
hr = IXMLDOMNode_get_nodeTypedValue(parent, var1);
|
||||||
|
IXMLDOMNode_Release(parent);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
V_VT(var1) = VT_NULL;
|
||||||
|
V_BSTR(var1) = NULL;
|
||||||
|
hr = S_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI domtext_put_nodeTypedValue(
|
static HRESULT WINAPI domtext_put_nodeTypedValue(
|
||||||
|
@ -443,24 +465,82 @@ static HRESULT WINAPI domtext_put_nodeTypedValue(
|
||||||
VARIANT var1)
|
VARIANT var1)
|
||||||
{
|
{
|
||||||
domtext *This = impl_from_IXMLDOMText( iface );
|
domtext *This = impl_from_IXMLDOMText( iface );
|
||||||
return IXMLDOMNode_put_nodeTypedValue( IXMLDOMNode_from_impl(&This->node), var1 );
|
IXMLDOMNode* parent = NULL;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE("(%p)->(VARIANT)\n", This);
|
||||||
|
|
||||||
|
hr = domtext_get_parentNode(iface, &parent);
|
||||||
|
|
||||||
|
if (hr == S_OK)
|
||||||
|
{
|
||||||
|
hr = IXMLDOMNode_put_nodeTypedValue(parent, var1);
|
||||||
|
IXMLDOMNode_Release(parent);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hr = S_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI domtext_get_dataType(
|
static HRESULT WINAPI domtext_get_dataType(
|
||||||
IXMLDOMText *iface,
|
IXMLDOMText *iface,
|
||||||
VARIANT* typename)
|
VARIANT* dtName)
|
||||||
{
|
{
|
||||||
domtext *This = impl_from_IXMLDOMText( iface );
|
domtext *This = impl_from_IXMLDOMText( iface );
|
||||||
TRACE("(%p)->(%p)\n", This, typename);
|
IXMLDOMNode* parent = NULL;
|
||||||
return return_null_var( typename );
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE("(%p)->(%p)\n", This, dtName);
|
||||||
|
|
||||||
|
if (!dtName)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
hr = domtext_get_parentNode(iface, &parent);
|
||||||
|
|
||||||
|
if (hr == S_OK)
|
||||||
|
{
|
||||||
|
hr = IXMLDOMNode_get_dataType(parent, dtName);
|
||||||
|
IXMLDOMNode_Release(parent);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
V_VT(dtName) = VT_NULL;
|
||||||
|
V_BSTR(dtName) = NULL;
|
||||||
|
hr = S_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI domtext_put_dataType(
|
static HRESULT WINAPI domtext_put_dataType(
|
||||||
IXMLDOMText *iface,
|
IXMLDOMText *iface,
|
||||||
BSTR p)
|
BSTR dtName)
|
||||||
{
|
{
|
||||||
domtext *This = impl_from_IXMLDOMText( iface );
|
domtext *This = impl_from_IXMLDOMText( iface );
|
||||||
return IXMLDOMNode_put_dataType( IXMLDOMNode_from_impl(&This->node), p );
|
IXMLDOMNode* parent = NULL;
|
||||||
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE("(%p)->(%p)\n", This, dtName);
|
||||||
|
|
||||||
|
if (!dtName)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
|
hr = domtext_get_parentNode(iface, &parent);
|
||||||
|
|
||||||
|
if (hr == S_OK)
|
||||||
|
{
|
||||||
|
hr = IXMLDOMNode_put_dataType(parent, dtName);
|
||||||
|
IXMLDOMNode_Release(parent);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hr = S_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI domtext_get_xml(
|
static HRESULT WINAPI domtext_get_xml(
|
||||||
|
|
Loading…
Reference in New Issue