Developerサイトに移行します。見た目やトピックエリアなど更新されますが、開発者に必要とされるコンテンツを引き続き提供していきます。開発者である読者は、おそらく、80対20のルールについて聞いたことがあると思います。Paretoの法則としても知られるもので、「プロセスまたは方法論は、考えられる状況の80%には適用できるが、残りの20%については個別に対応する必要がある」というものです。ソフトウェア開発にこれを当てはめてみれば、関連する事象の80%についてのみ適用できるテクノロジーを開発することは非常に容易であることを意味します。ソフトウェア・プロダクトおよび標準が必ずしも常に80対20ルールに従って発展するわけではありません。XMLツールの世界は、このルールの例外です。(いくつかは、小規模な手作りのもので、いくつかは大手企業のマーケティング力に支えられたものです)。XMLの普遍性を示す証拠として、すべての新しいタスクごとに新しいテクノロジーが存在します。それらを結び付けるものは何なのでしょうか。適したツールを見つけるには、どうしたらよいのでしょうか。JavaとXML多くの点で、Java言語はXMLに適したプログラム言語となっています。構文解析を行うための完全なツール連鎖が出来上がっています。多くのJava開発者が日常的にXMLを使用している一方で、Sunは、XMLをJavaプラットフォームに組み込むという点で業界に後れをとっています。APIについてもそれを特例扱いしているのです。これには、次の3つのパッケージが含まれます。org.w3c.dom。Modelに関するW3C勧告のJavaでの実装。org.xml.sax。XML構文解析のための簡単なAPI。javax.xml.parsers。アプリケーション開発者が特定のパーサー実装を構成および入手できるようにする、ファクトリーの実装。これらのパッケージを組み込んだことはJava開発者にとってはありがたいことなのですが、これは既存のAPI標準を正式に認めたことにすぎず、Java-XMLのインターオペラビリティーを提供するための大きな飛躍ではありません。コアJavaプラットフォームに欠けていたものは、XML文書をJavaプラットフォームとして操作するための直感的なインターフェースです。本題のJDOMに入りましょう。考案したもので、2000年の初めにApacheに類似したライセンスのもとでオープン・ソース・プロジェクトとして発足しました。JDOMは、コントリビューションや企業からのフィードバック、および広範なJava開発者によるバグ修正を受け入れて成長して、JavaコードからXMLデータのアクセス、操作、および出力を行うための、完全なJavaプラットフォーム・ベースのソリューションを構築することを目指しています。パッケージの代わりに使用することができます。これはドロップイン式の置き換えではありません。実際に、JDOMとDOMはうまく共存することができます。JDOMはテキスト入力されたXMLを構文解析するようにはなっていませんが、パーサーの実装を構成および実行するための多くの作業を引き受けるラッパー・クラスを備えています。JDOMは、プロジェクトのホーム・ページが提唱している、「よりよいマウス・トラップ」を構築するための既存のAPIの機能を基に作られています。DOMの設計上の制約を思い起こしてください。DOMはJava言語を念頭に入れて設計されたものではありません。このようなアプローチの結果、異なる言語間でAPIが非常に類似したものになりますが、その一方で、Java言語のイディオムに慣れたプログラマーにとってはAPIが扱いにくくなることも事実です。クラスが定義されている、といった具合です。DOMのAPIは、XML仕様に直接従っています。戻すメソッドのホスト中で使われます。末端のタイプへのダウン・キャストを行うと、入り組んでいて理解しにくいコードが生成されるため、この方法で作業するのは困難で厄介です。インターフェース主導型である。クラスだけは例外です)。W3Cは実装を提供することには関心を示さず、インターフェースの定義だけに関心を払っています。このことは、JavaプログラマーとしてAPIを使用すると、XMLオブジェクトの作成時にかなりの程度の分離作業を押し付けられることも意味します。W3C標準は、汎用ファクトリー・クラス、および、同じように柔軟でしかもあまり直接的でないパターンを頻繁に使用するからです。XML文書がパーサーだけで作成され、アプリケーション・レベルのコードで作成されることが決してないような特定の用途では、これが問題となることはありません。XMLの用途が広がるにつれ、取り扱う対象のすべてがパーサー主導型のままであるとは限らなくなります。このため、アプリケーション開発者にとっては、XMLオブジェクトをプログラムに基づいて作成するための便利な方法が必要になります。重くて扱いにくく、習得が困難で使い勝手の悪いものになることを意味します。これと対照的に、JDOMは、一にも二にもJava中心の、軽量のAPIとして考案されています。JDOMではDOMの原則をすっかり方向転換し、上記の扱いにくさを解消しています。JDOMはJavaプラットフォーム固有のものである。して使用可能になります。2プラットフォームのコレクション・クラスを使用して、Java言語に慣れたプログラマーのために豊富な環境を提供します。