にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2017/06/21. 12:29:59.

XSLT・XPathで煮詰まる

XMLファイルをブラウザで整形して表示させるには、XSLTを用意する必要があるわけですけども、このXSLT、なかなか奥が深くてややこしいです…。(^^;;;

XMLでデータを返してくれるWebサービスを利用するとき、XMLを自前のプログラムで解析して利用することもできますが、返ってきたXMLをそのまんま利用して、XSLTを使って表示させることもできます。

前者の場合、自由度の高い利用ができますが、自分が運用するサーバに負荷がかかります。後者の場合、前者の場合ほどの自由度はありませんけど、処理するのはクライアントPCなので、自分のサーバに負荷はあまりかかりません。

AmazonのWebサービスの場合、Amazon側のサーバで、XSLTを解釈した結果(の文字列)を返してくれるようにすることもできます。こうすると、負荷が掛かるのはAmazon側のサーバということになって、自分のサーバも、それを利用するクライアントも、負荷はかからないことになります。これ、なかなかいいですね。

で、自前のプログラムでXMLを解析するよりかは、XSLTを記述する方が簡単なのかも知れませんが(^^;)、XSLTはXSLTで、なかなか大変です…。
今日、かなーり煮詰まりました。XSLTで…。^^;;;
XSLTで、というか、煮詰まったのはXPathだったんですが。

「省略された名前空間を持つエレメント」を指定したい場合。
階層構造そのまんま

myfavorites/dvd/anime/sakura/

…みたいに指定はできず、

*[local-name()='myfavorites']/*[local-name()='dvd']/*[local-name()='anime']/*[local-name()='sakura']

…みたいな、とんでもない指定をするしかなかったり…。
もうちょっと楽に(というか見やすく)ならんもんなのか。^^;;;

完全に解決に至る前に、帰宅時間になっちゃったんですけど、一応上記の方法で解決はできるっぽいので(それが最良なのかどうかイマイチ分からんのですが)、明日はそれを使って実験してみます。

むひょー。

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※ご投稿頂いた内容は、掲載前に管理者が確認する設定にしている場合があります。たいていは数日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

著者紹介


にしし(西村文宏)

にししでございます。本書いたり記事書いたりしてます。あと萌えたり。著書5冊発売中です(Web製作系4冊+小説1冊)。著書や記事は「西村文宏」名義。記事は主にAll Aboutで連載。本の最新刊は2011年3月に発売されたライトノベルでございますよ。

Twitter:にしし/西村文宏
にしし/西村文宏 on facebook にしし/西村文宏 on mixi にしし/西村文宏 on Google+ フォローはお気軽に!

にしし(西村文宏)連絡先
☕ コーヒーをおごる

著書一覧と詳細

関連する記事など

※下記には、本サイト内外の関連記事などが8本くらい自動で表示されています。

にししふぁくとりー Sakura scope内限定での主要なカテゴリ

--- 当サイト内を検索 ---