ホーム › Data.Xml.MsXml › IXMLDOMDocument
IXMLDOMDocument
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 33
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 43 HRESULT get_doctype(IXMLDOMDocumentType** documentType)
| documentType | IXMLDOMDocumentType** | out | ドキュメントの DOCTYPE 宣言ノードを受け取る出力ポインタである。無ければ NULL となる。 |
vtbl 44 HRESULT get_implementation(IXMLDOMImplementation** impl)
| impl | IXMLDOMImplementation** | out | DOM 実装情報 IXMLDOMImplementation を受け取る出力ポインタである。 |
vtbl 45 HRESULT get_documentElement(IXMLDOMElement** DOMElement)
| DOMElement | IXMLDOMElement** | out | ルート要素を受け取る出力ポインタである。無ければ NULL となる。 |
vtbl 46 HRESULT putref_documentElement(IXMLDOMElement* DOMElement)
| DOMElement | IXMLDOMElement* | in | ルート要素として設定する要素ノードである。 |
vtbl 47 HRESULT createElement(LPWSTR tagName, IXMLDOMElement** element)
| tagName | LPWSTR | in | 作成する要素のタグ名を示す文字列である。 |
| element | IXMLDOMElement** | out | 作成された要素ノードを受け取る出力ポインタである。 |
vtbl 48 HRESULT createDocumentFragment(IXMLDOMDocumentFragment** docFrag)
| docFrag | IXMLDOMDocumentFragment** | out | 作成された文書フラグメントを受け取る出力ポインタである。 |
vtbl 49 HRESULT createTextNode(LPWSTR data, IXMLDOMText** text)
| data | LPWSTR | in | テキストノードの初期内容を示す文字列である。 |
| text | IXMLDOMText** | out | 作成されたテキストノードを受け取る出力ポインタである。 |
vtbl 50 HRESULT createComment(LPWSTR data, IXMLDOMComment** comment)
| data | LPWSTR | in | コメントノードの内容を示す文字列である。 |
| comment | IXMLDOMComment** | out | 作成されたコメントノードを受け取る出力ポインタである。 |
vtbl 51 HRESULT createCDATASection(LPWSTR data, IXMLDOMCDATASection** cdata)
| data | LPWSTR | in | CDATA セクションの内容を示す文字列である。 |
| cdata | IXMLDOMCDATASection** | out | 作成された CDATA セクションを受け取る出力ポインタである。 |
vtbl 52 HRESULT createProcessingInstruction(LPWSTR target, LPWSTR data, IXMLDOMProcessingInstruction** pi)
| target | LPWSTR | in | 処理命令のターゲット名を示す文字列である。 |
| data | LPWSTR | in | 処理命令の内容を示す文字列である。 |
| pi | IXMLDOMProcessingInstruction** | out | 作成された処理命令ノードを受け取る出力ポインタである。 |
vtbl 53 HRESULT createAttribute(LPWSTR name, IXMLDOMAttribute** attribute)
| name | LPWSTR | in | 作成する属性の名前を示す文字列である。 |
| attribute | IXMLDOMAttribute** | out | 作成された属性ノードを受け取る出力ポインタである。 |
vtbl 54 HRESULT createEntityReference(LPWSTR name, IXMLDOMEntityReference** entityRef)
| name | LPWSTR | in | 作成する実体参照の名前を示す文字列である。 |
| entityRef | IXMLDOMEntityReference** | out | 作成された実体参照ノードを受け取る出力ポインタである。 |
vtbl 55 HRESULT getElementsByTagName(LPWSTR tagName, IXMLDOMNodeList** resultList)
| tagName | LPWSTR | in | 検索する要素のタグ名を示す文字列である。"*" で全要素を対象とする。 |
| resultList | IXMLDOMNodeList** | out | 一致した要素のリストを受け取る出力ポインタである。 |
vtbl 56 HRESULT createNode(VARIANT Type, LPWSTR name, LPWSTR namespaceURI, IXMLDOMNode** node)
| Type | VARIANT | in | 作成するノードの種別を示す VARIANT である。 |
| name | LPWSTR | in | ノードの名前(必要に応じプレフィックス付き)を示す文字列である。 |
| namespaceURI | LPWSTR | in | ノードの名前空間 URI を示す文字列である。不要なら空可。 |
| node | IXMLDOMNode** | out | 作成されたノードを受け取る出力ポインタである。 |
vtbl 57 HRESULT nodeFromID(LPWSTR idString, IXMLDOMNode** node)
| idString | LPWSTR | in | 検索する ID 属性値を示す文字列である。 |
| node | IXMLDOMNode** | out | ID に一致したノードを受け取る出力ポインタである。無ければ NULL となる。 |
vtbl 58 HRESULT load(VARIANT xmlSource, VARIANT_BOOL* isSuccessful)
| xmlSource | VARIANT | in | 読み込み元(URL・パス・ストリーム等)を格納した VARIANT である。 |
| isSuccessful | VARIANT_BOOL* | out | 読み込み成否を VARIANT_BOOL で受け取る出力ポインタである。 |
| value | INT* | out | ドキュメントの読み込み状態を受け取る出力ポインタである。 |
vtbl 60 HRESULT get_parseError(IXMLDOMParseError** errorObj)
| errorObj | IXMLDOMParseError** | out | 直近の解析エラー情報 IXMLDOMParseError を受け取る出力ポインタである。 |
| urlString | LPWSTR* | out | 読み込んだドキュメントの URL を受け取る出力ポインタである。 |
vtbl 62 HRESULT get_async(VARIANT_BOOL* isAsync)
| isAsync | VARIANT_BOOL* | out | 非同期読み込みが有効かを VARIANT_BOOL で受け取る出力ポインタである。 |
vtbl 63 HRESULT put_async(VARIANT_BOOL isAsync)
| isAsync | VARIANT_BOOL | in | TRUE で非同期読み込みを有効にする真偽値である。 |
vtbl 64 HRESULT abort()
vtbl 65 HRESULT loadXML(LPWSTR bstrXML, VARIANT_BOOL* isSuccessful)
| bstrXML | LPWSTR | in | 解析する XML 文字列である。 |
| isSuccessful | VARIANT_BOOL* | out | 解析成否を VARIANT_BOOL で受け取る出力ポインタである。 |
| destination | VARIANT | in | 保存先(ファイルパス・ストリーム・ノード等)を格納した VARIANT である。 |
vtbl 67 HRESULT get_validateOnParse(VARIANT_BOOL* isValidating)
| isValidating | VARIANT_BOOL* | out | 解析時に検証するかを VARIANT_BOOL で受け取る出力ポインタである。 |
vtbl 68 HRESULT put_validateOnParse(VARIANT_BOOL isValidating)
| isValidating | VARIANT_BOOL | in | TRUE で解析時の検証を有効にする真偽値である。 |
vtbl 69 HRESULT get_resolveExternals(VARIANT_BOOL* isResolving)
| isResolving | VARIANT_BOOL* | out | 外部定義を解決するかを VARIANT_BOOL で受け取る出力ポインタである。 |
vtbl 70 HRESULT put_resolveExternals(VARIANT_BOOL isResolving)
| isResolving | VARIANT_BOOL | in | TRUE で外部定義の解決を有効にする真偽値である。 |
vtbl 71 HRESULT get_preserveWhiteSpace(VARIANT_BOOL* isPreserving)
| isPreserving | VARIANT_BOOL* | out | 空白を保持するかを VARIANT_BOOL で受け取る出力ポインタである。 |
vtbl 72 HRESULT put_preserveWhiteSpace(VARIANT_BOOL isPreserving)
| isPreserving | VARIANT_BOOL | in | TRUE で空白を保持する真偽値である。 |
| readystatechangeSink | VARIANT | in | 読み込み状態変化時に呼ばれるハンドラを格納した VARIANT である。 |
| ondataavailableSink | VARIANT | in | データ受信時に呼ばれるハンドラを格納した VARIANT である。 |
| ontransformnodeSink | VARIANT | in | 変換時の各ノード処理で呼ばれるハンドラを格納した VARIANT である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXMLDOMDocument "{2933BF81-7B36-11D2-B20E-00C04F983E60}" #usecom global IXMLDOMDocument IID_IXMLDOMDocument "{}" #comfunc global IXMLDOMDocument_get_doctype 43 sptr #comfunc global IXMLDOMDocument_get_implementation 44 sptr #comfunc global IXMLDOMDocument_get_documentElement 45 sptr #comfunc global IXMLDOMDocument_putref_documentElement 46 sptr #comfunc global IXMLDOMDocument_createElement 47 wstr,sptr #comfunc global IXMLDOMDocument_createDocumentFragment 48 sptr #comfunc global IXMLDOMDocument_createTextNode 49 wstr,sptr #comfunc global IXMLDOMDocument_createComment 50 wstr,sptr #comfunc global IXMLDOMDocument_createCDATASection 51 wstr,sptr #comfunc global IXMLDOMDocument_createProcessingInstruction 52 wstr,wstr,sptr #comfunc global IXMLDOMDocument_createAttribute 53 wstr,sptr #comfunc global IXMLDOMDocument_createEntityReference 54 wstr,sptr #comfunc global IXMLDOMDocument_getElementsByTagName 55 wstr,sptr #comfunc global IXMLDOMDocument_createNode 56 int,wstr,wstr,sptr #comfunc global IXMLDOMDocument_nodeFromID 57 wstr,sptr #comfunc global IXMLDOMDocument_load 58 int,var #comfunc global IXMLDOMDocument_get_readyState 59 var #comfunc global IXMLDOMDocument_get_parseError 60 sptr #comfunc global IXMLDOMDocument_get_url 61 var #comfunc global IXMLDOMDocument_get_async 62 var #comfunc global IXMLDOMDocument_put_async 63 int #comfunc global IXMLDOMDocument_abort 64 #comfunc global IXMLDOMDocument_loadXML 65 wstr,var #comfunc global IXMLDOMDocument_save 66 int #comfunc global IXMLDOMDocument_get_validateOnParse 67 var #comfunc global IXMLDOMDocument_put_validateOnParse 68 int #comfunc global IXMLDOMDocument_get_resolveExternals 69 var #comfunc global IXMLDOMDocument_put_resolveExternals 70 int #comfunc global IXMLDOMDocument_get_preserveWhiteSpace 71 var #comfunc global IXMLDOMDocument_put_preserveWhiteSpace 72 int #comfunc global IXMLDOMDocument_put_onreadystatechange 73 int #comfunc global IXMLDOMDocument_put_ondataavailable 74 int #comfunc global IXMLDOMDocument_put_ontransformnode 75 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IXMLDOMDocument "{2933BF81-7B36-11D2-B20E-00C04F983E60}" #usecom global IXMLDOMDocument IID_IXMLDOMDocument "{}" #comfunc global IXMLDOMDocument_get_doctype 43 sptr #comfunc global IXMLDOMDocument_get_implementation 44 sptr #comfunc global IXMLDOMDocument_get_documentElement 45 sptr #comfunc global IXMLDOMDocument_putref_documentElement 46 sptr #comfunc global IXMLDOMDocument_createElement 47 wstr,sptr #comfunc global IXMLDOMDocument_createDocumentFragment 48 sptr #comfunc global IXMLDOMDocument_createTextNode 49 wstr,sptr #comfunc global IXMLDOMDocument_createComment 50 wstr,sptr #comfunc global IXMLDOMDocument_createCDATASection 51 wstr,sptr #comfunc global IXMLDOMDocument_createProcessingInstruction 52 wstr,wstr,sptr #comfunc global IXMLDOMDocument_createAttribute 53 wstr,sptr #comfunc global IXMLDOMDocument_createEntityReference 54 wstr,sptr #comfunc global IXMLDOMDocument_getElementsByTagName 55 wstr,sptr #comfunc global IXMLDOMDocument_createNode 56 int,wstr,wstr,sptr #comfunc global IXMLDOMDocument_nodeFromID 57 wstr,sptr #comfunc global IXMLDOMDocument_load 58 int,sptr #comfunc global IXMLDOMDocument_get_readyState 59 sptr #comfunc global IXMLDOMDocument_get_parseError 60 sptr #comfunc global IXMLDOMDocument_get_url 61 sptr #comfunc global IXMLDOMDocument_get_async 62 sptr #comfunc global IXMLDOMDocument_put_async 63 int #comfunc global IXMLDOMDocument_abort 64 #comfunc global IXMLDOMDocument_loadXML 65 wstr,sptr #comfunc global IXMLDOMDocument_save 66 int #comfunc global IXMLDOMDocument_get_validateOnParse 67 sptr #comfunc global IXMLDOMDocument_put_validateOnParse 68 int #comfunc global IXMLDOMDocument_get_resolveExternals 69 sptr #comfunc global IXMLDOMDocument_put_resolveExternals 70 int #comfunc global IXMLDOMDocument_get_preserveWhiteSpace 71 sptr #comfunc global IXMLDOMDocument_put_preserveWhiteSpace 72 int #comfunc global IXMLDOMDocument_put_onreadystatechange 73 int #comfunc global IXMLDOMDocument_put_ondataavailable 74 int #comfunc global IXMLDOMDocument_put_ontransformnode 75 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。