Web Artisan Blog - ウェブ アルチザン ブログ

XML:2005年12月にRFC勧告されたATOMに対応してXSLT変換

XML

2006年01月16日

久々にXSLTネタ。。

Research ArtisanのTOPページなどに表示される”登録サイトピックアップ”部分は、ユーザー登録されたサイトのRSSアドレスをHTMLに変換して表示しているのですが、これの変換はXSLTで行っています。で、最近になってATOMフィードされているサイトの変換がどうもうまくいってないので調べてみると、ATOM仕様がRFC化され若干フォーマットが変わったようです。

Atom-RSS改訂の試み
Atomは、RSSのコンセプトを継承しつつ、シンジケーション/コンテンツ配信を主眼に発展的な新しいフィードのフォーマットを作ろうというプロジェクトで、2005年12月にRFCとなりました。


>続きを読む・・・XML:2005年12月にRFC勧告されたATOMに対応してXSLT変換
0 Comment  0 Trackback  Permalink

XML:XSLT:再帰によるカウント処理:call-template

XML

2005年06月23日

XSLTでは、基本的に動的なコーディングはできないと言っていい。
つまり、通常の言語なら変数に値を入れる事で容易に出来る処理でも、
XSLTでは変数を変数的に使えない(定数的である)為、
かなり頭を悩ますところである。

しかし、XSLTでは再帰処理を用いる事で、
動的な処理を行う事も出来る。

「自分で自分自身を呼ぶ」というような再帰処理。
ついつい訳がわからなくなって敬遠しがちな人もいるかも知れないが、
これをXSLTでうまく利用すれば、XSLTでできる事の可能性は広がってくる。。
>続きを読む・・・XML:XSLT:再帰によるカウント処理:call-template
2 Comments  0 Trackback  Permalink

XML:XSLTで関数(ファンクション)的に処理したい場合:call-template

XML

2005年06月22日

XSLT内で同じような処理を複数書く必要性があった場合、
templateを利用して処理を関数的にすることができる。
>続きを読む・・・XML:XSLTで関数(ファンクション)的に処理したい場合:call-template
0 Comment  0 Trackback  Permalink

XML:XSL:XSLT:変数(variable)の取扱い

XML

2005年06月16日

まず、XSLTの変数(variable)については、
>XML:XSL:XSLT:変数(variable)に値を代入するには
で書いた通り、所謂、定数的にしか取り扱う事が出来ない。
つまり、1回しか値が代入できないともいえるが、、
>続きを読む・・・XML:XSL:XSLT:変数(variable)の取扱い
16 Comments  0 Trackback  Permalink

XML:XSLT:XPATH:ロケーションパスを使ったデータ加工:child

XML

2005年03月16日

(駄文)
当サイトではXMLの技術研究も行っているが、
現状、あまり人気のある(読まれる)記事ではない。
何でか??
XMLという言葉だけで、「難しい」・「訳わからん」、、
いや、それ以前に「興味ない」いう事であろうか。。

しかし、今後は今まで以上にXMLが色んな局面で重要視されてくるのは間違いない、
と当サイトでは考えている。
この辺のメモは、後々重宝される記事になり得るので、
人気云々は置いておいて、今後もメモしていこうと思う。

で、XMLデータの加工はXSLTをうまく使用すれば、
あれま!?と思うくらい簡単にできる。
今回もその一例をば。

とにかく、
「まあ、みなさん聞いてください(人生幸朗調)」
XMLってやりだすと面白いっすよ!


(本題)
XMLデータをXSLTで加工する際、XPATHを使う事で、
かなり容易にデータを取り出す事が出来る。
XPATHは、うまく使えば使うほど、その威力を強烈に発揮すると言えよう。

今回は、コンテキストノードの子要素を選択する”child::”を使って、
その使用方法の一例をメモする。
>続きを読む・・・XML:XSLT:XPATH:ロケーションパスを使ったデータ加工:child
0 Comment  1 Trackback  Permalink

XML:XSLTで最大値を求める

XML

2005年03月07日

XSLT関数には、「count関数」や「sum関数」のような数値計算関数があるが、
「max関数」といったように関数として最大値を求めれるものはない。
しかし、「sort」や「position関数」を使用して最大値を求める事は可能である。
>続きを読む・・・XML:XSLTで最大値を求める
0 Comment  0 Trackback  Permalink

XML:XSLT:パラメータを使ったテンプレート間のデータ受け渡し:with-param

XML

2005年02月21日

パラメータを使って、外部(XSLTの外)からXSLTに値を渡す方法は、
PHPのTipsとして書きました。
>PHP:XSLTに外部から引数(パラメータ)を渡す方法:DOM XML関数

今回は、XSLT内のテンプレート間で値を受け渡す方法を記述します。
>続きを読む・・・XML:XSLT:パラメータを使ったテンプレート間のデータ受け渡し:with-param
0 Comment  0 Trackback  Permalink

XML:XSLT:XPATH:ロケーションパスで条件指定して子要素を取得する

XML

2005年01月21日

XMLデータを扱う際に”XPATH”を有効に利用すれば、
かなり容易にデータ編集できる。
それは、XPATHに関数が用意されている事も要因の一つと言えるが、
XPATHの「パス表現」をうまく利用するだけでも効果は絶大である。
>続きを読む・・・XML:XSLT:XPATH:ロケーションパスで条件指定して子要素を取得する
0 Comment  0 Trackback  Permalink

XML:XSLT:for-eachを使用しての繰り返し処理:その使い方の切り分け

XML

2004年10月28日

■for-each
指定したノードに対して、繰り返し処理を行う。


<記述例>

<xsl:for-each select="./count">
  test1:<xsl:value-of select="." /><br />
</xsl:for-each>



XSLTにおいて、XMLデータのノードを辿って処理する場合、
基本的には、選択したノードに直接テンプレートを指定すればよい。
しかし、ノードを順に辿っていく過程で、前にあったノードを参照したい場合がある。
更に、その前にあったノードで繰り返し処理を行いたい場合などには、
”for-each”の繰り返し処理を適用する事で実現可能となる。

>続きを読む・・・XML:XSLT:for-eachを使用しての繰り返し処理:その使い方の切り分け
1 Comment  0 Trackback  Permalink

XML:XSLT:インクルード(include):別ファイルインクルードを使って、テンプレートの再利用

XML

2004年10月19日

■include
複数のXSLT内で同じ処理を行うような場合、
1つの別のXSLファイルをインクルードファイルとして使用し生産性を高める。

<記述例>


<xsl:include href="include.xsl" />



>続きを読む・・・XML:XSLT:インクルード(include):別ファイルインクルードを使って、テンプレートの再利用
0 Comment  0 Trackback  Permalink