nDiki : XML
Related term
2004年11月10日 (水)
■ ttree での HTMLページ生成

www.naney.org だとTemplate Toolkit が動かない事がわかってしまったので、やっぱり手元で静的するセンにする。
今までは「XMLによるページ記述 + 自作ツールによる DOM ベースの変換 + XSLT」で生成していたのだが、あまりメンテしていないのでライブラリのバージョンが上がるたびに動かなくなったりいろいろ不便になってきた。 今後は現在いろいろいじっている Template Toolkit ベースにしたい。 まずは付属の ttree を使ったサイト生成にしてみる。
で、いくつかのページをこちらで生成してみることにした。 今までより出力を簡単に修正できるようになった。 ただし以前のXMLベースの時よりは崩れたHTMLを生成する可能性が高くなるので要注意。 GNU m4 でサイトを生成していた時の感じに少し戻った気分。
- Progect -> XML -> text, HTML (2004-04-16)
- JAlbum で Webフォトアルバム (2004-11-14)
- www.naney.org のデザイン調整 (2005-01-04)
- [ Java ] 22:30 Cocoon2 はどうかな? (2001-12-05)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
2004年11月14日 (日)
■ JAlbum で Webフォトアルバム

最初は zphoto でいこうと思っていたのだが、
- 各画像にコメントが直接つけられない (Template Toolkit の組み合わせでHTML書き換えるのがよいか)
- 画像の横幅しか指定できない (長辺でサイズを指定したい)
といった点から違うソフトを探してみた。
で JAlbum というのを見つける。Java で書かれているので、Linux でも動く。 スキンがいろいろ選べるのが良い。スキンリポジトリには Flash コンテンツベースの格好良いアルバムを生成するのもある。
スキンは自作できるのだが、プログラムが書ける分マスターするのは結構大変そうだ。
JPEG だとコメントは、画像ファイルのコメント領域に格納するというのがちょっと不満。オリジナルを改変したくないので別にコピーを用意しておく必要がある。
それからGUIアプリケーションなので zphoto のようにコマンドラインからバッチ処理できないのが残念。
それ以外はなかなか良い。
@ BananAlbum スキン
Flash コンテンツベース。スキンリポジトリで一番人気。 日本語のコメントがうまくでなかった。
@ SimpleViewer スキン
Flash コンテンツベース。BananAlbum よりすっきりまとまっている。 JAlbum は画像・サムネイルと設定XMLファイルなどの生成をするのだが SimpleViewer のSWF自体は単体で使えるで手作業でもアルバムを作れる。
コメントは後からXMLを直接編集して書き込んでもいいな。
日本語のコメント表示問題無し (Linux 用 Flash Player 7.0.25 では駄目)。
- デジカメ写真管理ソフトウェア digiKam (2006-03-10)
- Linux 上で Flex 2 SDK を使った Flash コンテンツ開... (2007-09-11)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- GanttProject で開発スケジュールを作成 (2004-08-26)
- FreeMind でマインドマップ (2005-06-02)
2005年4月22日 (金)
■ Flickr::UploadでLinuxから画像アップロード

Flickr ではWebページのフォームからの画像アップロードを行えるようになっている。
それに加えて Windows、Mac OS X では専用のツールが用意されていて、より快適にアップロードできるらしい。
残念ながら Linux 用のツールは Flickr から提供されていない。 しかし CPAN には Flickr::Upload モジュールがあって、コマンドラインからアップロードができる。
今までWebページのフォームからアップロードをしていたのだが枚数が多いと面倒なので、これを使えるようにしてみた。
インストールはまず依存している XML::Parser::Lite::Tree を dh-make-perl で deb 化してインストール。続けて Flickr::Upload も deb 化してインストール。
あとは、Flickr に登録してあるメールアドレスとパスワードを設定ファイルに書いて画像をアップロード。
touch $HOME/.flickrrc chmod 600 $HOME/.flickrrc echo email=naney@example.com > $HOME/.flickrrc echo password=secret >> $HOME/.flickrrc flickr_upload *.jpg
お手軽。
必要があれば title や tag もコマンドラインオプションで指定できる。 Flickr は Web上での編集機能がよくできているから、1枚づつ違うタイトルやタグをつけてもいい。よっぽど枚数が多い時はテキストファイルにまとめて書いておいて flickr_upload をまわすとか、Flickr::Upload モジュールを直接使って処理するといったこともできるであろう。
- ホームネットワークカメラ BL-C10 買っちゃった (2005-01-18)
- Twitter にケータイ写真を流すのに twitterfeed を使う (2008-02-22)
- デジカメ写真管理ソフトウェア digiKam (2006-03-10)
- ケータイの写真を Gmail 経由で Flickr にメールアップロード (2008-02-22)
- フォト イメージング エキスポ 2005 (2005-03-18)
2005年11月21日 (月)
■ 定型書式で内容を記述していくのに便利な形式は?

