KDE 3.0 アーキテクチャ/開発フレームワーク/複雑なウィジット/HTMLレンダラ - 旧 Wiki アーカイブ
オリジナル : http://developer.kde.org/documentation/library/kdeqt/kde3arch/khtml/index.html *1
※古すぎるのであまり参考にはならないかと思われます。
KHTML - KDE's HTML library
概観
KHTMLはDOM,Java,JavaScript?,Cascading Style Sheets(CSS)に対応したXML/HTML4準拠のHTMLライブラリです。
現在のKHTMLができることについての概観をここで得られます。
Small example
KHTMLをプログラム中で使うのは非常に簡単です。
下の例はすでにwebブラウズが可能なアプリケーションを示しています。
#コード例が古かったのでコチラを見て下さい。
この例はすでにwebにアクセスできる機能的なブラウザを示しています。(リモートファイルにアクセスするためのkio_httpが必要ですが)
testkhtmlでhttp://kde.orgを試して見て下さい。ウィジットにはKDEのホームページが表示されるでしょう。
Document Object Model (DOM)
KHTMLはほとんど完璧なDom Level1, Level2の実装を提供しています。
DOMは文書のデータを保持するために使われる内部的なクラスです。
DOMにアクセスするクラスはデータ保持の為にrefcounting schemeを用います。
よってDOMはメモリ管理を行ないます。
使う方は、文書のパーツにアクセスするためには、DOM header fileに定義されているクラスを使用するだけでよいのです。
ポインタを使わない限り、メモリリークが起きることはないでしょう。(ライブラリのバグを覗いてはね。。。;-)
表示されている文書には KHTMLWidget::document() 関数を用いて文書のどの部分にでも簡単にアクセスできます。
Java
有難い事にRichard Mooreによって、KHTMLはJava appletを表示できるようになりました。
Javaは標準では有効になっていませんが、メソッドを使って有効にできます。
CLASSPATHは以下のように設定して下さい。
CLASSPATH=$KDEDIR/share/apps/kjava/kjava-classes.zip:$JDK_DIR/lib
JDKをインストールすることが必要です。JDK-1.1.7では試しましたが、Kaffeや他のバージョンのJDKで動くかはわかりません。
JavaScript? (ECMA-Script)
JavaScript?サポートはECMAScript Language specification ECMA-262 3rd edition準拠です。
これはJavaScript1.5相当です。
Cascading Style Sheets (CSS)
Cascading style sheets 2.1 はほとんどサポートされています。