作者: 藤岡和夫
日時: 2002/1/31(23:30)
On Thu, 31 Jan 2002 01:09:56 +0900 (JST)
Hiromichi Honda <raku@...> さんwrote:

> 私は XML を使うなとは言っていません。むしろ、使ったほうがいいと思います、
> ブラウザで XSLT などが少なくとも JavaScript 並には汎用的となれば、ですね
> (^^;。なぜなら、やはり HTML ではタグ名がニュースの内容に合っていないから、
> です。それだけか? それだけです。本当は SGML 並にタグの省略とか、DTD の
> 木構造がサポートされてほしいのは山々なのですが。

 いろいろ試しているのですが、まだXML/XSLの実装はブラウザにおいて不完全
な感じがしますね。IE6/NS6.2においてさえです。最終的にはHTMLに変換する必
要がありそうです。そうしておけばどのようなブラウザが使われるかの心配は不
要になりますし。

> 私が書いた意味は、一つには、シンプルな形で一応収集システムを実現しておけ
> ば、それを拡張した形である RSS や XML-RPC などが取っつきやすくなるだろう、
> ということです。また、Perl だけ入れればいいとなると、個人の情報共有シス
> テムとしてお手軽にセットできそうだな、という、それだけのことです。あとは 
> XSLT を書く練習(^^;。

 そうですね。ピアソン・エデュケーションの「XSLT Web開発者ガイド」という
本をお正月に買ったのですが、今のところ積読になっています。

 まずはニュースに盛り込みたい中味を決めましょうか。関連URLが欲しいなと
思って、今の試作版には取り込んでいます。

 現在のXSLは、

<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!--
    <xsl:output method="html" encoding="Shift_JIS" doctype-public="-//W3C/DTD XHTML 1.0 Strict//EN" doctype-system="DTD/xhtml1-strict.dtd" />
-->
    <xsl:output method="html"/>
    <xsl:template match="/">
<!--
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
-->
        <html>
        <head>
            <title>News on TS Network</title>
            <link href="ts_news2.css" rel="stylesheet" type="text/css" />
            <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
        </head>
        <body>
            <div class="top">News on TS Network</div>
            <p><i><b>Table of Contents</b></i></p>
            <ul>
                <xsl:for-each select="ts_news/news">
                    <li><a>
                        <xsl:attribute name="href">
                            #<xsl:value-of select="generate-id()"/>
                        </xsl:attribute>
                            <xsl:value-of select="title"/>
                        </a><xsl:text>  </xsl:text>[<xsl:value-of select="date"/>]</li>
                </xsl:for-each>
            </ul>
            <hr />
            <xsl:for-each select="ts_news/news">
                <p><div class="title"><a>
                    <xsl:attribute name="name">
                        <xsl:value-of select="generate-id()"/>
                    </xsl:attribute>
                        <xsl:value-of select="title"/>
                </a></div></p>
                <div class="source">
                    <p>
                        <xsl:value-of select="source/name"/>
                        <xsl:text> </xsl:text>
                        <a>
                            <xsl:attribute name="href">
                                mailto:<xsl:value-of select="source/mail"/>
                            </xsl:attribute>
                            <xsl:value-of select="source/mail"/>
                        </a>
                        <xsl:text> </xsl:text>
                        <a>
                            <xsl:attribute name="href">
                                <xsl:value-of select="source/url"/>
                            </xsl:attribute>
                            <xsl:value-of select="source/url"/>
                        </a>
                    </p>
                </div>
                <p><div class="date"><xsl:value-of select="date"/></div></p>
                <p><div class="content"><xsl:value-of select="content"/></div></p>
                <div class="relurl"><ol>
                <xsl:for-each select="relurl">
                    <li><a>
                        <xsl:attribute name="href">
                            <xsl:value-of select="url"/>
                        </xsl:attribute>
                            <xsl:value-of select="name"/>
                    </a></li>
                </xsl:for-each>
                </ol></div>
            </xsl:for-each>
        </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

藤岡 和夫
FGALTS@...
kazuf@...
kazuo_fujioka@...
TS Networkのために http://homepage1.nifty.com/kazuf/