今要求仕様書を LaTeX で書いている。 要求と仕様の組をまとめて longtable で記述しているのだが、 LaTeX らしい繁雑さがあってちょっと効率が悪い。 マクロを定義すればある程度書きやすくなると思うが、それでもそこそこまでな気がする。
文書の中にレコードの並びが書けて、レコードの並びの中に文章が書きやすいそんなフォーマットはないものかなぁ。
- LaTeX + マクロ
- 整形は綺麗。
- 記述が繁雑になりがち。\マクロ名とか {} とか。
- DocBook
- 仕様デカスギ
- 以前使ってみたことがあるが、手で書くのにはしんどい。
- XML
- 構造的な情報の表現には良いのだが、手で書くのはしんどい。開きタグも閉じタグも。
- 普通の章節や、マークアップのルールを考えなければならない(定義するか借りてくるか)。
- LaTeX等へのコンバータを書く必要あり。
- YAML
- レコードの並びだけだったら良いが、文書の他の要素を一緒に書くのには適さない。
- ある程度の構造やボリュームがあると、思ったほど手書きしやすくない。
- YAML Perl モジュールで痛い目にあっている。
Wiki に慣れきっている自分にとっては Wiki 文法のような感じで記述できて、一部に定型レコードの並びが書けて、そこの整形ルールだけ定義してあげれば LaTeX に変換できるとかそういった感じがのものが欲しい。 定型レコードの部分は RFC822 のヘッダみたいな感じで良くで、値の部分に長めの文章を複数行で書けるものがいい。
構造化テキスト用フォーマット、あるいはWiki フォーマットをアレンジするのがいいかもしれないな。 このあたりのフォーマットは、ソーステキストのままでも充分読み易いことを意識して定義されているので書くのは楽。
- reStructuredText
- Markdown
- reStructuredText よりもソーステキストが読み易いらしい。
- Perl
- HTMLへの変換しかない。
- WiKicker (Wiki)
- かなり書き慣れている。
- レコードの並びの書き方を考える必要あり。
- 複数行にまたがる処理を書くのが面倒。
- 自分で書いているシステムなので中身は何でも知っている。
- マイナー。
レコード部分とは関係ないけれど reStructuredText や Markdown の「アンダーラインのあるテキストを見出しとする」っていうのはいいな。 普段メールやプレーンテキストでちょっと文書を打つときに使っているスタイルと一緒だ。
要求仕様書用に使うかどうかは別として、要チェック。
- 早速 reStructuredText から LaTeX へのコンバータを書く (2005-11-24)
- reStructuredText いいんじゃない? (2005-11-22)
- Docutils は自分にとっての Python キラーアプリかも (2005-12-01)
- 私的10大ニュース2005 [ comp ] (2005-12-31)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
2005年11月22日 (火)
■ reStructuredText いいんじゃない?

