「XMLとSGML(HTML)」の編集履歴(バックアップ)一覧はこちら
「XMLとSGML(HTML)」(2006/11/29 (水) 23:38:46) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<p>①Title:XMLとSGMLの比較</p>
<p>②用語記述: SGML、HTML、XML</p>
<p>③解説:<br>
目的:SGMLにより作成された言語、HTMLはインターネットを急速に普及させた大きな技術要因になった。その後、インターネットの更なる普及に伴い、さまざまな情報をインターネット上で公開交換しようという機運が高まってきた。しかし、「データ交換」という観点でみると、既存のHTMLでは機能が不十分で、そこで、情報の公開と交換をより柔軟に行えるような技術が要求されるようになってきた。<br>
SGMLとは:異なる環境のコンピュータがネットワークで接続される中、SGML (Standard
Generalized Markup
Language)はスムーズな電子文書の交換を目的にして開発された。SGMLは2つの大きな特徴をもつ。一つ目の特徴は、SGMLが「言語を作る言語」、メタ言語と呼ばれるものである。コンピュータ間で電子文書の交換を行う際、各コンピュータに共通の言語のフォーマットを規定する必要がある。その一方、文書交換を行う目的はユーザにより異なるため、フォーマットが固定していると電子文書交換の用途が制限されてしまう。SGMLは、「文書交換のフォーマットを作成する言語」であり、SGMLそのものは、言語ではない。SGMLにより、ユーザの環境に合わせたフォーマットを作成することができる。作成したフォーマットを通信するユーザ間で共有することにより、ユーザのコンピュータ環境(H/W、S/W)に依存せずに、電子文書の交換が行えるわけである。二つ目の特徴は、SGMLはマークアップ言語であるということである。マークアップ言語とは、テキストファイルの中に内容と同時に特定の記号を利用して付加情報を記述したものである。<br>
「桜がとてもきれいです。」<br>
『とても』の文字列部分だけ太字で表示するという機能をマークアップすると、以下のようになる。<br>
「桜が<STRONG>とても</STRONG>きれいです。」<br>
マークアップ言語を利用した文書の特徴は、データはあくまでテキストであり、通常のテキストエディタで操作することはもちろん、UNIX環境などで多数開発されている、さまざまなテキスト変換ソフトウェアなどを利用して操作できる。<br>
XMLとHTMLの違い:インターネットを介した情報公開、交換をする際のXMLの優位性について、HTMLと比較してみる。</p>
<p>書籍番号:4-8342-5104-7<br>
書籍名:カイマナヒラの家 Hawaiian sketches<br>
著者名:池沢夏樹<br>
単価:1,800<br>
の書籍情報を、以下のようなHTMLのデータをアプリケーションに渡して処理を行うことを考える。<br>
<table ><br>
<tr><br>
<td>4-8342-5104-7 </td><br>
<td >カイマナヒラの家 Hawaiian sketches </td><br>
<td>池沢夏樹</td><br>
<td>1,800</td><br>
</tr><br>
</table><br>
すると、「カイマナヒラの家 Hawaiian
sketches」が書籍名であることは、HTMLの記述を眺めていてもわからない。データ交換を行う双方が「表の2列目は書籍名を記述することにしましょう」というような合意を、別の方法で事前に行う必要がある。つまり、HTMLでは、データの構造を記述することができないのである。この場合、「書籍名を1列目に表示したい」といった表示形式の変更を行うには、表示部以外の処理システムも変更する必要がある。さらに、「新たに出版社情報を追加したい」といったように、カラムを増やす場合もシステムの見直しが必要である。つまり、HTMLによりデータの交換を行うと表示形式から間接的にしかデータ構造を把握できないのある。<br>
XMLは「メタ言語」=「言語を作成するための言語」であり、これより、ユーザはXMLにより、データ構造を示すタグが含まれるような言語を作成することができる。上の例をXMLで記述した場合(正確には「XMLで作成した書籍情報記述言語で記述した場合」は、以下のようになる。<br>
<book><br>
<id>4-8342-5104-7 </id><br>
<title>カイマナヒラの家 Hawaiian sketches </title><br>
<author>池沢夏樹</author><br>
<price>1,800</price><br>
</book></p>
<p>すると、「カイマナヒラの家 Hawaiian
sketches」が書籍名をあらわしていることが、タグの記述よりわかる。このように、データの構造がタグで記述できることにより、アプリケーションにデータをとりこんだり、必要な情報のみを表示したりすることが、柔軟に実現できるようになる。さらに、XMLでは、タグを新たに追加することも可能である。これより、出版社情報を追加したい場合は、ユーザにより出版社をあらわすタグを新たに作成することより実現できる。<br>
SGMLをよりシンプルに、利用しやすく発展させたものがXMLであり、SGMLの2つの特徴
(「メタ言語、マークアップ言語」であることを受け継いたため、インターネット上でのデータ交換に非常に適した技術であるといわれている。</p>
<p><br>
④Reference:<br>
1.techscore<br>
<a href="http://www.techscore.com/">http://www.techscore.com/</a></p>
<p><br>
⑤作成者:山本正司-20060925</p>
<p>【XMLとHTMLの比較】<br>
<HTML><br>
<HEAD><br>
<TITLE>本のリスト</TITLE><br>
</HEAD></p>
<p><BODY></p>
<p><H1>情報メディア論</H1><br>
<UL><br>
<LI>丸山不二夫 編著<br>
<LI>八千代出版<br>
</UL></p>
<p><H1>Javaのからくり</H1><br>
<UL><br>
<LI>植田龍男 著<br>
<LI>IDGコミュニケーションズ<br>
</UL></p>
<p></BODY><br>
</HTML></p>
<p>
HTMLでおなじみのタグが用いられています。大見出しである<H1>や、箇条書きを表す<UL>、各項目を表す<LI>などがあります。XMLでも、HTMLと同じくタグを利用します。次は、上述のHTML文の内容をXMLで表したものです。</p>
<p><?xml version="1.0"?></p>
<p><BOOKLIST></p>
<p><BOOK><br>
<TITLE>情報メディア論</TITLE><br>
<AUTHOR>>丸山不二夫 編著</AUTHOR><br>
<PUBLISHER>八千代出版</PUBLISHER><br>
</BOOK></p>
<p><BOOK><br>
<TITLE>Javaのからくり</TITLE><br>
<AUTHOR>>植田龍男</AUTHOR><br>
<PUBLISHER>IDGコミュニケーションズ</PUBLISHER><br>
</BOOK></p>
<p></BOOKLIST></p>
<p>
XMLではタグを自由に定義できます。この文書では、<BOOKLIST>,
<BOOK>, <TITLE>, <AUTHOR>, <PUBLISHER>
といったタグを新たに定義しています。このHTMLとXMLで書かれた2つの文書を比べてみましょう。HTMLで書かれた文書は、webブラウザを使って読むのに十分です。しかしこの文書をこのままで、書籍データベースのようにして使うのは大変でしょう。例えば、この文書の中にある本の著者を枚挙したいと思っても、汎用的な検索プログラムは書きにくいです。XMLの文書では、<BOOK>,
<TITLE>,
<AUTHOR>といったタグを定義しているため、それぞれの<AUTHOR>タグを探して、その内容を表示するだけの処理となります。そもそもHTMLの本質的な目的のひとつは、文書の論理的な構造を明確にすることです。XMLでは、文書の意味的な構造を明確にすることにも重点が置かれています。別な言い方をすると、XMLの文書は、文書であると同時にデータでもあります。</p>
<p>【なぜXMLか】<br>
・タグを自由に定義できる。<br>
・複雑な構造をもった文書も記述できる。<br>
・テキストファイルになっているため、必要があれば特別なツールを使わなくても、閲覧・作成・編集できる。<br>
・パーサを作る必要がない。</p>
<p>
こうしたメリットのため、さまざまな場面で、データを交換したり、保存するときに利用されています。いくつかの業界では、後述するDTDをその業界で定義し、標準化しようという動きもあります。また、プログラムの定義ファイルを記述するときにもXMLが利用される場面が増えています。J2EE
では、Deployment Descriptor (DD) が XML
で表現されています。データの移動や保存をおこなうプログラムを作るときは、XMLの利用を一度は検討した方がよいと考えています。</p>
<p>【J2EEとは】<br>
Sun Microsystems社のプログラミング言語「Java
2」の機能セットの一つで、企業の業務システムや電子商取引などで使われるサーバに必要な機能をまとめたもの。標準機能セットのJava
2 Standard
Edition(J2SE)に、サーバ用のAPIや諸機能を付加したものと言える。APIセットをまとめた「Platform
Specification」、Sunによる参照実装、互換性テストスイート、ガイドライン「Blue
Prints」といった要素から成り、Javaプログラムを部品化して組み合わせることができるようにする「Enterprise
JavaBeans」や、WebページにJavaプログラムを埋め込んで内容を動的に生成する「Java
Server
Pages」(JSP)などの技術を含む。また、XMLを操作するためのAPIも用意され、サーバ上で様々なソフトウェアを組み立てられるようになっている。J2EEの動作環境はSunを含む各社のアプリケーションサーバ製品に実装されており、データベースシステムやWebサーバと組み合わせて使う。(<a href="http://e-words.jp/w/J2EE.html">http://e-words.jp/w/J2EE.html</a>)</p>
<p>【Deployment Descriptor(デプロイメント記述子)】<br>
デプロイメント記述子 (deployment descriptor)
とは、J2EE準拠のあらゆる Web アプリケーションとあらゆる
Enterprise JavaBeans (EJB)
で必ず使用され、J2EE準拠のあらゆるサーバ(BEA WebLogic
Server
など)で解釈方法が既知でなければならない、定義済み形式のコンフィグレーション
ファイルのことです。この形式は XML 文書型定義 (Document
Type Definition: DTD) で指定されるため、拡張子が .xml
になっています。デプロイメント記述子はその名前のとおり、デプロイメントのさまざまな設定を記述したもので、その内容は、サーブレット、セキュリティ
ロールと安全性の保証されたリソース、JSP
のデプロイメントに関するオプションといったアプリケーションのプロパティについてです。</p>
<p>【コンフィグレーション ファイルとは】<br>
Java 2 Enterprise Edition の規格に準拠するため、HTTP
サーブレットは Web
アプリケーションの一部としてデプロイ(主にWebアプリケーションやWeb
Serviceにおいて、コンパイルしたプログラムやクラスファイルなどを、Webサーバー上に配置して、クライアントから実行可能な状態にすること。)されます。Web
アプリケーションとは、サーブレット クラス、JavaServer
Pages(JSP)、静的な HTML ページ、画像、ユーティリティ
クラスなどのアプリケーション
コンポーネントをグループ化したものです。Web
アプリケーションでは、コンポーネントは標準的なディレクトリ構造を用いてデプロイされます。このディレクトリ構造は、.war
ファイルと呼ばれるファイルにアーカイブされて、WebLogic
Server 上にデプロイされます。Web
アプリケーションのリソースと操作パラメータに関する情報は、Web
アプリケーションと共にパッケージ化されている 2
つのデプロイメント記述子で定義されます。<br></p>