本文へジャンプ

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


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

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

  • 閉じる [x]

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

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

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


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

  • 閉じる [x]

Perl開発者がXMLツールボックスの中身を充実させるには

PerlでXMLを使用するための不可欠なツールとライブラリー

Parand Tony Darugar (tdarugar@yahoo.com), Head of architecture, Yahoo! Search Marketing Services
Parand Tony Darugar氏は、Webサービスのソフトウェア・プラットフォームのプロバイダーである、VelociGen Inc. の共同創設者兼チーフ・ソフトウェア・アーキテクトです。氏は、e-business統合のハイパフォーマンス・システム、インテリジェントな分散アーキテクチャー、ニューラル・ネットワーク、人工知能などに関心があります。連絡先はtdarugar@velocigen.com です。

概要: Perl の世界では、XML を使ったプロジェクトに利用できるいろいろなツールが急速に開発されてきました。この記事では、Perl による XML 開発に欠かせない、合計 20 以上のツール、ライブラリー、モジュールを紹介ます。入手元一覧をクリックすれば各ツールにすばやくアクセスでき、こうして XML 操作のためのパワフルなツールキットを揃えることができます。

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


Perl では、他のどの言語と比較しても、XML 開発者のためのモジュールやライブラリーが非常に豊富に揃っています。Perl/XML の世界は活気に満ちており、単に新しいプロトコルや標準をサポートしているだけにとどまらず、XML の発達に幅広く貢献しています。Perl の柔軟な拡張性のおかげで、C モジュールおよび C++ モジュールを簡単に Perl のフレームワークに統合することができます。こうして処理スピードと使い易さの両方が実現されます。

これから紹介するツールは、私の Perl/XML ツールおよびアプリケーションの開発経験に基づいて選んだ私のお気に入りに、様々なメーリング・リスト、雑誌、Web ページの中から厳選したよりすぐりのツールを加えたものです。これらのツールを使えば、XML ベースの本格的なアプリケーションを今すぐにでも開発できることでしょう。

パーサーとオブジェクト・モデル

XML が登場した初期の頃から、いろいろな Perl 用 XML パーサーが提供されてきました。その中で最も普及しているのが XML::Parser モジュールで、これは James Clark 氏が開発した優れたパーサーであるexpat の Perl 用インターフェースです。Apache XML プロジェクトの Xerces パーサーは現在まだ開発中ですが、これも Perl をサポートしています。この他にも、正規表現ベースの REX など、数多くの純粋な Perl パーサーがあります。また SAX API は PerlSAX 拡張を介してサポートされています。

さらに、Perl では DOM、Grove、Twig など非常に豊富な XML オブジェクト・モデルが提供されています。DOM モジュールは DOM 規格のレベル 1 の実装であり、Grove および Twig はこれに代わるオブジェクト・モジュールです。このうち Twig は文書の全体を構文解析せずに、文書のセグメントを処理できるように意図されており、大きな文書の処理に有効です。


XML 作成ツールと読み取りツール

よく知られていることですが、Perl には、あらゆる種類のレガシー・システムに接続できる豊富なオプションが揃っています。このような接続性や、Perl データ構造を XML へ変換する機能のおかげで、Perl は既存システム用の XML インターフェースを作成する優れたプラットフォームとなっています。XML::Generator、XML::Dumper、XML::Writer、XML::Simple などの拡張機能は、Perl データ構造から XML にデータを書き出したり戻したりする際のさまざまな処理を実行します。


プロトコルとライブラリー

Perl では、新しいプロトコルや標準規格が一般に早い段階でサポートされています。SOAP、WDDX、RSS、XML-RPC、および BizTalk 用の拡張機能があります。XSL とそれに付随する標準規格が、XML::XSLT、XML::XPATH、XML::QL、および XML::XQL モジュールでサポートされています。

XML は、データ交換および接続のメカニズムとしてしばしば重要な役割を果たします。モジュールの中には、XML と他のデータ・ソースやデータ形式の間の変換を可能にするものがあります。たとえば DBIx::XML_RDB は、DBI インターフェースを使ってデータベースから XML にデータ変換します。


販売されている製品

Perl の拡張機能のほとんどは、オープン・ソースの形でサポートされています。販売という形でサポートされている Perl 用システムやパッケージの数は、他の言語 (たとえば Java) と比べて圧倒的に少数です。

