本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

XMLおよびXMLによるWebの変更方法

Doug Tidwell, Web Services Evangelist, IBM India Software Lab Services and Solutions
Doug Tidwell は、IBM のシニア・プログラマーで、サイバー・エバンジェリストでもあります。彼は 1/7 世紀以上のプログラミング経験を持ち、この数年間、XML 関連アプリケーションの開発に従事しています。彼のサイバー・エバンジェリストとしての作業は、基本的に忙しそうに見せることであり、またお客様が XML テクノロジーを評価し、インプリメントするのを手助けすることです。表面にジルコンをちりばめた特別設計のピンセットを使用して、彼は、バンダービルト大学でコンピューター・サイエンスの修士号を取得し、ジョージア大学で英文学士号を取得しました。彼のアドレスは、dtidwell@us.ibm.com です。

概要: 昨今の誇大宣伝を聞けば、XML は、スライスされたパ ンや自動車と同等な技術革新の成果物のように響きます。鳴り物入りの大げさな宣伝のもとでは、XML とは、Web テクノロジーにおける次の革新のことです。ここでは、XML の基本を探り、XML がどのようにして Web を変更するかを学びます。XML (Extensible Markup Language) は、WWW コンソーシアム (W3C) から公式に勧告されている Web アプリケーション用の新規 テクノロジーです。XMLは、元 IBM 社員の Charles Goldfarb博士によって作成された マークアップ規格である SGML(Standard Generalized Markup Language )を基にして 作成された規格でなり、これを使用すると、ユーザー独自のタグを 作成できるようになります。

日付:  1999年 11月 01日
レベル:  初級 この記事の原文:  英語
アクティビティー: 1854 ビュー
お気軽にご意見・ご感想をお寄せください: 


なぜ XML が必要なのですか?

XML という言葉を初めて耳にした人々の多くは、なぜ別のマークアップ言語が必要なのですか と聞きます。今日では、だれのブラウザーでも HTML をサポートしていますし、なぜこれ以上タグを作成する必要がある のでしょうか? 多くの HTML タグが大規模ブラウザー・ベンダーによって同じようにインプリ メントされていないとしても、なぜ誰もかもが自分独自のタグを作る必要があるのですか? これらの質問に対する回答は、HTML と XML はそれぞれ異なる機能を果たすということです。つまり、HTML タグが画面表示の方法を記述するのに対し、XML タグは対象の意味を記述します。別の言い方をすれば、HTML タグが人間とコンピューターの間の対話を扱うように設計されているのに対して、XML タグは 2 つのコンピューター間の対話を扱うように設計されています。

この違いを確認するには、HTML 版と XML版の小さなサンプル文書を見てください。リスト 1 は、HTML 版を示したもの です。


リスト 1. 住所の HTML による記述
                
<p><b>Mrs. Mary McGoon</b>
<br>
1401 Main Street
<br>
Anytown, NC  34829</p>

この文書をブラウザーで表示すると、次のようになります。

Mrs. Mary McGoon
1401 Main Street
Anytown, NC 34829

米国の郵便用の住所について知識のある人であれば、だれでも、この文書がだれかの住所であると分かります。郵便コードや他の規則が異なる別の国の人であっても、これがだれかの住所であることは推測がつきます。しかし、この文書を解釈するためにプログラムを作成することについて想像してみてください。この住所から郵便番号を取り出すためのアルゴリズムは、次のようになります。

2 つの<br>タグを持つ<p>タグがある場合、2 番目の <br>タグのテキストを取ります。そのテキストでは、コンマまでのすべての文字がシティーの名前であり、そのコンマの後の 2文字の字句が州の名前であり、最後の字句が郵便番号です。

このアルゴリズムはこのサンプルの HTML 文書でも機能しますが、このアルゴリズムでは解読できない完全に有効なアドレスを考えつくことは容易です。また、住所が入っている<p>タグと他のすべての<p>タグを区別する問題も全く考慮していません。この住所はブラウザー上では正常に表示されますが、HTML マークアップは、他のプログラムによる処理にはほとんど適していません。

ここで、リスト 2 の同じ文書の XML 版を見てみましょう。


