前へ|次へ|戻る

nyantarou and xml 004

第一段階

xml

闇雲に 進んで 来ましたが 息切れします。色々 web を彷徨う事 燦然哩 ど うも xml ちゅのは html の 単に 次の 表示 方法では 無いようです。(にゃんたろうは ここでは html の 次期 バージョン が xml と 考えていました が どうも そうでは 無いようです。)html の 後は xhtml ちゅうのも あるようです。xml と いうもんは ある 文字列を 何か 区別をつけて つまり 文字列の 間に 文字の 区切りを 入れて 其区切を 何かの 印をつけて 表現する 方法の ようです。従ってある文字の 連なりを 区画して その 区劃した物で 文字の連なりを 他の 物で 制御して 違う 形に 置き換える 事が 可能な 物のようです。従って 何の 制御も していない場合は ブラウザで 見る事が 出来ても それは html の 形としては 見えない ということの ようで す。先ほどの 例で 闇雲に 作成したが 結果的に 他の物で 置き換えて それを 見た ということの 様に なりました。xml 単独では html 形式で 見るような 器用な ことは 出来ない xsl という物が 必要になった。

本来

ニワ
ニワニワニワ
ニワトリガ
イマス

上記の 様な物を 表示 するのであれば xml なんて 凝った事を する必要は 無いと 言う事です。しても かまわないけれど。要するに もうすこし 基本から 始める 必要が あるようです。

これだけで 終わるのも やって なんぼ というからには もうすこし なんら かの 形にして 後に続けたい と思う まず リンク から これを 見てみよう 0004test.xml へリンクこれは 戻る のみの ものですが 参考に 出来るでしょう、まず xml 文章を 見てみましょう

$ cat 0004test.xml 
<?xml version="1.0" encoding="euc-jp" standalone="no" ?>
<?xml-stylesheet type="text/xsl" href="stsheet004.xsl"?>
<linkb>
        <place>1004exsp.html に戻る</place>
        <where>1004exsp.html#back</where>
</linkb>

では それに対する xls を 見てみましょう

$ cat stsheet004.xsl 
<?xml version="1.0" encoding="euc-jp"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:output method="html" encoding="euc-jp"/>
<xsl:template match="linkb">
                <html>
                        <body>
                                <a>
                                        <xsl:attribute name="href">
                                                <xsl:value-of select="where"/>
                                        </xsl:attribute>
                                        <xsl:value-of select="place"/>
                                </a>
                        </body>
                </html>
        </xsl:template>

</xsl:stylesheet>

後はこれらの 機能を 組み合わせて 行けば 曲がりなりにも 何とか なりそ うですが 今回は このくらいで 打ち止めに しましょう。少なくとも xml と html とは 別物 ということが 認識出来れば 良しと しませう。これも 0005test.xml へリンクしてるだけです。xsl は同じ内容で xml 文書に DTD を 追記しただけです。

$ cat 0005test.xml 
<?xml version="1.0" encoding="euc-jp" standalone="no" ?>
<?xml-stylesheet type="text/xsl" href="stsheet005.xsl"?>
<!DOCTYPE linkb [
<!ELEMENT linkb (place,where)>
<!ELEMENT place (#PCDATA)>
<!ELEMENT where (#PCDATA)>
 ]>

<linkb>
        <place>1004exsp.html に戻る</place>
        <where>1004exsp.html#back02</where>
</linkb>

参考の為表示すると

$ cat stsheet005.xsl 
<?xml version="1.0" encoding="euc-jp"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:output method="html" encoding="euc-jp"/>
<xsl:template match="linkb">
                <html>
                        <body>
                                <a>
                                        <xsl:attribute name="href">
                                                <xsl:value-of select="where"/>
                                        </xsl:attribute>
                                        <xsl:value-of select="place"/>
                                </a>
                        </body>
                </html>
        </xsl:template>

</xsl:stylesheet>

これで 後 表示を 何か考えれば xml 文書を html もどきの 表示が 出来る 事に なります。だんだん 本来の趣旨に 反するのですが やってなんぼの 精神 から もうすこし 見てみましょう。

にゃんたろう 拝!
2005年11月12日 (土) 23:18:16 JST 作成


前へ|次へ|戻る
Copyright © 2004.-2007. nyantarou All Rights Reserved.