msxml3: Implement get_nodeTypeValue() for attributes without a type.

This commit is contained in:
Nikolay Sivov 2011-11-05 13:42:41 +03:00 committed by Alexandre Julliard
parent 2e5f73e4d7
commit dd9a2effd5
1 changed files with 32 additions and 3 deletions

View File

@ -448,11 +448,40 @@ static HRESULT WINAPI domattr_get_definition(
static HRESULT WINAPI domattr_get_nodeTypedValue( static HRESULT WINAPI domattr_get_nodeTypedValue(
IXMLDOMAttribute *iface, IXMLDOMAttribute *iface,
VARIANT* var1) VARIANT* value)
{ {
domattr *This = impl_from_IXMLDOMAttribute( iface ); domattr *This = impl_from_IXMLDOMAttribute( iface );
FIXME("(%p)->(%p)\n", This, var1); IXMLDOMDocument *doc;
return return_null_var(var1); HRESULT hr;
TRACE("(%p)->(%p)\n", This, value);
hr = IXMLDOMAttribute_get_ownerDocument(iface, &doc);
if (hr == S_OK)
{
IXMLDOMDocument2 *doc2;
hr = IXMLDOMDocument_QueryInterface(doc, &IID_IXMLDOMDocument2, (void**)&doc2);
IXMLDOMDocument_Release(doc);
if (hr == S_OK)
{
VARIANT schemas;
hr = IXMLDOMDocument2_get_schemas(doc2, &schemas);
IXMLDOMDocument2_Release(doc2);
if (hr != S_OK)
return IXMLDOMAttribute_get_value(iface, value);
else
{
FIXME("need to query schema for attribute type\n");
VariantClear(&schemas);
}
}
}
return return_null_var(value);
} }
static HRESULT WINAPI domattr_put_nodeTypedValue( static HRESULT WINAPI domattr_put_nodeTypedValue(