このHOW TOの作成
KELFエクスポート機能の使い方(番外)
INDEX
KAZUSOFT
KELFメインページ
エクスポート機能の使い方
NetNewsログのXML化
FAQ集を作る
XMLの変換(HTML化)
KELFをXMLエディタ風に
KazusoftのHPを素材に
(番外)このハウツーの作成
LINKs
W3C仕様関係各種の情報XSLTプロセッサ
1. ファイル公開
時間に追われながら書きなぐったので、XMLやXSLには恥ずかしい部分が多いのですが、少しはみなさんの役にたつかと思い、このハウツーを作成するために使ったすべてのファイルを公開します。
すべてをダウンロードした場合、下のようなディレクトリ構成になります。

<Howtoexportディレクトリ>
  公開用のhtmlファイル
  <imageディレクトリ>
    公開用htmlが使う画像ファイル。
  <xmlディレクトリ>
    html生成のためのデータをおさめたXMLファイル。
    各htmlを生成するXSLファイル
    <textディレクトリ>
      XML生成のためのKELF用文書(*.x_)
      XML生成のためのKELF用文法ファイル(forxml.kps)
      エクスポート用設定ファイル(*.ini)
      例3で使用するファイル類
        addinfiles.txt,addinfilex.xml,addinfiles.xml
        makeproglist.xsl relate.xsl relate.html
      <imageディレクトリ>
        relate.htmlが使う画像ファイル




2. 各ページの生成
<「KELFエクスポート機能の使い方」index.htmlの作成>
(1)./xml/text/howtoexport.x_をforxml.kpsの文法でKELFに読み込み、howtoexport.iniでエクスポート。/xml/howtoexport.xmlを作成する。
(2)./xml/howtoexport.xmlと./xml/howtoexport.xslからindex.htmlを生成。


<「NetNewsログをXML化」exp_netnews.htmlの作成>
(1)./xml/text/exp_netnews.x_をforxml.kpsの文法でKELFに読み込み、exp_netnews.iniでエクスポート。./xml/exp_netnews.xmlを作成する。
(2)./xml/exp_netnews.xmlと./xml/exp_netnews.xslからexp_netnews.htmlを生成。


<「FAQ集を作る」exp_faq.htmlの作成>
(1)./xml/text/exp_faq.x_をforxml.kpsの文法でKELFに読み込み、exp_faq.iniでエクスポート。./xml/exp_faq.xmlを作成する。
(2)./xml/exp_faq.xmlと./xml/exp_faq.xslからexp_faq.htmlを生成。


<「XMLを変換する」transxml.htmlの作成>
(1)./xml/text/transxml.x_をforxml.kpsの文法でKELFに読み込み、transxml.iniでエクスポート。./xml/transxml.xmlを作成する。
(2)./xml/transxml.xmlと./xml/transxml.xslからtransxml.htmlを生成。


<「KELFをXMLエディタ風に使って」mk_proglist.htmlの作成>
(1)./xml/text/mk_proglist.x_をforxml.kpsの文法でKELFに読み込み、mk_proglist.iniでエクスポート。./xml/mk_proglist.xmlを作成する。
(2)./xml/mk_proglist.xmlと./xml/mk_proglist.xslからmk_proglist.htmlを生成。


<「Kazusoft HPを素材に」mk_proglist2.htmlの作成>
(1)./xml/text/mk_proglist2.x_をforxml.kpsの文法でKELFに読み込み、mk_proglist2.iniでエクスポート。./xml/mk_proglist2.xmlを作成する。
(2)./xml/mk_proglist2.xmlと./xml/mk_proglist2.xslからmk_proglist2.htmlを生成。


<「(番外)このハウツーの作成」mk_howto.htmlの作成>
(1)./xml/text/mk_howto.x_をforxml.kpsの文法でKELFに読み込み、mk_howto.iniでエクスポート。./xml/mk_howoto.xmlを作成する。
(2)./xml/mk_howto.xmlと./xml/mk_howto.xslからmk_howto.htmlを生成。


KELFからのエクスポートで、それぞれxxxxx.iniという個別の設定ファイルを使っていますが、実質的にこれらはすべて同じ内容です。ひとつのファイルを使ってもいいです。ただ、文書名と同じ名前にしておくと、「エクスポート」⇒「過去の設定を読み込む」のとき設定ファイルを選択する手間がはぶけます。

エクスポートの「過去の設定を読み込む」は、KELF登録ユーザーしか使えません。手で入力してもそんな手間ではないと思います。「Kazusoft HPを素材に」で説明しているのと同じ設定でエクスポートしてください。

文法ファイルも同様です。登録ユーザーしか利用できません。「Kazusoft HPを素材に」で説明しているのと同じ文法ですので、非登録ユーザーは手で文法を入力してください。入力は一度ですみます。一度入力して「文法を保存」すればレジストリに記録されますので、次からは番号で呼び出せます。


3. XSLの簡単な説明
各ページはすべて同じ構成です。

タイトル部は、contents.xsl内にある
<xsl:template name='gen_toptitle'>
  ・・・・
</xsl:template >
で作成しています。
ページ生成用の各XSLからデータファイル名を渡し、そのファイル名によってタイトル文字列を変えています。


ページ左上部のINDEXは、contents.xsl内にある
<xsl:template name='gen_contents'>
  ・・・・
</xsl:template >
で作成しています。
ページ生成用の各XSLから渡しているのは、indexlist.x_から作成したindexlist.xmlというデータファイルです。
indexlist.x_をご覧いただけばわかるように、これは、各ページで使うXMLデータファイルの一覧です。gen_contentsテンプレートはこの一覧からそれぞれのデータファイルを開き、そのトップに書かれている<index>要素から大きな項目を作成、<article>要素の<title>からページ内の小項目を作成しています。
そのとき、現在開いているページの部分は文字色を変えたいので、ページで使うデータファイル名を、各ページ用XSLからパラメタとして渡しています。


ページ左下部のLINKsは、linksofxml.xsl内にある
<xsl:template name='gen_linksofxml'>
  ・・・・
</xsl:template >
で作成しています。
使用するデータファイルはlinksofxml.xmlで、linksofxml.x_からのエクスポートで作成しています。


ページ右のメイン記事の部分は、すべてmainarticles.xsl内にある
<xsl:template name='gen_mainarticles'>
  ・・・・
</xsl:template >
で作成しています。
ページごとにデータファイルが変わるだけです。データファイル名をパラメタとして渡しています。


ページ下のフッタ部は、hwe_footer.xsl内にある
<xsl:template name='gen_hwefooter'>
  ・・・・
</xsl:template >
で作成しています。
ページジャンプ用のリンクは、上のINDEXとまったく同じ論理構成で作成しています。










エクスポート機能の使い方 | NetNewsログのXML化 | FAQ集を作る
XMLの変換(HTML化) | KELFをXMLエディタ風に | KazusoftのHPを素材に
(番外)このハウツーの作成


作成:2002年1月15日
Copyright(C) 2002 Kazuhiro Kito(k-kito@kazusoft.com)