Mac De PL/SQL RSS Reader #29 (XSLT編#1) Tweet
ノドが痛いと思っていたら、熱。インフルエンザではないが、風邪には違いない。(油断禁物ですね。。)1日休んだら、回復しましたけど、本調子に戻っていないので今日はおとなしくして明日は完全復活する予定。(週末は花見もしないとならんし。。な)
さて、PL/SQLでRSS Readerを作ってきたが、XSLTスタイルシートを利用した場合はどうなるか?
ということで、以前のプロシージャをベースに、XSLT版に書き換えてみることにする。
利環境は前回からの続きなので変更はないのだが、念のために、データベース、Web Toolkit、そして、Apexのバージョンを載せておく。
SYS> select version from v$instance;
VERSION
-----------------
10.1.0.3.0
SYS> select owa_util.get_version from dual;
GET_VERSION
--------------------------------------------------------
10.1.2.0.6
SYS> select flows_030000.wwv_flows_release from dual;
WWV_FLOWS_RELEASE
--------------------------------------------------------
3.0.0.00.20
SYS>
尚、開発には、 Oracle SQL Developer 1.1.2.25 Build Main 25.79 を使用した。
SQL Developerでは、OWAの出力もできるようなので試したかったということもあったのだが。。。
試してみるとOWAが書き出す量が多いとエラーになるようだ、具体的にどの程度ということまでは確認していないのだが。。HTP.PRNで4000バイト以上は書き出している。
但し、エラー時にもHTP.PRINTでエラー内容を出力しているのだが、こちらは、画面のスナップショットからも判るように問題なく表示されている
(前述の問題は、dbms_outputパッケージで代用できるので、特に困るということもないので深入りしないでスルー。(^^;;;)
前回までとは異なり、PL/SQL内部でDOMをトラバースしたりすることはせず、XSLTスタイルシートを利用してRSS/RDF/ATOMをHTMLに変換する。
変換後のHTMLには、FEEDのタイトル及びリンク、各記事の要約とリンク、それに記事の作成日があれば表示することにした。
尚、記事の作成日については、該当要素値から日付(RFC3339形式)部分を表示することにした。(RFC882形式の場合は、曜日も含める)
また、XSLスタイルシートの読み込み方法は幾つかあるが、今回はディレクトリオブジェクト以下にあるスタイルシートを読み込むことにした。。
XSLTスタイルシートで、xsl:choose要素や、xsl:if要素。xsl:variable要素なんて多用してしまうと、もの凄く読みにくいJSPのようになってしまいそうな気がする。。。
ところで、しっかりと内容を確認していないのだが、XML Master professional Database を取るべきか、Applicationを取るべきか悩みなすね。。
DBMS_OUTPU.PUT_LINEを利用してデバック変換後のHTMLを表示しているところ。
適当に作ったXSLTスタイルシートもなんとか思い通りのもにに仕上がったので、Apex3.0でお試し。。
次回へつづく。
| 固定リンク | 0
コメント