リスト 2. 同じ住所の XML による記述
                
<?xml version="1.0"?>
<address>
<name>
<title>Mrs. </title>
<first-name>Mary</first-name>
<last-name>McGoon</last-name>
</name>

<street>1401 Main Street</street>
<city>Anytown</city>
<state>NC</state>
<zipcode>34829</zipcode>
</address>

HTML 文書の場合と同様に、米国の郵便用の住所について知識のある人であれば、だれでも、この文書を住所として認識します。さらに重要なことは、コンピューターがこのアドレスの各部分も認識できるということです。次に、XML 文書の中の郵便番号を検出するためのさらに堅固なアルゴリズムを示します。

郵便番号は<zipcode>タグのテキストです。

このアルゴリズムのコーディングは非常に簡単ですが、このアルゴリズムでは解読できない有効なアドレスを書くのは、不可能とはいいませんが、困難な場合があります。コンピューターは、このアドレスのすべての部分と、それぞれの部分が互いにどのように関連しているかを理解できますので、そのデータを表示するための最良の方法を決定することができます。たとえば、XML 文書は次のように表示できます。

Mrs. Mary McGoon
1401 Main Street
Anytown, NC 34829

このスタイルで XML タグを表示する場合は、これらのタグを、以前の HTML 文書と仮想的に同じである HTML マークアップに変換することができます。この住所の郵送用ラベルを印刷したい場合は、文書を次のように表示することができます。

この場合、郵便局のスキャナーに便利なように、Mrs. McGoon の郵便番号をバーコードで印刷します。ここでの最も重要な考え方は、内容と表示が分離されていることです。データとその構造は、表示とは独立した方法でタグが付けられており、それを表示する方法の決定は、できるだけ延期されます。


XML によって Web がどのように変わっていくか

だれでも、XML によって Web がどのように変わっていくかを知りたがっています。まずはじめに、XML は HTML と置き換わりません 。この 2 つのマークアップ言語は、それぞれ別の目的のために設計されていて、これから何年もの間 Web 上で共存していくものです。

Web 開発者の XML に関する最大の心配事が収まりましたから、XML が Web にどのような影響を与えるかについて考えてみましょう。XML は、Web に汎用データ・フォーマットを確立します。ビジネス間コミュニケーションの改善、エージェントの改善、および検索の改善が、すべて XML によって可能になります。

汎用データを使用可能にする

今日の Web を見ると、TCP/IP、HTML、Java など、いくつかの汎用テクノロジーが使用されていることが分かります。

  • TCP/IP は、汎用接続プロトコルです。このため、メインフレームからラップトップや携帯電話に至るまでのすべてが、TCP/IP を使用して Web に接続できます。
  • HTML は、汎用レンダリング言語です。すべてのブラウザーがすべての機能をサポートするわけではありませんが、どのブラウザーにも表示できる HTML タグのセットがあります。
  • 最後に、Java の "1 回書いて、どこででも実行"("write once, run anywhere")の約束によって、非常に容易に Web 上で広範囲にわたって各種のデバイスがサポートされています。

このような汎用テクノロジーによって、どのプラットフォーム上でも稼働する Web アプリケーションを比較的簡単に作成できます。XML は、汎用データです。これによって e-business の構図が完成します。データ構造を記述した XML 文書を作成することができ、しかも、構造化されたデータを Web を介してどこにでも送信することができます。XML は、データ交換形式としての能力と柔軟性によって、Web を変えていくのです。

ビジネス間コミュニケーションを使用可能にする

e-business を実行する際の難題の 1 つは、他の組織体とのコミュニケーションです。これらの組織体は、パートナーであるか、サプライヤーや競争相手であるか、あるいは同一会社内の他のグループであるかを問いません。XML はビジネス間コミュニケーションを単純化します。なぜなら、任意の 2 つの組織体が合意しなければならないことは、データを表すために使用する XML タグ・セットだけであるからです。どちらの組織体も、相手のバックエンド・システムがどのように編成されているかを知る必要はありません。自分のシステムが OS/390 を実行し、相手のシステムが Linux を実行しても、そのことは問題ではありません。自分のデータベースがリレーショナルで、相手のデータベースがオブジェクト指向であっても、そのことは問題ではありません。自分のコードが C++ で書かれ、相手のコードが Java で書かれていても、そのことは問題ではありません。重要なことはただ 1 つ、データ交換のためにタグの標準セットに合意することです。

