KELFをXMLエディタ風に使って
KELFエクスポート機能の使い方(例-3A)
INDEX
KAZUSOFT
KELFメインページ
エクスポート機能の使い方
NetNewsログのXML化
FAQ集を作る
XMLの変換(HTML化)
KELFをXMLエディタ風に
KazusoftのHPを素材に
(番外)このハウツーの作成
LINKs
W3C仕様関係各種の情報XSLTプロセッサ
1. KELFをどう使うか
具体例(1)のNetNew記事のエクスポートは、既存の文書をそのままXML化したものでした。
具体例(2)のFAQ集の作成は、文法を作り、XML化を意識して文書を書き、ブラウザで表示できるようにしました。
これらは、通常の文書を簡単にXML化できる、という点において大きな意義があるものと自負しています。
しかし、凝ったデータ構造や凝った表示をしようとすると、KELFのセクション構造の制約から、種々の無理が生じてくるのも事実です。
そこで、この項では、KELFをXMLエディタ風に使うことにより、自由にXML文書を作成する方法を示します。

ただ、この方法を採用した場合、スタイルシートはすべて自分で書かなければなりません。どんな形式の文書が作成されるか、まったく予想できないので、それに見合ったCSSやXSLを自動生成することができないからです。
ですから、この手法を使い、ブラウザで表示するための文書を作成するには、XSLの知識が必須になります。ブラウザでの表示を考えず、データ貯蔵用としてのXMLを作りたいだけなら、XSLは無関係で、この項を読んでいただくだけで、だれもが作成できると思います。

(XSLそのものはきわめて簡単な言語です。アプリケーションマクロを使うような感覚で使うことができます。
ただ、XSLはXMLの上になりたっています。望みのデザインを生成するためには、前提としてHTMLの知識も必要でしょう。そうした基礎になる知識が乏しいと、XSLをむずかしく感じさせるかもしれません。)



2. タイトルをタグ名にする
「KELFをXMLエディタ風に使う」を具体的に言えば、セクションタイトル、またはその一部をXMLの要素名にする方法です。

例をあげて説明します。
次のような構造の住所録XMLを作成したいと仮定します。


<個人>
  <名前></名前>
  <姓></姓>
  <ふりがな></ふりがな>
  <メールアドレス></メールアドレス>
  <携帯電話></携帯電話>
  <電話></電話>
  <FAX></FAX>
  <住所></住所>
  <勤務先>
    <会社名></会社名>
    <電話></電話>
  </勤務先>
  <誕生日></誕生日>
</個人>


KELF流に言えば、階層0が個人、階層1に名前、姓、ふりがな、携帯電話、電話、FAX,住所、勤務先、誕生日があり、階層2に会社名と電話があります。

こうした構造をもつXMLを作成する場合、新たに文法を作ります。
文法の肝心なところはタイトル行の設定です。
たとえば、つぎのような3パターン設定します。

(パターン1)^#0−
(パターン2)^#1−
(パターン3)^#2−

「タイトルの種類で階層構造を作る」をチェックしておきます。
このパターンをXMLの構造に対応させるのです。そのため、上のパターンを^#[0-9]−と書かないで、3つにわけているわけです。

具体的には次のように文書を書いていきます。おそらく全セクション表示モードが使いやすいでしょう。

#0−個人
#1−名前
太郎
#1−姓
山田
#1−メールアドレス
yamada@foo.co.jp
#1−携帯電話
090-xxxx-xxxxx
#1−住所
東京都xxxxx


#0−個人
#1−名前
花子
#1−姓
鈴木
#1−メールアドレス
suzuki@some.co.jp
#1−住所
東京都xxxxx
#1−勤務先
#2−会社名
A電気産業
#2−電話
03-7xxx-xxxx


#0−個人
#1−名前
一郎
#1−姓
斉藤
#1−メールアドレス
saito@some.co.jp
#1−住所
北海道xxxxx
#1−勤務先
#2−会社名
SSS株式会社
#1−誕生日
1972/1/1

そしてある程度入力したら、「文書全体の再解析」コマンドでセクション構造を構築します。セクション構造を構築したら、あとはエクスポートの実行です。


最初のページに「セクションタイトルを要素名にする」といチェックボックスがあります。ここをチェックします。チェックすると「一部分を抽出して要素名にする」がチェック可能になりますので、ここもチェックします。
そしてこの場合なら、「抽出用の正規表現」として、

^#[0-9]ー(.+)$

と指定し、マッチさせる部分として1、すなわち(.+)の部分を指定します。
あとはデフォルトのままでOKです。
「最後のページ」へ飛び、XMLを出力させます。
最初に意図したXML構造が出力されるはずです。このあと、これをどう使うかはあなた自身が考えなければなりません。


3. 具体的な例
Kazusoftのホームページはほとんど上記の手法で作成しています。
ポイントは上記で尽きているのですが、次項ではKazuoftホームページから素材を取り、実践的な例を示します。










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


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