昨日の続きであるが、reStructuredText がライトなドキュメント書きにはいいんじゃないかという感蝕を得た。
基本的にプレーンテキストのままで充分見られるので、そのままメールに貼りつけられる。
今までは文書を作成する際、メールで草稿をやりとりしたのち内容が固まったら LaTeX のコマンドでマークアップしてコンパイルしてPDF化していた。 これだとちょっと手間であるのだが、最初から reStructuredText 形式で書いていれば、そのまま rst2latex で LaTeX に落とせる。
また必要に応じて rst2html で HTMLに変換してWebサイトに置いておくこともできる。
これらで満足できない場合は Python のコードをいじって変更ということになるが、Python が駄目でも rst2xml でXMLに変換してしまえば他の言語でも reStructuredText のパーサを書かなくても(XMLの処理系を使って)コンバータを書くことができるの比較的楽である。
しかも欲しかったレコードの表現用にフィールドリストというシンタックスがあるではないか。
いいじゃん。
ということで早速今日から使うことにした。
Debian GNU/Linux sid にある Docutils 0.3.9 ではいわゆる全角文字も文字幅を1として扱かう。 このためテーブルなど桁揃えを用いる書式の部分がこのままだと不便である。 画面上では2文字分幅があっても1文字として数えられるため Docutils が通るようにするためには余計な空白などを入れて文字数を調整しなければならないが、そうすると今度は見た目的にずれるので可読性がかなり落ちてしまう。
この問題のためにMatsumoto,Tadashi氏がパッチ
を作成されているので、これを適用。
これでばっちり。
- 定型書式で内容を記述していくのに便利な形式は? (2005-11-21)
- Docutils は自分にとっての Python キラーアプリかも (2005-12-01)
- Docutils の reStructuredText から LaTeX ... (2005-12-07)
- FreeMind でマインドマップ (2005-06-02)
- Debian GNU/Linux に Hyper Estraier 1.2... (2006-05-31)
2005年11月24日 (木)
■ 早速 reStructuredText から LaTeX へのコンバータを書く

要求仕様書を書くのに reStructuredText を使ってみることにしる。 reStructuredText の文法の上で、あるルールに従って書いた特定のセクションやフィールドリストを要求レコードや要求仕様レコードとし、自前でコンバータを書いて LaTeX へ変換する形。
まずは最初のアイデア通り rst2xml で XML に変換してから、Perl スクリプトで読み込んで処理することにする。
Perl 側の処理は XML::LibXML で (何となく XML::DOM より好き)。 しかし毎度ながら DOM 面倒くさい。 とりあえず、今必要な要素のみ変換コードを書く。 reStructuredText を XML へ変換した時の DTD があるので、おいおいこれを見ながらきちんと埋めていかねば。
最低限のものができて、早速コンバート。
これで生 LaTeX で書くより随分楽になった。よし。
- 定型書式で内容を記述していくのに便利な形式は? (2005-11-21)
- Docutils は自分にとっての Python キラーアプリかも (2005-12-01)
- JavaScript でのプログラミングやっぱり面倒くさい (2006-07-23)
- reStructuredText いいんじゃない? (2005-11-22)
- Progect -> XML -> text, HTML (2004-04-16)
2005年12月1日 (木)
■ Docutils は自分にとっての Python キラーアプリかも

先日 reStructuredText ベースの要求仕様書ファイルから、LaTeX への変換プログラムを Perl で作成した。rst2xml で変換した XML 文書経由で。
欲しいところだけまずは実装して使ったんだけれど、この先使っていくには細かいところを組んでいく必要がある。やっぱりフルスクラッチするのは面倒だな。
本来は Docutils 用の Writer を作成するのが王道。
しかし Python なんだよね。以前に何度か覚えておこうと思ったんだけれど動機付けが弱かったのかいつも途中でフェードアウト。 しかし今回は明確な目的があるので、もりもりやりそう。
まずは既存の docutils.writers.latex2e.py あたりをコピーしていじって遊んでみるかな。 自分の場合この方法が一番覚えるのが早い。 小学生の時に最初にBASICをいじった時も、既存のゲームのパラメータとか改造から入ったし。
さて、その latex2e.py であるが「documentclass がオプションや設定ファイルで変更できるものの、標準の LaTeX2e 用のもののどれかしか駄目」だったりなど、普通に使うにもちょっといじる必要がありそう(jsbook とか使いたいし)。
一旦自分好みの LaTeX2e Writer を作ってから、それを拡張する形で特定文書毎の Writer を作るのがよさそうだ。
- 定型書式で内容を記述していくのに便利な形式は? (2005-11-21)
- 早速 reStructuredText から LaTeX へのコンバータを書く (2005-11-24)
- reStructuredText いいんじゃない? (2005-11-22)
- Docutils の reStructuredText から LaTeX ... (2005-12-07)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
2006年7月23日 (日)
■ JavaScript でのプログラミングやっぱり面倒くさい

