2012/01/18

XSLTでコメントを出力するには?

どーも。

今回は、XSLTなるものについてのお話。

実は、このブログではツイッターのまとめを自動投稿しているんですよ。
もちろん(?)自分でそんな便利なものを作り上げられるわけもないので、他の方が作った便利なサービスを利用しているだけなんですけどね。
「t2b」(http://t2b.utilz.jp/)というサービスです。(現在は新規登録停止中みたいです)

で、このサービスはXSLTで変換する内容を指定するんですけどね。
今まではながーい「Twitterまとめ」なるものがトップページを占拠していたんですね。はい。

それを今回、Twitterまとめに関してはタイトルだけ表示させて、中身は「もっと見る」リンクをクリックしてもらうように変えたってわけ。
一応、これで見た目は若干すっきりするかなー、と。

というわけで詳しい内容は以下から。


で、bloggerでは、『これ以降は「もっと見る」リンクをクリックしてもらうようにしますよー』という区切りを入れなければならないわけです。
どうやら、<!--more-->とHTMLのコメントソースをいれてるみたい。

ということは、XSLTも一種のXMLですから、コメントの文字列は普通にコメントアウトされてしまうわけで。

さっきまでは、
        <xsl:text>&lt;--more--&gt;</xsl:text>

なんて指定してみたんですけど、これじゃあ意味がないんですよね。見た目としてはきちんと
        <!--more-->

って表示されるんですけど、プログラム的には
        <!--more-->
じゃないんです。 どーしよーと思ってたら、そもそもテキストノードだけで何とかしようとしていた自分がおバカさんだってことに気がついちゃいました。 そうそう。 コメントを出力するためだけにある、コメントノードを組み合わせれば解決なのです。 つまり、こんなかんじ。
         <xsl:comment>
                <xsl:text>more</xsl:text>
         </xsl:comment>
こうすれば、コメントとしてテキストノードで指定した文字列がそのまんまコメントアウトされるようになるわけです。 なんというか、自分の無知を思いっきり露呈してしまった形になりましたけど。 一応、備忘録として。 受験終わったら、しっかりXMLとか勉強しなきゃ。

0 件のコメント:

コメントを投稿