msxml3: Make element_get_dt() static and move it around to avoid a forward declaration.
This commit is contained in:
parent
60b63fea4e
commit
11d1ff154f
|
@ -671,6 +671,52 @@ static inline HRESULT VARIANT_from_DT(XDR_DT dt, xmlChar* str, VARIANT* v)
|
|||
return hr;
|
||||
}
|
||||
|
||||
static XDR_DT element_get_dt(xmlNodePtr node)
|
||||
{
|
||||
XDR_DT dt = DT_INVALID;
|
||||
|
||||
TRACE("(%p)\n", node);
|
||||
if(node->type != XML_ELEMENT_NODE)
|
||||
{
|
||||
FIXME("invalid element node\n");
|
||||
return dt;
|
||||
}
|
||||
|
||||
if (node->ns && xmlStrEqual(node->ns->href, DT_nsURI))
|
||||
{
|
||||
dt = str_to_dt(node->name, -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
xmlChar* pVal = xmlGetNsProp(node, BAD_CAST "dt", DT_nsURI);
|
||||
if (pVal)
|
||||
{
|
||||
dt = str_to_dt(pVal, -1);
|
||||
xmlFree(pVal);
|
||||
}
|
||||
else if (node->doc)
|
||||
{
|
||||
IXMLDOMDocument3* doc = (IXMLDOMDocument3*)create_domdoc((xmlNodePtr)node->doc);
|
||||
if (doc)
|
||||
{
|
||||
VARIANT v;
|
||||
VariantInit(&v);
|
||||
|
||||
if (IXMLDOMDocument3_get_schemas(doc, &v) == S_OK &&
|
||||
V_VT(&v) == VT_DISPATCH)
|
||||
{
|
||||
dt = SchemaCache_get_node_dt((IXMLDOMSchemaCollection2*)V_DISPATCH(&v), node);
|
||||
}
|
||||
VariantClear(&v);
|
||||
IXMLDOMDocument3_Release(doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TRACE("=> dt:%s\n", dt_to_str(dt));
|
||||
return dt;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI domelem_get_nodeTypedValue(
|
||||
IXMLDOMElement *iface,
|
||||
VARIANT* var1)
|
||||
|
@ -730,52 +776,6 @@ static HRESULT WINAPI domelem_put_nodeTypedValue(
|
|||
return hr;
|
||||
}
|
||||
|
||||
XDR_DT element_get_dt(xmlNodePtr node)
|
||||
{
|
||||
XDR_DT dt = DT_INVALID;
|
||||
|
||||
TRACE("(%p)\n", node);
|
||||
if(node->type != XML_ELEMENT_NODE)
|
||||
{
|
||||
FIXME("invalid element node\n");
|
||||
return dt;
|
||||
}
|
||||
|
||||
if (node->ns && xmlStrEqual(node->ns->href, DT_nsURI))
|
||||
{
|
||||
dt = str_to_dt(node->name, -1);
|
||||
}
|
||||
else
|
||||
{
|
||||
xmlChar* pVal = xmlGetNsProp(node, BAD_CAST "dt", DT_nsURI);
|
||||
if (pVal)
|
||||
{
|
||||
dt = str_to_dt(pVal, -1);
|
||||
xmlFree(pVal);
|
||||
}
|
||||
else if (node->doc)
|
||||
{
|
||||
IXMLDOMDocument3* doc = (IXMLDOMDocument3*)create_domdoc((xmlNodePtr)node->doc);
|
||||
if (doc)
|
||||
{
|
||||
VARIANT v;
|
||||
VariantInit(&v);
|
||||
|
||||
if (IXMLDOMDocument3_get_schemas(doc, &v) == S_OK &&
|
||||
V_VT(&v) == VT_DISPATCH)
|
||||
{
|
||||
dt = SchemaCache_get_node_dt((IXMLDOMSchemaCollection2*)V_DISPATCH(&v), node);
|
||||
}
|
||||
VariantClear(&v);
|
||||
IXMLDOMDocument3_Release(doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TRACE("=> dt:%s\n", dt_to_str(dt));
|
||||
return dt;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI domelem_get_dataType(
|
||||
IXMLDOMElement *iface,
|
||||
VARIANT* typename)
|
||||
|
|
|
@ -317,7 +317,6 @@ extern XDR_DT str_to_dt(xmlChar const* str, int len /* calculated if -1 */);
|
|||
extern XDR_DT bstr_to_dt(OLECHAR const* bstr, int len /* calculated if -1 */);
|
||||
extern xmlChar const* dt_to_str(XDR_DT dt);
|
||||
extern OLECHAR const* dt_to_bstr(XDR_DT dt);
|
||||
extern XDR_DT element_get_dt(xmlNodePtr node);
|
||||
extern HRESULT dt_validate(XDR_DT dt, xmlChar const* content);
|
||||
|
||||
extern BSTR EnsureCorrectEOL(BSTR);
|
||||
|
|
Loading…
Reference in New Issue