JavaScript の勉強がてら「お互いに URL でリンクしている XML ファイルセットの簡易ブラウザ」を書き始める。
この間使い始めた Prototype を使って多少楽ではあるものの、それでもやっぱり面倒くさい。 コードを修正するたびに Web ブラウザで動作確認をするという流れが問題だな。
単体テストコードを書いて SpiderMonkey でテストできるかなと思ったが、document オブジェクトとかないし。
やはり JsUnit でテストを書くのが一番かな。
それと JavaScript (Web ブラウザ)の DOM API の情報がまとまっているものないかな。 Perl の XML::DOM の気分で書くといろいろ名前が違っていてうまく動かず、切ない。
- 早速 reStructuredText から LaTeX へのコンバータを書く (2005-11-24)
- Google Analytics から TSV エクスポートしてキーワード... (2007-11-18)
- SpiderMonkey の素のインタプリタでは CGI プログラムには役立たず (2006-12-11)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- ホームネットワークカメラ BL-C10 買っちゃった (2005-01-18)
2007年9月25日 (火)
■ Visual C# 2005 Express Edition ではどれを Subversion リポジトリに突っ込めば良いか?

Visual C# 2005 Express Edition で Windows アプリケーションテンプレートによる構成は下記 (名前を Example で作成した場合)。
| ファイル名 | 対象 | |
| Example.sln | o | ソリューションファイル (テキストファイル) |
| Example.csproj | o | プロジェクトファイル (XML ファイル) |
| Example.suo | ソリューションユーザオプションファイル (バイナリファイル) | |
| Program.cs | o | C# ソースファイル |
| Form1.cs | o | C# ソースファイル |
| Form1.Designer.cs | o | C# ソースファイル |
| Properties/AssemblyInfo.cs | o | C# ソースファイル |
| Properties/Resources.Designer.cs | o | C# ソースファイル |
| Properties/Settings.Designer.cs | o | C# ソースファイル |
| Properties/Resources.resx | o | リソースファイル (XML ファイル) |
| Properties/Settings.settings | o | 設定ファイル (XML ファイル) |
| bin/* | ||
| obj/* |
バージョン管理する必要があるのは「対象」のファイルで良いのかな? Form1 などはすぐ名前変更になるけれど。
@ 参考
@ 追記
@ 2007年12月4日
- Properties/Resources.Designer.cs を追加。
- Windows で pdumpfs (2004-11-14)
- Debian GNU/Linux で Dropbox (2008-09-16)
- 今日のさえずり - 上げ潮特大号 (2008-09-18)
- Flickr::UploadでLinuxから画像アップロード (2005-04-22)
- 今日のさえずり - 背後に立たれていても気がつかないという恐れ (2008-09-09)
2007年12月29日 (土)
■ Twitter ベイジアンフィルタプロキシ

Twitter で following が増えてくるにつれて、タイムラインに目を通すのが大変になってきた(という程きちんと見ている訳ではないが)。 さっとタイムラインをなめて面白そうな情報をピックアップしたい時は、「おはよう」とか「風呂入った」とか「トイレ」とかは除外して読みたい(そういう書き込み自体は嫌いじゃないのだが、人生はあまりにも短い)。
Twit や P3:PeraPeraPrv では NG ワード指定ができて、それらを含むステータスは表示しないようにできるのだが、Twitter の書き込みは揺らぎが激しすぎて指定しきれないという弱点がる。
ということでベイジアンフィルタでフィルタリングしてみることにした。
自前で Twitter クライアントを作る気はないので、proxy の形でさっと実装してみた。
#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Proxy;
use HTTP::Proxy::BodyFilter::complete;
my $proxy = HTTP::Proxy->new(port => 8088);
$proxy->push_filter(response => HTTP::Proxy::BodyFilter::complete->new,
mime => 'application/xml');
$proxy->push_filter(response => Bsfilter->new,
mime => 'application/xml');
$proxy->start;
{
package Bsfilter;
use File::Temp qw/tempfile/;
use XML::XPath;
use base qw(HTTP::Proxy::BodyFilter);
sub filter {
my ($self, $dataref, $message, $protocol, $buffer) = @_;
return unless defined($$dataref) && $$dataref ne '';
eval {
my $xml = XML::XPath->new(xml => $$dataref);
my @nodes = $xml->findnodes('/statuses/status/text/text()');
return unless @nodes;
for my $node (@nodes) {
my $text = $node->getNodeValue;
if (is_NG($text)) {
$node->setNodeValue("[NG] $text");
}
}
$$dataref = qq(<?xml version="1.0" encoding="UTF-8"?>\n);
$$dataref .= $xml->get_context->toString;
utf8::encode($$dataref);
};
if ($@) {
warn $@;
}
}
sub will_modify { 1 }
sub is_NG {
my ($text) = @_;
my ($fh, $filename) = tempfile();
utf8::encode($text);
print $fh $text;
close($fh);
my $result
= system(
"bsfilter --homedir ~/.twitter-bsfilter --ignore-header --auto-update $filename"
);
unlink($filename);
return !$result;
}
}
@ HTTP proxy の作成
Perl で HTTP proxy を作ろうとして真っ先に思い浮かんだのは POE だけれど、ちょっとヘビーなので今回は HTTP::Proxy をチョイス。 もともとフィルタリング HTTP proxy を作ることを念頭に置いた Perl モジュールなので今回の目的にぴったり。
1つはまった点といえば、filter の呼び出しがレスポンス全てを取得してからではなく一部分ずつの呼び出しになるところ。その仕様に気がつくのにちょっと時間がかかってしまった。 例えば XML 形式のレスポンスをフィルタしようとしても、普通に HTTP::Proxy を使うと XML の一部ずつがフィルタに渡されるため、XML のパースがうまくいかない。
これについては HTTP::Proxy::BodyFilter::complete を使うことで、まとめてフィルタに渡せるようになった。
@ レスポンスの処理
Twitter のタイムライン取得については P3:PeraPeraPrv が XML 形式で取得しているので、そのタイプのレスポンスをフィルタするようにした。
XML::XPath でステータス部分を抜き出して NG 判定し、NG であれば先頭に [NG] を追加する。 これで Twitter クライアント側で [NG] を NG ワード指定すれば、表示されないようにすることができる。
@ bsfilter による NG 判定
NG 判定は普段メールの spam フィルタとして使っている bsfilter を使った。 単純に system 関数で呼び出して結果を取得するだけ。
今回は対象がメールではないので --ignore-header を指定。また自動的に学習するように --auto-update を指定。 それと普段メールのフィルタリングに使っているのとは bsfilter のデータベースを別にしたいので、--homedir も指定しておく。
@ NG と非 NG の学習。
NG ワードを twitter-NG.txt に、非 NG ワードを twitter-clean.txt に書いて以下のコマンドを実行。
bsfilter --add-clean --ignore-header --homedir ~/.twitter-bsfilter twitter-clean.txt bsfilter --add-spam --ignore-header --homedir ~/.twitter-bsfilter twitter-NG.txt bsfilter --update --homedir ~/.twitter-bsfilter
自分の環境 (Debian GNU/Linux sid)では、UTF-8 で書いておいて問題なかった。
@ フィルタリングしてみる
あとは先の proxy を起動し、P3:PeraPeraPrv でプロキシとして localhost:8088 を指定すれば OK。
タイムラインを取得するたびに bsfilter が動いて NG なステータスには [NG] が挿入される。
@ フィルタリングの精度
これについては、まだまだチューンの必要ありかな。
- 事前の学習データが少ない。
- --auto-update していることもあり、最初に NG 判定が多いとそちら側に強化されすぎる。
- 毎回 bsfilter を呼んでいるため、同じステータスが何度も学習される。
まだ使える精度まで上がってないけれど、教師データを増やせばそれなりにいけるかもしれない。
proxy の枠組ができたので、(@~は抜いてから bsfilter に渡すとか、前後の文脈も含めるとか)いろいろ試して遊べそうではある。 別に bsfilter にこだわらず、正規表現による判定などをしてもよいし。
この辺り P3 は Java で書かれているので、プラグインを書いて拡張できるよう将来になると面白いなと思ってみたり。
- PAR (2004-07-19)
- 今日のさえずり - スーツに着た回数を記録する仕組みが欲しい (2007-12-24)
- 今日のさえずり - Twitter 日本語表示みた (2008-04-23)
- 今日のさえずり - 100g 減る前にアタック買いだめ (2008-05-28)
- bogofilter から bsfilter に乗り換え (2005-07-09)
Related web page
英語で記事を書いていて気がついたんだけど、技術用語の冠詞って、A ではなく AN になるものが多い。 例えば <strong>XML</strong> だと Create a <strong>XML</strong> node. は間違っていて、 Create an <strong>XML</strong> node. と書くべきだ。 一般に母音から始まる名詞のときに a ではなく an になる。<strong>XML</strong> がなんで an <strong>XML</strong> かというと、読みが「エックスエムエル」であり、母音から始まっているものとみなされるようだ。 ということで、同http://d.hatena.ne.jp/nitoyon/20080208/p1
間違ったやり方を理解することで、逆に正しいやり方の多くを学ぶことになるものです。Ajax (Asynchronous JavaScript™ + <strong>XML</strong>) アプリケーションにも当然、誤った作成方法と正しい作成方法があります。そこで今回の記事では、避けなければならない一般的なコーディングの慣習について説明します。 みんながみんな、すべてのことを最初から上手くできたとしたら、世界はまったくhttp://www-06.ibm.com/jp/developerworks/xml/library/x-ajaxxml3/index.shtml?ca=drs-
Ajax (Asynchronous JavaScript + <strong>XML</strong>) は確かに 2006年を賑わせた技術用語で、2007年も同じく、あるいはそれ以上に賑わせそうですが、実際のアプリケーションにはどのように影響するのでしょう。また、どの一般的なアーキテクチャー・パターンが Ajax アプリケーションで広く使用されているのでしょうか。この記事では、作業の基盤として使える Ajax に共通の 5 つのデザイン・パターンをhttp://www-06.ibm.com/jp/developerworks/xml/library/x-ajaxxml2/index.shtml?ca=drs-
http://www.maani.us/xml_charts/
Microsoft Corporationは21日、<strong>XML</strong>データをツリーで編集できる<strong>XML</strong>エディター「<strong>XML</strong> Notepad 2007」v1.0 英語版を公開した。Windows XP/Server 2003/Vistaに対応するフリーソフトで、現在同社のダウンロードセンターからダウンロードできる。なお、動作には.NET Framework 2.0が必要。 「<strong>XML</strong> Notepad 2007」は、3ペイン型の<strong>XML</strong>エディター。左側には<strong>XML</strong>データの構造をツリー形式で表示し、右側には各要素の編http://www.forest.impress.co.jp/article/2006/11/24/xmlnotepad2007.html
Windows XP 用 <strong>XML</strong>Lite (KB915865)http://www.microsoft.com/downloads/details.aspx?FamilyID=d7b5dc81-ad14-4de2-8ad5-8c4a9aab5992&DisplayLang=ja Windows XP x64 Edition 用 <strong>XML</strong>Lite (KB915865)http://www.microsoft.com/downloads/details.aspx?FamilyID=c7cb26e9-68f1-4f80-b231-79d044431e8e&DisplayLang=jaWindows Server 2003 用 <strong>XML</strong>Lite (KB914783)http://www.microsoft.com/downloads/details.aspx?FamilyID=611d1fde-c8d0-4d80-96da-b5b20f7ba159&DisplayLang=ja Windows Server 2003 x64 Edition 用 <strong>XML</strong>Lite (KB914783)http://blogs.wankuma.com/naka/archive/2006/10/02/40447.aspx
の中で、大部分がテキストである文書をフォーマットするための軽量マークアップ言語、reStructured Text を解説しました。またその前には、大部分がデータである文書のための軽量マークアップ言語、YAML を取り上げました。AJAX とマイクロフォーマットが一般的になってきたことを考えた場合、これらは相変わらず便利なのでしょうか。あるいは、マイクロフォーマットは十分「軽http://www-06.ibm.com/jp/developerworks/xml/060915/j_x-matters46.shtml?ca=drs-
バイナリー・コンテンツなど、<strong>XML</strong>内の非<strong>XML</strong>コンテンツにリンクするにはさまざまな方法があります。ときには、そのような外部コンテンツのすべてを<strong>XML</strong>に直接織り込まなければならないことがあります。データ・スキームURIはURI内で完全なリソースを指定する方法の1つであり、それを<strong>XML</strong>構造体で使用することができます。このヒントでは、この手段を使用して関連メディアを1つのhttp://www-06.ibm.com/jp/developerworks/xml/060310/j_x-tipdatauri.shtml?ca=drs-
<strong>XML</strong>::SAX がインストールされている場合、明示的な指定が無い限り、<strong>XML</strong>::Parser よりも <strong>XML</strong>::SAX 側のパーサーを優先的に利用する らしいです。てっきりパーサー指定をまったくしない場合は <strong>XML</strong>::Parser を呼び出してくれているんだろうと勝手に認識しちゃっていましたが、実はその逆でした。この事は perldoc の ENVIRONMENT セクションにちゃんと詳しく書かれていて、簡単に(テキトウに)http://iandeth.dyndns.org/mt/ian/archives/000589.html
RSS や OPML、changes.<strong>xml</strong> といった <strong>XML</strong> ドキュメントからある特定の要素だけを抜き出す処理はよくやります。例えば RSS に記載された permalink の URL を抽出して、それらを巡回などなど。 この特定の要素のみ抜き出すという処理の方法はいわゆる TMTOWTDI というやつで、いろいろやり方があります。正規表現、<strong>XML</strong>::Parser、<strong>XML</strong>::Lib<strong>XML</strong> + XPath などなど。で、速度的にはどんなもんなんだろう? とhttp://naoya.dyndns.org/~naoya/mt/archives/001209.html
■よく検索されるキーワード
torrent(142) expressions(72) 書き方(46) 竹内まりや(46) perl(42) 提案書(38) linux(38) windows(36) アジェンダ(34) x31(32) cvs(28) wiki(27) usb(26) ドラマ(22) 使い方(20) svn(20) アジェンダとは(20) centos(20) ganttproject(20) 設定(19) java(19) インストール(18) 秋葉原(18) debian(18) thinkpad(18) サンプル(18) 動画(17) ノート(15) 手帳(13) a6(13) truecrypt(13) tc-1(13) tortoisesvn(13) 無印(12) ssh(12) rcs(12) subversion(12) 冷蔵庫(12) nikon(12) allinanchor:*.torrent(12) firefox(11) ガントチャート(11) 画像(11) 日本語(11) 生年月日(11) apache(11) メール(11) ダイソー(10) 無料(10) 壁紙(10) リフィル(10) ubuntu(10) 作り方(10) dropbox(10) c#(9) xp(9) oracle(9) xampp(9) terastation(8) 方眼(8) マイク(8) ヨドバシカメラ(8) テンプレート(8) ほぼ日(8) cwrsync(8) google(8) ming(8) 評判(8) 影舞(8) madwifi(8) アカウント(8) window(8) usbメモリ(8) gantt(8) project(7) 三条まゆみ(7) hdd(7) 変換(7) カバー(7) 交換(7)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 方法 設定 サンプル ダウンロード セール 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 最新 MP3 動画 Torrent 解説 意味 用語集 参考文献 お薦め お勧め おすすめ 便利 Blog ブログ mixi 待受画面 修理Process Time: 1.997414s / load averages: 1.10, 1.49, 1.38
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク