注意: このページの情報は古くなっています。調べものの参考にはなる可能性がありますが、別途最新の情報を収集してください。
Xerces
Xerces2 Java も Xerces C++ も、
The Apache Software License に従って利用できます。プログラミングの学習で利用する場合には気にすることはありませんが、Xerces を利用してソフトウェアを開発し、それを配布したり販売しようとする場合には、このライセンスをよく読む必要があります。
Xerces C++ Parser
Xerces C++ は、
C++ で利用可能な
XML パーサのひとつです。マルチプラットフォームのライブラリとして、ANSI C++ 仕様に準拠した各コンパイラで利用可能なように設計されています。
Books
C++ で XML プログラミングをはじめるにあたって、たいへん役に立つ本を 1 冊紹介しましょう。現在、XML プログラミングの環境としてはまず Java が、次に最近では .NET Framework が取り上げられる傾向にあり、Java + XML や .NET + XML の本ならば書店でたくさん見つけることができます。この不遇の中、C++ で XML を扱う本書はある種貴重な存在です。
- ファビオ・アルシニェガス 『C++ による XML 開発技法』 (ピアソン・エデュケーション、2002-09)
- 訳: 高橋秀和
- ISBN: 4-89471-414-0
- 本体価格: 4,200 円
- 原著: Fabio Arciniegas, C++ XML (New Riders, 2001-08-03, ISBN 0-7357-1052-X)
この本は、XML の入門書ではなく、実践的な見地から C++ による XML プログラミングの手ほどきをする技術書です。ただし、XML についても冒頭の一章を割いて解説しているので、すでに C++ を理解している人がこれから XML を勉強しようとする場合にも、この本だけで XML に関するある程度の知識を得ることができます。
この本について残念なことは、説明で使用している Xerces C++ のバージョンが古いことです。原著の刊行時期を考えれば当然なのですが、この本で使われている Xerces のバージョンは 1.4.0 です。これはかなり古い Xerces のリリースで、最近のリリースとは差異があります。特に DOM 2.0 の実装は大きく変更されているので、注意して読まなければなりません。
なお、本書への不当な評価を招くといけませんので断っておきますが、この本は Xerces パーサのみを扱った解説書ではありません。XML プログラミングに関する抽象度の高い話題についてもしっかりと解説されており、また具体的なコードも複数のパーサを使って例示しています。内容を見ても、単に標準/非標準の API を使った XML 解析だけではなく、主要な XML 関連技術をひと通り網羅している良書です。
Notes
プログラミングとは直接関係ありませんが、ここで Xerces という名前についてコメントしたいと思います。このあまり見かけない綴りの名前は、何に由来しているのでしょうか。
Xerces は、英語やドイツ語では本来 Xerxes と表記されます。これは、古代ペルシアの王クセルクセス一世のことで、ペルシア語の彼の名 Khshaiarsha をギリシア語で表記した綴りです。アケメネス朝ペルシアの 4 代目の王(在位 B.C.485 - 465)であったクセルクセス一世は、父王ダレイオス一世を継いでギリシアとの戦争を行い、最終的にはサラミス海戦に大敗してその企てを挫かれました。
また、Xerces は、かつてサンフランシスコ半島に生息し、すでに絶滅してしまった蝶につけられた名前でもあります。フランス人の昆虫学者 Boisduval が、クセルクセス王にちなんでこの名前をつけました。"Xercês" は、クセルクセス王の名をフランス語式に綴ったものです。そして、蝶の名前としてはこの綴りがそのまま英語に持ちこまれています。
こうして、XML パーサのところに辿りつきました。この蝶が名前の直接の由来であることは、かつて Xerces がまだ
Apache XML Project のサブプロジェクトだった頃、サイト上で明らかにされていました。
しかし結局のところ、なぜ Xerces が XML パーサの名前として採用されたかといえば、おそらくその理由は、それが単に英語には数少ない X で始まる単語だったからというのが正しいのではないでしょうか。
Contents
Copyright © 2003-2010 EdelSoft, All Rights Reserved.
Contact: