|
1 はじめに
携帯電話が普及してきた昨今、紙のアドレス帳を使う機会は減ってきていますが、 それでも簡単にメモが書け見やすい紙のアドレス帳もまだ捨てたものではありません。 EZADDは、ポケットに入れる手帳に挟んで使うアドレス帳を印刷して作ります。 そして最近増えている各種IDとパスワードもあわせて記録できるようにします。 |
2 概要
EZADDで作るアドレス帳は、いわゆる住所録の部分と、 「もろもろ」と名づけたID等の部分のから成ります。 アドレス帳のできあがりは、高さがA4用紙長手方向の半分(148mm)、幅は160mmです。 幅は、半分に折り曲げて使うので最終的には80mmになります。 |
EZADDの開発においては、XMLを応用しています。 XMLは、1900年代終わりの頃に、 テキスト処理に関する規格としてW3Cによって勧告され、 その後関連する規格やこれらを応用したソフトウェアが数多く勧告、 開発されてきています。 EZADDは、XMLのほかにデータ変換に関するXSLTと 表示や印刷のためのXSL-FO規格、 それとこれらを応用したソフトウェアを基に実用的なソフトウェアの例として開発しています。 |
|
2.1 EZADDの構成
EZADDは、ホームフォルダとその下に配置されるファイルやフォルダから成りたっています。 下の「表1 EZADDの構成」にその概要を示します。 |
2.2 作成手順の概略
EZADDを使ってアドレス帳を作成する手順は、概略以下のとおりです。
|
|
3 動作環境
|
本書の説明は、Windows環境での使用法について記述しますが、 LINUXで使用する場合は、適宜読み替えて使って下さい。 なお、その時はバッチファイル(ezadd.bat)に代えてスクリプトファイル(ezadd) を使います。 |
4 アドレス帳の書式
簡単なアドレス帳の例を、「図1 出力例」に示します。 これを使って説明を進めます。 |
|
上のYahooID, GoogleID, mixiは単に例で、 インターネットでサービスをしている会社とは関係ありません。 言わずもがなですが、住所録を手帳ごと紛失してしまうこともあるでしょうから、 IDとパスワードについては、全てを書くのではなく一部を伏字の"..."として、 文字数も変えておくことで、少しは危険を減らすことができるでしょう。 |
|
少しデータを増やして、2ページにわたる例は、 こちらのPDFファイルを見て下さい。 |
5 使い方の詳細
5.1 データの作り方
住所録などのデータは、テキストエディタでezadd.xmlファイルに作りますが、 書式はXML文書に準じます。 XML文書に馴染みの無い方は、データを作り始める前に、 「付録(3) XML文書の基本」に目をとおして下さい。 |
各々の要素については後の節で説明しますが、 実際のezadd.xmlファイルにはadd開始タグの直後にテンプレートとして、 p要素とそれ以下の要素を一揃いコメントとして書いてあり、 idについても同様にしています。 アドレス帳のデータを入力する時にはこれらのテンプレートを複写しながら 必要な内容を書き足すのが便利でしょう。 |
5.2 データの構成と要素の概略
まず、「図1 出力例」 に対応するデータファイル(ezadd.xml)ファイルの内容を 図2に示すので見比べて下さい。 最初の行は、ファイルの内容がXML文書形式のデータで、 文字コードとしてShift JISを使用していることを示しています。 第2行目は、 このファイルをブラウザで表示する時に適用するスタイルシートを示しています。 ここまでは宣言文です。 |
|
第3行目以降にルート要素とその子孫の要素、そしてそれらの内容を書きます。 listには、その子要素として、date、add、idとpageがあります。 dateにはデータの作成ないし更新の日付を書きます。 addとidは、住所録ともろもろの親要素です。 |
これらの要素はじめEZADDの全ての要素の説明は、 「付録(1) 要素の説明」を参照して下さい。 |
データの書き方に関して、 図2の山田さんの例では教科書的に書いてありますが、 これでは行数が多くなり、数が増えたとき修正に手間がかかるようになります。 鈴木さん以降については、この点を改善した書き方をしていますが、 XML文書としての意味は変わりません。 |
pとi要素の子ないし子孫の要素については、 該当するデータが無く、 表示が不要な場合にも開始タグと終了タグをそのまま残しておいて差し支えありません。 また、こうしておくと内容を追加する時に便利です。 |
5.3 住所録の部分
住所録のデータは、add要素の子要素として書きます。 また、一人分のデータは、p要素の子要素として書きます。 電話番号を書くt要素は2種類あり、pの子要素と、oの子要素があります。 pの子要素は、氏名の右に表示され、oの子要素の方は、組織の右に表示されます。 d要素の内容がyの時は、その人のデータが表示され、 そうでない時は、印刷されません。ezadd.xmlファイルをブラウザで表示する時には、 d要素の内容によらず表示されます。 page要素を使って、適当な個所で改行し、ページの下方に余白を作るためなどに使います。 |
一人分の情報の中での表示の順序は、氏名と電話番号が最初に出力され、 その他については記述の順に出力されます。 |
5.4 もろもろの部分
もろもろのデータは、id要素の子要素として書きます。 また、1件のIDとパスワードは、iの子要素として書きます。 label要素の内容がラベルとして左端から表示されます。 n要素は、ラベルの右側に表示され、c要素は、一行に表示されます。 d要素とpage要素は、住所録と同じです。 |
一件分の情報の中での表示の順序は、ラベルlと説明nが最初に出力され、 その他については記述の順に出力されます。 |
5.5 入力内容の確認
アドレス帳を新たに作る場合や修正する場合で、 特に多くのデータを入力する時には、 入力が全て終わってから、誤りを正すのは骨が折れることがあります。このような時は、 次の手順によって、テキストデータの窓を開いたまま、 Webブラウザを使ってそれまでに記入したデータを確認することができます。 ただあくまでもXML文書として整っていないと表示できないので 留意して下さい。 |
|
これで、それまでに入力したデータを確認できます。 ブラウザにInternet Explorerを使用する場合は、 さらに簡単で上の手順の内 1)ではezadd.htmlに代えてezadd.xmlをダブルクリックして表示します。 この時、バッチファイルの実行[4)]が不要になります。 |
バッチを実行した時、コマンドプロンプトの窓が開いて 「図3 正常なバッチ処理のメッセージ」のように表示されたら、 正常に終了です。何かキーを押して窓を閉じます。 |
図3 正常なバッチ処理のメッセージ |
バッチ処理においては、エラーが発生する可能性があります。 上のようなメッセージと違ったメッセージが表示された時は、 「付録(2) バッチ処理のエラーの例」を参考にして、 対応します。 |
5.6 PDFファイルへの変換と印刷
バッチファイルをダブルクリックして実行すれば、データファイルの内容が、 印刷用に整形されてPDFファイルに変換されます。 |
印刷は、ほぼ一般のPDFファイルの印刷と同様ですが、 紙の節約の点から次のように処理します。 プリンタには用紙を1枚ずつセットし、奇数ページの印刷が終わったら、 同じ用紙を天地を逆にして再度印刷をします。 これで2ページ分が1枚の用紙に印刷できます。 |
5.7 印刷した後の紙の処理
印刷後は、まず長手方向を半分に折って切断します。 その後天地と頁順序を揃えて、 幅を左から160mmの所で切断し、 印刷がある部分を左側にして縦の中央線で内側に折り曲げます。 後は、右側の白紙の部分を手帳の表紙の裏の袋に差し込めば完成です。 |
6 おわりに
規格として決められているXMLに沿ったデータを使えば、そのデータの処理には 多くのオープンソースその他のソフトウェアを適用することができ、応用が広がります。 EZADDは、この流れに沿って作成しています。 したがってEZADDのために作ったデータは、 EZDOCによる処理だけでなく他のソフトウェアによる処理の可能性を持っています。 EZADDは、このようなソフトウェアです。ぜひ、使ってみて下さい。 |
|
付録(1) 要素の説明
|
付録(2) バッチ処理のエラーの例
|
付録(3) XML文書の基本
XML規格に沿ったファイルはXML文書と呼ばれ、 EZADDでは住所録などのデータをXML文書として作成します。 ここでは、このXML文書についてEZADDで必要な範囲で簡単に説明します。 |
XML 文書は、<xxx>aaaaa</xxx> と表現される一つないし 複数の要素で構成されます。 <xxx> から </xxx> までを xxx 要素と呼びます。 この時、<xxx> は開始タグ、</xxx> は終了タグと呼ばれ、 開始タグと終了タグにはさまれた部分(ここでは aaaaa)は、 要素の内容と呼ばれます。 |
要素は、文字列から成る内容を含む場合と別の要素を含む場合があり、さらに両者を 含むこともできます。 また、内容に何も含まない場合は、<xxx /> と書きます (例 <br />)。 |
要素<d>に含まれる要素<e>は次の図ように書くことが
でき、2つ要素は入れ子の関係になっていると言います。
この時、<e> は <d> の子要素と呼ばれ、 また 逆に <d> は <e> の親要素と呼ばれます。<d> 要素と <e> 要素の親子関係は次のように書くこともあります。要素<d> |<------------------->| | | <d>...<e>...</e>...</d> | | |<------>| 要素<e> 2つの要素は次の図にあるようにはできません。入れ子の関係が くずれています。<d> | +---<e> +----------+ | | <d>..<e>..</d>..</e> | | +-----------+ |
XML文書には、 ルート要素と呼ばれる最上位の要素が一つだけ存在でき、 他の要素は、ルート要素の子か、子孫になります。 また、要素の内容の記述の中で、先頭、途中もしくは末尾の連続した見えない文字(例:空白、 改行、タブ)は、 1文字の半角空白に置きかえられたり、削除されることがあります。 |
開始タグには、次のように属性を付けて書くことがあります。
ここで属性の値は必ずダブルクォーテーションで囲います。XML文書で "<!--"から"-->"の間は、コメントになります。<要素名 属性名="値"> 例: <table border="1"> |
付録(4) EZADDのインストールとアンインストール
|
付録(5) 必要なソフトのインストール
(1) MSXSLのインストール
MSXSLは、Microsoft社が無償で提供するXMLパーサーです。
|
(2) JAVA実行環境のインストール
JREは、Sun Microsystems社が無償で提供するJAVAの実行環境です。
|
(3) FOPのインストール
FOPは、Apacheソフトウェア財団が無償で提供する、XSL-FOプロセッサーです。 現在、FOP0.95が配布されていますが、下で説明するttcフォントに関して、 メトリックスの作成がうまく行かず日本語の表示に問題を生じます。 したがって、ここではFOP0.94を使うことにします。 FOPのホームページは、次の場所にあります。 "http://xmlgraphics.apache.org/fop/"
|