33# ifdef HAVE_LIBXSLT_PATTERN_H
36# ifdef HAVE_LIBXSLT_TRANSFORM_H
63extern void* libxslt_handle;
64# define MAKE_FUNCPTR(f) extern typeof(f) * p##f
80static const IID IID_xmlnode = {0x4f2f4ba2,0xb822,0x11df,{0x8b,0x8a,0x68,0x50,0xdf,0xd7,0x20,0x85}};
129 ISupportErrorInfo_AddRef(iface);
182HRESULT node_create_supporterrorinfo(
enum tid_t const *iids,
void **
obj)
184 SupportErrorInfo *
This;
193 *
obj = &
This->ISupportErrorInfo_iface;
203 hres = IXMLDOMNode_QueryInterface(
node, &IID_xmlnode, (
void**)&
obj);
204 if (!
obj)
WARN(
"node is not our IXMLDOMNode implementation\n");
219 hr = node_get_prefix(
This, &prefix);
222 static const WCHAR colW =
':';
306 WARN(
"Couldn't convert to VT_BSTR\n");
330 WARN(
"Couldn't convert to VT_BSTR\n");
334 hr = node_set_content_escaped(
This,
V_BSTR(&string_value));
374 *
ret = create_children_nodelist(
This->node);
429int xmlnode_get_inst_cnt(xmlnode *
node)
431 return node_get_inst_cnt(
node->node);
461 if(!node_obj)
return E_FAIL;
463 switch(
V_VT(ref_child))
473 hr = IUnknown_QueryInterface(
V_UNKNOWN(ref_child), &IID_IXMLDOMNode, (
void**)&
before);
479 FIXME(
"refChild var type %x\n",
V_VT(ref_child));
483 TRACE(
"new child %p, This->node %p\n", node_obj->node,
This->node);
485 if(!node_obj->node->parent)
486 if(xmldoc_remove_orphan(node_obj->node->doc, node_obj->node) !=
S_OK)
487 WARN(
"%p is not an orphan of %p\n", node_obj->node, node_obj->node->doc);
489 refcount = xmlnode_get_inst_cnt(node_obj);
494 IXMLDOMNode_Release(
before);
495 if(!before_node_obj)
return E_FAIL;
501 hr = IXMLDOMNode_removeChild(node_obj->parent, node_obj->iface,
NULL);
502 if (
hr ==
S_OK) xmldoc_remove_orphan(node_obj->node->doc, node_obj->node);
504 doc = node_obj->node->
doc;
512 if (doc != before_node_obj->node->doc)
513 refcount = xmlnode_get_inst_cnt(node_obj);
515 if (refcount) xmldoc_add_refs(before_node_obj->node->doc, refcount);
516 new_node = xmlAddPrevSibling(before_node_obj->node, node_obj->node);
517 if (new_node != node_obj->node)
520 FIXME(
"referenced xmlNode was freed, expect crashes\n");
521 xmlnode_add_ref(new_node);
522 node_obj->node = new_node;
524 if (refcount) xmldoc_release_refs(doc, refcount);
525 node_obj->parent =
This->parent;
531 if (doc !=
This->node->doc)
532 refcount = xmlnode_get_inst_cnt(node_obj);
534 if (refcount) xmldoc_add_refs(
This->node->doc, refcount);
538 if (new_node != node_obj->node)
541 FIXME(
"referenced xmlNode was freed, expect crashes\n");
542 xmlnode_add_ref(new_node);
543 node_obj->node = new_node;
545 if (refcount) xmldoc_release_refs(doc, refcount);
546 node_obj->parent =
This->iface;
551 IXMLDOMNode_AddRef(new_child);
562 xmlnode *old_child, *new_child;
569 if(!newChild || !oldChild)
576 if(!old_child)
return E_FAIL;
578 if(old_child->node->parent !=
This->node)
580 WARN(
"childNode %p is not a child of %p\n", oldChild,
This);
585 if(!new_child)
return E_FAIL;
587 my_ancestor =
This->node;
590 if(my_ancestor == new_child->node)
592 WARN(
"tried to create loop\n");
595 my_ancestor = my_ancestor->
parent;
598 if(!new_child->node->parent)
599 if(xmldoc_remove_orphan(new_child->node->doc, new_child->node) !=
S_OK)
600 WARN(
"%p is not an orphan of %p\n", new_child->node, new_child->node->doc);
602 leaving_doc = new_child->node->
doc;
604 if (leaving_doc != old_child->node->doc)
605 refcount = xmlnode_get_inst_cnt(new_child);
607 if (refcount) xmldoc_add_refs(old_child->node->doc, refcount);
608 xmlReplaceNode(old_child->node, new_child->node);
609 if (refcount) xmldoc_release_refs(leaving_doc, refcount);
610 new_child->parent = old_child->parent;
611 old_child->parent =
NULL;
613 xmldoc_add_orphan(old_child->node->doc, old_child->node);
617 IXMLDOMNode_AddRef(oldChild);
634 if(!child_node)
return E_FAIL;
636 if(child_node->node->parent !=
This->node)
643 child_node->parent =
NULL;
644 xmldoc_add_orphan(child_node->node->doc, child_node->node);
648 IXMLDOMNode_AddRef(
child);
666 if (outChild) *outChild =
NULL;
671 return IXMLDOMNode_insertBefore(
This->iface,
child,
var, outChild);
678 if (!
This->node->children)
680 *
ret = VARIANT_FALSE;
692 return get_domdoc_from_xmldoc(
This->node->doc, (IXMLDOMDocument3**)doc);
706 xmldoc_add_orphan(clone->
doc, clone);
711 ERR(
"Copy failed\n");
712 xmldoc_remove_orphan(clone->
doc, clone);
721 ERR(
"Copy failed\n");
732 BOOL preserving = is_preserving_whitespace(
node);
751 *trail_ig_ws =
FALSE;
758 DWORD node_first, node_last;
760 tmp = do_get_text(
child,
FALSE, &node_first, &node_last, trail_ig_ws);
762 if (node_first!=-1 &&
pos+node_first<*
first)
764 if (node_last &&
pos+node_last>*
last)
770 if (!preserving && tmp[0])
774 for (beg = tmp; *beg; beg++)
817 ig_ws = *trail_ig_ws;
818 *trail_ig_ws =
FALSE;
821 *trail_ig_ws = ig_ws;
832 if (
trim && !preserving)
841 if (*
last) (*last)--;
889 str = xmlchar_from_wchar(
text);
910 for(
i=0;
i < nLen;
i++)
912 if(sInput[
i] ==
'\n')
916 TRACE(
"len=%d, num=%d\n", nLen, nNum);
923 for(
i=0;
i < nLen;
i++)
925 if(sInput[
i] ==
'\n')
927 sNew[
i+nPlace] =
'\r';
930 sNew[
i+nPlace] = sInput[
i];
967 xmldecl = xmldoc_unlink_xmldecl(
This->node->doc );
969 size = xmlNodeDump(xml_buf,
This->node->doc,
This->node, 0, 1);
977 content = bstr_from_xmlChar(buf_content + (buf_content[0] ==
' ' ? 1 : 0));
987 xmldoc_link_xmldecl(
This->node->doc, xmldecl );
1002 xmlOutputBufferWrite(
buf, 1,
"\"");
1011 xmlOutputBufferWrite(
buf, 6,
""");
1020 xmlOutputBufferWrite(
buf, 1,
"\"");
1024 xmlOutputBufferWrite(
buf, 1,
"\'");
1025 xmlOutputBufferWriteString(
buf, (
const char*)
string);
1026 xmlOutputBufferWrite(
buf, 1,
"\'");
1031 xmlOutputBufferWrite(
buf, 1,
"\"");
1032 xmlOutputBufferWriteString(
buf, (
const char*)
string);
1033 xmlOutputBufferWrite(
buf, 1,
"\"");
1041 return hr ==
S_OK ? written : -1;
1051 xmlOutputBufferWriteString(output, (
const char*)
cur->content);
1087#undef XSLT_GET_IMPORT_PTR
1088#define XSLT_GET_IMPORT_PTR(res, style, name) { \
1089 xsltStylesheetPtr st = style; \
1091 while (st != NULL) { \
1092 if (st->name != NULL) { res = st->name; break; } \
1093 st = pxsltNextImport(st); \
1096#undef XSLT_GET_IMPORT_INT
1097#define XSLT_GET_IMPORT_INT(res, style, name) { \
1098 xsltStylesheetPtr st = style; \
1100 while (st != NULL) { \
1101 if (st->name != -1) { res = st->name; break; } \
1102 st = pxsltNextImport(st); \
1107 int omit_xmldecl, standalone;
1110 if (omit_xmldecl == 1)
return;
1114 xmlOutputBufferWriteString(output,
"<?xml version=");
1117 xmlOutputBufferWriteString(output,
"\"");
1118 xmlOutputBufferWriteString(output, (
const char *)
result->version);
1119 xmlOutputBufferWriteString(output,
"\"");
1122 xmlOutputBufferWriteString(output,
"\"1.0\"");
1130 xmlOutputBufferWriteString(output,
" encoding=");
1131 xmlOutputBufferWriteString(output,
"\"");
1132 xmlOutputBufferWriteString(output,
encoding ? (
const char *)
encoding :
"UTF-16");
1133 xmlOutputBufferWriteString(output,
"\"");
1137 if (standalone != -1)
1138 xmlOutputBufferWriteString(output, standalone == 0 ?
" standalone=\"no\"" :
" standalone=\"yes\"");
1140 xmlOutputBufferWriteString(output,
"?>");
1147 xmlOutputBufferWriteString(
buf,
"<!DOCTYPE ");
1148 xmlOutputBufferWriteString(
buf, (
const char *)
cur->name);
1149 if (
cur->ExternalID)
1151 xmlOutputBufferWriteString(
buf,
" PUBLIC ");
1152 xml_write_quotedstring(
buf,
cur->ExternalID);
1155 xmlOutputBufferWriteString(
buf,
" ");
1156 xml_write_quotedstring(
buf,
cur->SystemID);
1159 else if (
cur->SystemID)
1161 xmlOutputBufferWriteString(
buf,
" SYSTEM ");
1162 xml_write_quotedstring(
buf,
cur->SystemID);
1164 xmlOutputBufferWriteString(
buf,
">\n");
1176 htmldtd_dumpcontent(
buf, doc);
1203 if (!transform_is_valid_method(
style))
1205 ERR(
"unknown output method\n");
1231 transform_write_xmldecl(
result,
style, omit_encoding, output);
1241 xmlOutputBufferWriteString(output,
"\r\n");
1247 xmlOutputBufferFlush(output);
1256 if (transform_is_empty_resultdoc(
result))
1269#ifdef LIBXML2_NEW_BUFFER
1279 xmlOutputBufferClose(output);
1292 if (transform_is_empty_resultdoc(
result))
1294 WARN(
"empty result document\n");
1300 ERR(
"unknown output method\n");
1314 xmlOutputBufferClose(output);
1327 struct import_buffer *
buffer = (
struct import_buffer *)
context;
1345 struct import_buffer *
buffer = (
struct import_buffer *)
context;
1358 struct import_buffer *
buffer;
1385 uriW = bstr_from_xmlChar(
uri);
1386 hr =
CreateUri(uriW, Uri_CREATE_ALLOW_RELATIVE | Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, 0, &href_uri);
1390 WARN(
"Failed to create href uri, %#x.\n",
hr);
1399 baseuriW = bstr_from_xmlChar((
xmlChar *)
style->doc->name);
1400 hr =
CreateUri(baseuriW, Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME, 0, &base_uri);
1404 WARN(
"Failed to create base uri, %#x.\n",
hr);
1409 IUri_Release(base_uri);
1411 WARN(
"Failed to combine uris, %#x.\n",
hr);
1415 *doc_uri = href_uri;
1416 IUri_AddRef(*doc_uri);
1419 IUri_Release(href_uri);
1442 if (dict && pctxt->
dict)
1456 hr = xslt_doc_get_uri(
uri, _ctxt,
type, &import_uri);
1482 if (IUri_GetPropertyBSTR(import_uri, Uri_PROPERTY_ABSOLUTE_URI, &uriW, 0) ==
S_OK)
1498 IUri_Release(import_uri);
1508#ifdef SONAME_LIBXSLT
1520 if(!sheet)
return E_FAIL;
1522 sheet_doc = xmlCopyDoc(sheet->node->doc, 1);
1523 xsltSS = pxsltParseStylesheetDoc(sheet_doc);
1526 const char **xslparams =
NULL;
1539 xslparams[
i++] = (
char*)xmlchar_from_wchar(par->
name);
1540 xslparams[
i++] = (
char*)xmlchar_from_wchar(par->
value);
1542 xslparams[
i] =
NULL;
1550 pxsltQuoteUserParams(ctxt, xslparams);
1552 pxsltFreeTransformContext(ctxt);
1566 hr = node_transform_write_to_bstr(xsltSS,
result,
p);
1570 pxsltFreeStylesheet(xsltSS);
1579 ERR_(winediag)(
"libxslt headers were not found at compile time. Expect problems.\n");
1587 return node_transform_node_params(
node, stylesheet,
p,
NULL,
NULL);
1598 hr = create_selection(
This->node,
str, nodes);
1613 IXMLDOMNodeList_Release(
list);
1625 *namespaceURI =
NULL;
1628 *namespaceURI = bstr_from_xmlChar(
ns->href);
1644 *prefix = bstr_from_xmlChar(
ns->
prefix);
1655 *
name = bstr_from_xmlChar(
This->node->name);
1663void destroy_xmlnode(xmlnode *
This)
1667 xmlnode_release(
This->node);
1668 xmldoc_release(
This->node->doc);
1676 xmlnode_add_ref(
node);
1677 xmldoc_add_ref(
node->doc);
1681 This->iface = node_iface;
1693static inline unknode *unknode_from_IXMLDOMNode(
IXMLDOMNode *iface)
1703 unknode *
This = unknode_from_IXMLDOMNode( iface );
1727 unknode *
This = unknode_from_IXMLDOMNode( iface );
1735 unknode *
This = unknode_from_IXMLDOMNode( iface );
1740 destroy_xmlnode(&
This->node);
1751 unknode *
This = unknode_from_IXMLDOMNode( iface );
1766 unknode *
This = unknode_from_IXMLDOMNode( iface );
1769 TRACE(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
1784 unknode *
This = unknode_from_IXMLDOMNode( iface );
1792 if(!rgszNames || cNames == 0 || !rgDispId)
1798 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
1811 DISPPARAMS* pDispParams,
1813 EXCEPINFO* pExcepInfo,
1816 unknode *
This = unknode_from_IXMLDOMNode( iface );
1821 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
1827 pVarResult, pExcepInfo, puArgErr);
1838 unknode *
This = unknode_from_IXMLDOMNode( iface );
1842 return node_get_nodeName(&
This->node,
p);
1849 unknode *
This = unknode_from_IXMLDOMNode( iface );
1864 unknode *
This = unknode_from_IXMLDOMNode( iface );
1873 unknode *
This = unknode_from_IXMLDOMNode( iface );
1875 FIXME(
"(%p)->(%p)\n",
This, domNodeType);
1877 switch (
This->node.node->type)
1907 unknode *
This = unknode_from_IXMLDOMNode( iface );
1918 unknode *
This = unknode_from_IXMLDOMNode( iface );
1922 return node_get_child_nodes(&
This->node, outList);
1929 unknode *
This = unknode_from_IXMLDOMNode( iface );
1933 return node_get_first_child(&
This->node, domNode);
1940 unknode *
This = unknode_from_IXMLDOMNode( iface );
1944 return node_get_last_child(&
This->node, domNode);
1951 unknode *
This = unknode_from_IXMLDOMNode( iface );
1955 return node_get_previous_sibling(&
This->node, domNode);
1962 unknode *
This = unknode_from_IXMLDOMNode( iface );
1966 return node_get_next_sibling(&
This->node, domNode);
1973 unknode *
This = unknode_from_IXMLDOMNode( iface );
1975 FIXME(
"(%p)->(%p)\n",
This, attributeMap);
1985 unknode *
This = unknode_from_IXMLDOMNode( iface );
1987 FIXME(
"(%p)->(%p x%d %p)\n",
This, newNode,
V_VT(&refChild), outOldNode);
1989 return node_insert_before(&
This->node, newNode, &refChild, outOldNode);
1998 unknode *
This = unknode_from_IXMLDOMNode( iface );
2000 FIXME(
"(%p)->(%p %p %p)\n",
This, newNode, oldNode, outOldNode);
2002 return node_replace_child(&
This->node, newNode, oldNode, outOldNode);
2009 unknode *
This = unknode_from_IXMLDOMNode( iface );
2010 return node_remove_child(&
This->node, domNode, oldNode);
2017 unknode *
This = unknode_from_IXMLDOMNode( iface );
2018 return node_append_child(&
This->node, newNode, outNewNode);
2025 unknode *
This = unknode_from_IXMLDOMNode( iface );
2026 return node_has_childnodes(&
This->node, pbool);
2033 unknode *
This = unknode_from_IXMLDOMNode( iface );
2034 return node_get_owner_doc(&
This->node, domDocument);
2041 unknode *
This = unknode_from_IXMLDOMNode( iface );
2042 return node_clone(&
This->node, pbool, outNode );
2049 unknode *
This = unknode_from_IXMLDOMNode( iface );
2053 return node_get_nodeName(&
This->node,
p);
2060 unknode *
This = unknode_from_IXMLDOMNode( iface );
2061 return node_get_text(&
This->node,
p);
2068 unknode *
This = unknode_from_IXMLDOMNode( iface );
2069 return node_put_text(&
This->node,
p);
2076 unknode *
This = unknode_from_IXMLDOMNode( iface );
2077 FIXME(
"(%p)->(%p) stub!\n",
This, isSpecified);
2078 *isSpecified = VARIANT_TRUE;
2086 unknode *
This = unknode_from_IXMLDOMNode( iface );
2087 FIXME(
"(%p)->(%p)\n",
This, definitionNode);
2095 unknode *
This = unknode_from_IXMLDOMNode( iface );
2104 unknode *
This = unknode_from_IXMLDOMNode( iface );
2113 unknode *
This = unknode_from_IXMLDOMNode( iface );
2122 unknode *
This = unknode_from_IXMLDOMNode( iface );
2136 unknode *
This = unknode_from_IXMLDOMNode( iface );
2147 unknode *
This = unknode_from_IXMLDOMNode( iface );
2148 return node_transform_node(&
This->node, domNode,
p);
2155 unknode *
This = unknode_from_IXMLDOMNode( iface );
2156 return node_select_nodes(&
This->node,
p, outList);
2163 unknode *
This = unknode_from_IXMLDOMNode( iface );
2164 return node_select_singlenode(&
This->node,
p, outNode);
2171 unknode *
This = unknode_from_IXMLDOMNode( iface );
2172 FIXME(
"(%p)->(%p) stub!\n",
This, isParsed);
2173 *isParsed = VARIANT_TRUE;
2181 unknode *
This = unknode_from_IXMLDOMNode( iface );
2183 return node_get_namespaceURI(&
This->node,
p);
2190 unknode *
This = unknode_from_IXMLDOMNode( iface );
2191 return node_get_prefix(&
This->node,
p);
2198 unknode *
This = unknode_from_IXMLDOMNode( iface );
2199 return node_get_base_name(&
This->node,
p);
2206 unknode *
This = unknode_from_IXMLDOMNode( iface );
2211static const struct IXMLDOMNodeVtbl unknode_vtbl =
2213 unknode_QueryInterface,
2216 unknode_GetTypeInfoCount,
2217 unknode_GetTypeInfo,
2218 unknode_GetIDsOfNames,
2220 unknode_get_nodeName,
2221 unknode_get_nodeValue,
2222 unknode_put_nodeValue,
2223 unknode_get_nodeType,
2224 unknode_get_parentNode,
2225 unknode_get_childNodes,
2226 unknode_get_firstChild,
2227 unknode_get_lastChild,
2228 unknode_get_previousSibling,
2229 unknode_get_nextSibling,
2230 unknode_get_attributes,
2231 unknode_insertBefore,
2232 unknode_replaceChild,
2233 unknode_removeChild,
2234 unknode_appendChild,
2235 unknode_hasChildNodes,
2236 unknode_get_ownerDocument,
2238 unknode_get_nodeTypeString,
2241 unknode_get_specified,
2242 unknode_get_definition,
2243 unknode_get_nodeTypedValue,
2244 unknode_put_nodeTypedValue,
2245 unknode_get_dataType,
2246 unknode_put_dataType,
2248 unknode_transformNode,
2249 unknode_selectNodes,
2250 unknode_selectSingleNode,
2252 unknode_get_namespaceURI,
2254 unknode_get_baseName,
2255 unknode_transformNodeToObject
2283 pUnk = create_doc_entity_ref(
node );
2295 pUnk = create_doc_fragment(
node );
2305 FIXME(
"only creating basic node for type %d\n",
node->type);
2311 new_node->IXMLDOMNode_iface.lpVtbl = &unknode_vtbl;
2313 init_xmlnode(&new_node->node,
node, &new_node->IXMLDOMNode_iface,
NULL);
2318 ERR(
"Called for unsupported node type %d\n",
node->type);
2323 IUnknown_Release(
pUnk);
void xsltCleanupGlobals(void)
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
HRESULT detach_bsc(bsc_t *bsc)
HRESULT bind_url(IMoniker *mon, HRESULT(*onDataAvailable)(void *, char *, DWORD), void *obj, bsc_t **ret)
static const WCHAR indent[]
#define WINE_DECLARE_DEBUG_CHANNEL(x)
static HRESULT WINAPI SupportErrorInfo_InterfaceSupportsErrorInfo(ISupportErrorInfo *iface, REFIID riid)
static ULONG WINAPI SupportErrorInfo_AddRef(ISupportErrorInfo *iface)
static HTMLDocument * impl_from_ISupportErrorInfo(ISupportErrorInfo *iface)
static HRESULT WINAPI SupportErrorInfo_QueryInterface(ISupportErrorInfo *iface, REFIID riid, void **ppv)
static ULONG WINAPI SupportErrorInfo_Release(ISupportErrorInfo *iface)
static const ISupportErrorInfoVtbl SupportErrorInfoVtbl
static const IID * get_riid_from_tid(tid_t tid)
HRESULT WINAPI CoInternetCombineIUri(IUri *pBaseUri, IUri *pRelativeUri, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
XMLPUBFUN xmlCharEncodingHandlerPtr XMLCALL xmlFindCharEncodingHandler(const char *name)
XMLPUBFUN xmlChar *XMLCALL xmlEncodeSpecialChars(const xmlDoc *doc, const xmlChar *input)
XMLPUBFUN xmlChar *XMLCALL xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input)
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
GLenum GLenum GLenum input
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HRESULT create_element(HTMLDocumentNode *doc, const WCHAR *tag, HTMLElement **ret)
static HRESULT create_node(HTMLDocumentNode *, nsIDOMNode *, HTMLDOMNode **)
HRESULT get_node(HTMLDocumentNode *This, nsIDOMNode *nsnode, BOOL create, HTMLDOMNode **ret)
static HTMLDOMNode * get_node_obj(IHTMLDOMNode *)
xsltStylesheetPtr xsltNextImport(xsltStylesheetPtr cur)
char * trim(char *str, char **last_chr, BOOL strip_quotes)
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
#define memcpy(s1, s2, n)
static const char * debugstr_variant(const VARIANT *var)
static HGLOBAL create_text(void)
static VARIANTARG static DISPID
static IBindStatusCallbackEx bsc
BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
#define NODE_PRIV_TRAILING_IGNORABLE_WS
static HRESULT return_null_var(VARIANT *p)
static HRESULT return_null_ptr(void **p)
#define NODE_PRIV_REFCOUNT_MASK
#define NODE_PRIV_CHILD_IGNORABLE_WS
UINT WINAPI SysStringByteLen(BSTR str)
UINT WINAPI SysStringLen(BSTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
XMLPUBFUN int XMLCALL inputPush(xmlParserCtxtPtr ctxt, xmlParserInputPtr value)
#define IsEqualGUID(rguid1, rguid2)
XMLPUBFUN void XMLCALL xmlDictFree(xmlDictPtr dict)
XMLPUBFUN int XMLCALL xmlDictReference(xmlDictPtr dict)
XMLPUBVAR xmlFreeFunc xmlFree
XMLPUBFUN xmlParserInputPtr XMLCALL xmlNewIOInputStream(xmlParserCtxtPtr ctxt, xmlParserInputBufferPtr input, xmlCharEncoding enc)
XMLPUBFUN int XMLCALL xmlCtxtUseOptions(xmlParserCtxtPtr ctxt, int options)
XMLPUBFUN void XMLCALL xmlFreeParserCtxt(xmlParserCtxtPtr ctxt)
XMLPUBFUN int XMLCALL xmlParseDocument(xmlParserCtxtPtr ctxt)
XMLPUBFUN xmlParserCtxtPtr XMLCALL xmlNewParserCtxt(void)
XMLPUBFUN xmlNodePtr XMLCALL xmlAddChild(xmlNodePtr parent, xmlNodePtr cur)
XMLPUBFUN void XMLCALL xmlBufferFree(xmlBufferPtr buf)
XMLPUBFUN xmlChar *XMLCALL xmlNodeGetContent(const xmlNode *cur)
XMLPUBFUN void XMLCALL xmlFreeDoc(xmlDocPtr cur)
xmlOutputBuffer * xmlOutputBufferPtr
XMLPUBFUN xmlNodePtr XMLCALL xmlCopyNode(xmlNodePtr node, int recursive)
XMLPUBFUN size_t XMLCALL xmlBufUse(const xmlBufPtr buf)
XMLPUBFUN void XMLCALL xmlUnlinkNode(xmlNodePtr cur)
XMLPUBFUN xmlBufferPtr XMLCALL xmlBufferCreate(void)
XMLPUBFUN void XMLCALL xmlSetTreeDoc(xmlNodePtr tree, xmlDocPtr doc)
XMLPUBFUN void XMLCALL xmlNodeSetContent(xmlNodePtr cur, const xmlChar *content)
XMLPUBFUN const xmlChar *XMLCALL xmlBufferContent(const xmlBuffer *buf)
XMLPUBFUN void XMLCALL xmlFreeNode(xmlNodePtr cur)
XMLPUBFUN int XMLCALL xmlBufferLength(const xmlBuffer *buf)
XMLPUBFUN xmlChar *XMLCALL xmlBufContent(const xmlBuf *buf)
#define XSLT_GET_IMPORT_INT(res, style, name)
#define XSLT_GET_IMPORT_PTR(res, style, name)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
struct _xmlDtd * intSubset
struct _xmlNode * children
__inline int before(__u32 seq1, __u32 seq2)
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI CreateURLMonikerEx2(IMoniker *pmkContext, IUri *pUri, IMoniker **ppmk, DWORD dwFlags)
int xsltQuoteUserParams(xsltTransformContextPtr ctxt, const char **params)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
_In_ DWORD _Out_ _In_ WORD wFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
XMLPUBFUN void XMLCALL xmlFreeParserInputBuffer(xmlParserInputBufferPtr in)
XMLPUBFUN xmlParserInputBufferPtr XMLCALL xmlParserInputBufferCreateIO(xmlInputReadCallback ioread, xmlInputCloseCallback ioclose, void *ioctx, xmlCharEncoding enc)
enum tagDOMNodeType DOMNodeType
XMLPUBFUN const xmlChar *XMLCALL xmlStrchr(const xmlChar *str, xmlChar val)
XMLPUBFUN xmlChar *XMLCALL xmlStrndup(const xmlChar *cur, int len)
XMLPUBFUN xmlChar *XMLCALL xmlStrcat(xmlChar *cur, const xmlChar *add)
XMLPUBFUN xmlChar *XMLCALL xmlStrdup(const xmlChar *cur)
XMLPUBFUN int XMLCALL xmlStrEqual(const xmlChar *str1, const xmlChar *str2)
XMLPUBFUN int XMLCALL xmlStrlen(const xmlChar *str)
xsltStylesheet * xsltStylesheetPtr
void xsltFreeStylesheet(xsltStylesheetPtr style)
xsltStylesheetPtr xsltParseStylesheetDoc(xmlDocPtr doc)
int xsltSaveResultTo(xmlOutputBufferPtr buf, xmlDocPtr result, xsltStylesheetPtr style)