XML (eXtensible Markup Language)  
 自由なタグの設定によりデータをテキスト形式で構造的に記述した記述言語。 
 これは今後2010年くらいまでの間、データの基本形式になるであろう、重要な 
 技術である。まずはXMLのサンプルをあげる。 
  
  <person> 
    <name> 
     <fname kana="とくがわ">徳川</fname> 
     <pname kana="みつくに">光圀</pname> 
     <popular>水戸黄門</popular> 
    </name> 
    <date> 
     <born cal="Jp">1628.06.10</born> 
     <death cal="Jp">1700.12.06</death> 
    </date> 
    <work> 
     <type>政治家</type> 
     <position rank="lord" ser="2">藩主</position> 
     <belongs rank="御三家">水戸藩</belongs> 
     <dignity rank="従三位">中納言</dignity> 
     <accomp>藩政の基礎を作るとともに、数百年途絶えていた日本の 
     歴史書の編纂事業(大日本史)を創始する。この事業は水戸藩で 
     代々続けられたのち東京大学に移管され現在でも継続している。 
     また御三家の一人として将軍徳川綱吉の乱行を注意した。 
     後年「水戸黄門漫遊記」で一躍ヒーローに祭り上げられる。 
     </accomp> 
    </work> 
  </person> 
  
 XMLは一見したところHTMLに似ているがタグが自由に設定できるのが特徴 
 である。HTMLの後継規格と紹介している雑誌やサイトがよくあるがそれは 
 不正確な言い方であり、XMLはどちらかというと HTMLのベースになった 
 SGMLの後継規格であり、HTMLの後継規格はXHTMLである。 
 HTMLは便利な規格なのでWWWの表現用としてだけでなくデータ交換用として 
 も注目されたが、タグが固定的であるため、電子的なデータ交換に利用する 
 には無理があった。HTMLのベースとなっているSGMLを使えば可能なのである 
 が、SGMLは複雑すぎて実際問題として使える人が少なすぎる。そのため、 
 SGMLより手軽に使えて、いろいろなデータを表現するだけのパワーがあり、 
 しかも標準化が実現できるものとしてXMLが生まれたのである。 
  
 XMLは1996年からW3Cで協議がはじまり、同年にまずワーキングドラフトが 
 発表され、1998年2月に最初の勧告がなされた。Microsoftはこの新しい規格 
 に積極的に取り組む意向を表明。W3Cの勧告が出てすぐの1998年5月にリリース 
 したInternet Explorer 4.5 からこの XML への対応が組み込まれている。 
 またXMLは上記にあげた例のように、データベースを記述するのにひじょうに 
 優秀な構造をしている。このため現在ひじょうに多くのデータベースソフト 
 が XML に対応を終えており、検索結果を XML形式で取り出したり、XML形式 
 のデータを使って更新がかけられたりするようになっている。 
  
 データベース系では以前はCSV,TSV,SYLKなどの形式でデータ交換を 
 することが多かったが、SYLKはまともに「読める」データ形式ではないし、 
 CSVやTSVの場合、単にデータの列を表現しただけにすぎず、そこにある 
 データが「何」なのかというのが、あとで分からなくなってしまう危険が 
 あった。それにたいしてXMLはきちんと「読める」ものであり、しかも 
 データのすぐそばにそのタイトルがタグとして書かれているため、それが 
 何なのかというのがすぐに分かるのである。 
  
 XMLはまた色々なデータ交換、データ表現をするためのプラットフォームと 
 して利用されはじめており、XMLを利用したビジネスデータの交換方式も 
 多数提案されているし、また数式を表現するためのMathML, マルチメディア 
 データを扱うためのSMIL などが普及の兆しをみせている。 
  
 XML文書を変換したり表示したりするにはXSLXSLT/XSL-FO)を使用 
 する。またXML文書にリンクを張るにはXLink/XPointerを使用する。 
 またXML文書をソフトウェアで利用するにはXMLパーサーというソフトを使う 
 と楽である。 
  
 現在のXMLの規格 
  XML1.0   1998.02 最初の勧告 http://www.w3.org/TR/1998/REC-xml-19980210 
  XML1.0 Second Edition 2000.10 改訂版 http://www.w3.org/TR/REC-xml 
  XML1.1   現在 Candidate Recommendation のレベルである。ほぼ現状の 
        まま規格成立するものと思われる http://www.w3.org/TR/xml11/ 