VelociGen XML Server は販売されている製品の 1 つですが、XML 文書の交換および処理のための言語として Perl を使用しています。スクリプト言語を使用することによって、さまざまなバックエンド・システムに接続するための迅速かつ柔軟な開発が可能になっています。また、バイトコードにコンパイルされた持続性のある環境でシステムが稼働することによって、高いハイパフォーマンスを達成します。


Perl 開発者のための XML ツール

パーサーとオブジェクト・モデル:
XML::Parser James Clark 氏の XML パーサー expat への Perl インターフェース
Xerces Perl Apache XML プロジェクトの Xerces XML パーサーへの Perl インターフェース
REX 正規表現を使った XML 文書の簡易構文解析
XML::DOM XML::Parser の Perl 拡張機能で、DOM レベル 1 互換インターフェースを使ったオブジェクト指向のデータ構造を作成します。libxml-enno の一部として配布されています。
XML::GrovePerl ハッシュのツリーを使用して、構文解析済みの XML、HTML、または SGML インスタンスの情報に簡単にアクセスします。
XML::Twig 巨大な文書を部分的な塊に分けて処理できるようにする、XML 文書のツリー・インターフェース。
libxml-perlPerl による XML 処理のための Perl モジュール、スクリプト、および文書の集まり。libxml-perl ソフトウェアは XML::Parser、PerlSAX、XML::DOM、XML::Grove などと連動します。
XML 作成ツールと読み取りツール:
XML::Generator Perl 内部から XML を生成するためのモジュール。
XML::Dumper Perl データを XML に書き出したり戻したりするためのモジュール。
XML::Writer XML 文書を作成する Perl プログラムを支援するモジュール。このモジュールは属性値や文字データのあらゆるエスケープ処理を行い、さまざまなタイプのマークアップを構築します。
XML::Simple XML の読み取りおよび作成のための小さな API で、XML 形式の config ファイルでの使用に適しています。
プロトコル:
SOAP/Perl プラットフォームに依存しない方法でサービス、オブジェクト、およびサーバーにアクセスするための XML ベースのプロトコル。
WDDX.pm Perl、Java、Cold Fusion など異なる言語の間でデータを交換するためのプロトコル。このモジュールは Perl 変数を WDDX パケットに変換したり、その逆に変換したりします。
XML::RSS Rich Site Summary (RSS) ファイルを作成し保守するための基本的なフレームワーク。RSS は主に、(一般にチャンネルと呼ばれている) ニュース・ヘッドラインの配布に使われます。
Frontier::RPCHTTP を伝送手段として、XML をエンコードの手段としてそれぞれ使用するリモート・プロシージャー呼び出し (RPC)。このモジュールは Perl 用 XML-RPC を実装しています。
スタイル・シートと照会言語:
XML::XSLTXSL テンプレート処理の Perl による実装。XML::XSLT は XSL スタイル・シートで指定した方法で XML ファイルへの変換を実行します。
XML::XPath W3C の XPath 仕様の実装。
XML::QL W3C のノート "XML-QL: A Query Language for XML" の実装。これを使用すると、XML 文書をデータベースと同じように照会し、出力の構成を記述することができます。
XML::XQL XQL 仕様の Perl による実装で、XML::DOM のような XML ツリー構造の XQL 照会を可能にします。これは libxml-enno の一部として配布されています。
データベース・インターフェース:
DBIx::XML_RDB データベースのような既存の DBI データ・ソースから XML を作成するための Perl 拡張機能。
販売されている製品:
VelociGen XML Server データベースやレガシー・システムへの接続、およびデータ交換機能を備えた XML サーバー。このサーバーは XML 文書を構文解析、操作、および変換するための Perl インターフェースを公開します。


参考文献

著者について

Parand Tony Darugar

Parand Tony Darugar氏は、Webサービスのソフトウェア・プラットフォームのプロバイダーである、VelociGen Inc. の共同創設者兼チーフ・ソフトウェア・アーキテクトです。氏は、e-business統合のハイパフォーマンス・システム、インテリジェントな分散アーキテクチャー、ニューラル・ネットワーク、人工知能などに関心があります。連絡先はtdarugar@velocigen.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=241323
ArticleTitle=Perl開発者がXMLツールボックスの中身を充実させるには
publish-date=03012000
author1-email=tdarugar@yahoo.com
author1-email-cc=dwxed@us.ibm.com

タグ

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

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

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

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

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