=encoding euc-jp
=pod
=head1 名前
XML::RSSLite - 軽量で"形式ばらない"RSS(そしてXMLのようなものの)パーザー
=head1 概要
use XML::RSSLite;
. . .
parseRSS(\%result, \$content);
print "=== Channel ===\n",
"Title: $result{'title'}\n",
"Desc: $result{'description'}\n",
"Link: $result{'link'}\n\n";
foreach $item (@{$result{'item'}}) {
print " --- Item ---\n",
" Title: $item->{'title'}\n",
" Desc: $item->{'description'}\n",
" Link: $item->{'link'}\n\n";
}
=head1 説明
このモジュールは利用できるドキュメントから、なるべく多くの内容を取り出そうとします。
そして他の方法に比べるとXMLに従っているかについて、あまり注意を払っていません。
XML::Parserに頼るよりも、これは発見的で、素晴らしい古い形式のPerl正規表現を
利用します。これは単純なハッシュ構造体にデータを格納し、完了したとき
適切なRSSファイルを再構築するために必要な最小限のデータを持っていると
みなすことができるように、確実なタグに"別名を付けます"。
これは基本的なチャンネルとその要素のtitle、description、そしてlinkを
取得することを意味します。
このモジュールはRDF & RSSに加えて、"scriptingNews"と"weblog"フォーマットを
解析することにより、より使えるリンクを取り出します。
これは出力をできるだけ"衛生的する"ことも行います。マンジングには以下のものが
含まれます:
=over
=item プレーンなテキストにするためHTMLタグを削除
=item 0-9~!@#$%^&*()-+=a-zA-Z[];',.:"<>?\s以外の文字を削除
=item が空のときを使用
=item が空のときに間違ったurlを使用
=item もし必要であれば、からリンクの取り出し
=item ftpとhttpにリンクを制限
=item サイトベースに相対的なURLを付与
=back
=head2 EXPORT
=over
=item parseRSS($outHashRef, $inScalarRef)
I<$inScalarRef>は解析されるドキュメントが入ったスカラーへのリファレンスです。
その内容は事実上、破壊されます。I<$outHashRef>は解析された内容が格納される
ハッシュへのリファレンスです。
=back
=head2 EXPORTABLE
=over
=item parseXML(\%parsedTree, \$parseThis, 'topTag', $comments);
=over
=item parsedTree - 必須
解析されたドキュメントを格納するハッシュへのリファレンス。
=item parseThis - 必須
解析するドキュメントが入ったスカラーへのリファレンス。
=item topTag - オプション
ルート・ノードとみなすタグ。ここを未定義にしておくことは推奨されません。
=item comments - オプション
=over
=item false parseThisから内容を削除します will remove contents from parseThis
=item true parseThisからコメントを削除します
=item 配列リファレンスはtrueで、コメントはここに格納されます
=back
=back
=back
=head2 注意
これは規範に従っているパーザーではありません。これは以下のものは扱いません
=over
=item
=item
=item
=item
PI
=back
以下のものは、確認が行われません。
DTDがなければ適切に処理することはできません。
=over
=item エンティティ
=item 名前空間
これは次のリリースでは入ってくるかもしれません。
=back
=head1 参考資料
perl(1), C, C,
C,
=head1 作者
Jerrad Pierce .
Scott Thomason
=head1 ライセンス(=LICENSE)
Portions Copyright (c) 2002 Jerrad Pierce, (c) 2000 Scott Thomason.
All rights reserved. This program is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
=head1 翻訳者
川合孝典(GCD00051@nifty.ne.jp)