XML4J (XML parser ver 4 for Java) XML Parser for Javaのver4。
XMLコンソーシアム (XML Consortium) XML技術の普及・促進・標準化の  ための団体。はじめは多数の団体によるバーチャルな組織として活動して  いたが2001年に正式な組織が結成された。
XMLスキーマ →XML Schema
XML名前空間 →XML NameSpace
XMLパーサー (XML Parser) XML文書をソフトウェアから利用するための機能  を提供するプログラム。XMLプロセッサと呼ばれることもあるが、最近では  だいたいXMLパーサーの名前が一般的である。  XMLというのは構造的にはひじょうに美しい形をしているが、いざこれを  ソフトウェアで処理しようとすると、意外に面倒な存在である。基本的に  XMLはフリーフォーマットで記述されるため、CSVTSVのように  レコード単位でファイルからデータを取り出して処理するようなことが  できないし、一カ所だけ見てもそれに先立つ上の階層のタグを把握して  おかなければ適切な処理をすることはできない。    この部分を楽にするソフトウェアがないと XML を処理するプログラムを  作るには、かなりのスキルが要求されることになり XML の普及自体が  困難になってくる。そこでその部分の処理を軽減化しXML対応のプログラム  を作りやすくするのが XMLパーサーである。    現在XMLパーサーの利用環境がよく整備されているのはJavaPerlで  あり、XMLに関する処理はこれらの言語で開発される機会が多い。    またInternet ExplorerなどのブラウザがXMLを処理する時も実際には  XMLパーサーを利用して処理を行っている。ただしInternet Explorerを  アップデート・インストールする際にデフォルトでは最新のXMLパーサーは  インストールされない。そのためWindows98などの古いOS上の利用者は  最新のInternet Explorerを使用していてもXMLパーサーは古いバージョン  が入ったままになっていることもある。そういう場合は手動で最新版の  MSXMLをインストールすればよい。    代表的なXMLパーサーとして下記のようなものがある。   XML Parser for Java IBM  利用:JavaJDK1.1以上)   Xerces  IBM/Apache-XML 利用:Java2,C++,Perl,COM   MSXML(XML Core Service) Microsoft      利用:Visual C++,Visual C#.NET,OLEなど   expat JamesClark 利用:C,Perl,Ruby,PHPなど   XP   JamesClark 利用:Java   REX  Rob Cameron 利用:Perl   Oracle XML Parser Oracle 利用:Java,PL/SQL  James Clarkは W3CでXMLの規格を決める際に中心的な役割を果たした人  のひとりである。expatはNetscapeのために作られたものであるが、  XML::Parserが作られてPerlからも利用できるようになった。expat  自体はイベント方式の原始的なプログラムで直接これを操作するのは  あまり便利ではない。XPの方は高機能のパーサーである。    XercesはIBMが開発したが後にApache-XMLに寄贈され、現在はそちらで  開発保守が行われている。現在最も広く使用されている expat に代わる  高機能な新しいエンジンとして期待されている。基本部分はXML4J  (XML Parser for Java)と共通のものである。  XMLパーサーを介してソフトウェアがXMLを処理する場合はDOMあるいは  SAXのインターフェイスを使用する方法が推奨されている。DOMは  XML文書を全てメモリに読み込んで各要素を直接ノードで指定して処理し、  SAXではXML文書を順次読み込みながらデータ処理をおこなう。簡単なの  はDOMであるが、小さなメモリで大きな文書を処理できるのはSAXのほうである。    ただし2002年の段階ではまだDOMさえも利用できない環境はまだまだ多い。