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さえも利用できない環境はまだまだ多い。 

XMLプロセッサ →XMLパーサー
XML_Base HTMLのBASEタグ(<BASE HREF=http://www.....>)に相当する機能  をXLinkを含むXML文書の中で実現する機能。下記に例をあげる。 <?xml version="1.0"?> <doc xml:base="http://example.net/"    xmlns:xlink="" target=NEWX>http://www.w3.org/1999/xlink">  <head><title>各種リソース</title></head>  <body>   <paragraph>国の記号・略号 →<link xlink:type="simple" xlink:href="link.xml">関連リンク</link>   </paragraph>   <olist xml:base="/computers/">    <item><link xlink:type="simple" xlink:href="charset.xml">              Metaタグで指定する文字セット名</link>    </item>    <item><link xlink:type="simple" xlink:href="language.xml">              HTMLタグに指定する言語種類</link>    </item>    <item><link xlink:type="simple" xlink:href="cctld.xml">              ccTLDとして使用されている国名</link>    </item>   </olist>   <olist xml:base="/sports/">    <item><link xlink:type="simple" xlink:href="ioc.xml">              オリンピックで使用される国略号</link>    </item>   </olist>  </body> </doc> 見ればだいたい見当がつくと思われるが上記の各リンク先は実際には次のようになる http://example.net/link.xml http://example.net/computers/charset.xml http://example.net/computers/language.xml http://example.net/computers/cctld.xml http://example.net/sports/ioc.xml 詳細は http://www.w3.org/TR/xmlbase/
XML_Core_Service →MSXML
XML::DOM PerlでXMLDOMのインターフェイスで利用するためのモジュール。  Enno Derksen と Clark Cooper により作成された。Cooperは XML::Parserの  保守を作者から受け継いだ人である。
XML_Encryption XMLデータを暗号化するための仕組み。基本的に共通鍵  方式と公開鍵方式を組み合わせて使用するが、通常のファイルの暗号化と  最も違う点は、XMLの(階層化された)要素単位で暗号を掛けられることで  ある。一般にXML_Signatureとあわせて使用されることになると思われるが  ひとつの文書を複数の人が共同で作成し、各々の部分にそれぞれの電子署名が  なされ、それぞれの鍵で暗号化がなされていてもよい。  詳細は http://www.w3.org/Encryption/2001/    なお暗号化されたXML文書を複合化するにはDecryption_Transformを適用する。