タグ・セットに合意したら、どちら側からでも、XML 文書をバックエンド・システムでの処理に必要な任意の形式に変換するマッピング・コードを書くことができます。たとえば、パートナーから受け取った XML 文書を構文解析した後、システムで何らかのビジネス・プロセスを起動するトランザクションにそれを変換することができます。さらによい点は、別の会社が自分たちのグループに参加しても、この新しい会社のシステムと対話するためのコードを書く必要がなくなります。この会社は、わたしたちが XML タグ・セットに定義した文書規則を守ってくれればいいのです。

賢いエージェントをできるようにする

エージェントを書く場合の困難な作業の 1 つは、着信データの意味を理解することです。優れたエージェントは、情報を正しく解釈し、それに応じた返事をします。エージェントに送信されたデータが XML で構造化されていれば、そのデータがどのような意味を持っているか、またそのデータが既出である可能性のあるデータとどのように関連しているかを、エージェントはさらに正確に理解しやすくなります。サンプル HTML 文書に示しているように、HTML タグに含まれているデータを解釈するためのコードを書くことは、難しく、エラーを起こしがちです。XML の場合は、データ構造の判別と操作が容易です。

スマートに検索できるようになる

昨今の Web がかかえている大きな問題は、検索エンジンが HTML を正しく処理できないということです。たとえば、Chip という名前の人物を検索する場合は、チョコレート・チップ・クッキー、RAM チップ、ポーカー・チップ、と続き、そこで Chip という名前の男性のページにたどりつきます。一方、"Chip" の値を持つタグが含まれている文書を検索する場合は、もっとよい結果が得られます。検索を、特定のタグ・セットを使用する XML 文書に限定できるため、関係のない大量のコンテンツを除去することができます。

余談ですが、検索結果を特定のタグ・セットを使用する文書に限定できることは、XML の受け入れを推進する市場の効果の 1 つです。たとえば、自動車ディーラーのグループが中古車用のタグ・セットを定義すると、検索エンジンはこれらのタグを使用する XML 文書しか検索しないため、いくつかの名の通った検索エンジンは優れた結果を出してくれます。あなたが自動車ディーラーであれば、この市場に参入してこのタグ・セットをサポートするか、あるいはこの市場から完全に撤退するかのいずれかです。あなたの在庫が標準の XML マークアップで記述されていなければ、XML 検索エンジンを使用する自称カー・バイヤーからは検索できません。


XML の約束

XML を使って、いつでも e-business アプリケーションを完全に新しく生成することができます。HTML とグラフィカル・ブラウザーが Web 使用の急激な成長を誘発したように、XML を e-business に拡張するともう 1 つの急激な成長期が始まります。さあ始めましょう!


参考文献

  • XML に関する公式の定義はXML 仕様 にあります。

  • XML チュートリアルの入門編 を使用して、XML に関するもっと詳しい情報を探し出してください。終了するまで約 45 分かかりますが、10 分もすれば、あなたは基本的な語彙を学ぶことができます。

著者について

Doug Tidwell は、IBM のシニア・プログラマーで、サイバー・エバンジェリストでもあります。彼は 1/7 世紀以上のプログラミング経験を持ち、この数年間、XML 関連アプリケーションの開発に従事しています。彼のサイバー・エバンジェリストとしての作業は、基本的に忙しそうに見せることであり、またお客様が XML テクノロジーを評価し、インプリメントするのを手助けすることです。表面にジルコンをちりばめた特別設計のピンセットを使用して、彼は、バンダービルト大学でコンピューター・サイエンスの修士号を取得し、ジョージア大学で英文学士号を取得しました。彼のアドレスは、dtidwell@us.ibm.com です。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=XML
ArticleID=241026
ArticleTitle=XMLおよびXMLによるWebの変更方法
publish-date=11011999
author1-email=
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。