#author("2017-03-17T10:48:30+09:00","","")
&size(24){一太郎Ark1.1で始めるXML/XHTML(前編)};
-----
このページでは、一太郎Arkの様々な面に焦点を当てて、Ark開発スタッフ自らがメッセージを発信します。
今回は、一太郎Arkといえば「XML/XHTML」。今回はその前編です。 

今回は「一太郎 Ark ではじめる XML/XHTML (前編)」ということで、一太郎 Ark で XHTML 文書を作成して遊ぼうという企画です。
今回が前編ということは、当然後編もあります。
後編では、一太郎 Ark で作った XHTML 文書を使って遊びます。年末年始は一太郎 Ark で遊び倒しましょう。

一太郎Arkで始めるXML/XHTML(前編)

#contents(); 	
//●XHTMLって?
//●簡単な例
//●XHTML文書の共有
//●次回予告
//※XHTML編集TIPS

**XHTMLって? [#c9b19a7a]
XHTML はインターネットのウェブページでお馴染みの HTML の表現力と XML の持つ拡張性を兼ね備えた文書フォーマットで、今後インターネットの標準的な文書フォーマットとなると考えられています。一太郎 Ark はこの XHTML を標準文書フォーマットとして採用しています。

XHTML には様々な特徴がありますが、ここではやや地味な、しかしとても重要な特徴を生かすための使い方を紹介します。

***データとして再利用可能な文書 [#s0636b78]

XML 文書には「データとして再利用できる」という特徴があります。この特徴は XHTML 文書にも当てはまります。

今回はそのような特徴を持った文書を一太郎 Ark を使ってお手軽に作ってみましょう。こんな事を言うと、プロの XML 技術者から「いや、そんなお手軽に作られちゃ困る!」なんてお叱りを受けそうです。でも、ここでは敢えてプロが眉をひそめるような無謀なことをやってみましょう。

◆ そうです。ここではかなり無謀なことをします。なので、これから書く内容をいきなり業務に適用したりするのはやめておきましょう。
なお、今回は XML や XHTML の用語はなるべく使わずに説明します。それでもさすがにタグとかタグセットという言葉は使わないわけにはいきませんが、言葉の定義をいちいち説明することはしません。とりあえず、それらの言葉は「なんだかよくわからないけど Ark のメニューとかダイアログに出てくるアレだよね」という程度の認識のまま読み進んでいただいても一向に構いません。

◆ Ark 上での操作と XML の諸概念との関係は、後編にて詳しく説明します。

**簡単な例 [#n1efc08a]

前置きはこのくらいにして、さっそく XHTML 文書を作ってみましょう。
ここでは図書のデータベース、と言うと大げさですが、まぁそのようなものを作ることにします。

XHTML 文書をゼロから作る場合の作業は、だいたい以下のような流れになります。

+タグセットの作成(または選択)
+タグ毎の書式の設定
+タグ付き文書の作成
一太郎 Ark では、必ずしもこの順番通りに事を進める必要はありません。本当はそれぞれのステップを行ったり来たりしてもかまいません。ですが、まずはこの流れに沿ってやってみましょう。

***タグセットを作る前に [#x9ebfc39]

&ref(books-1.gif);
図1
図書のデータというと図書館にある図書カードのようなものを思い浮かべると思います。まずは XML だとか何だとかは一切忘れて一太郎 Ark で図書カードのようなものを作ってみましょう。

と、いっても、ここで「罫線はどうやって引くの?」なんて考えないでください。見かけは貧相でいいので、中身だけを考えましょう。図書と言っても色々ですので、手近な本を何冊か選んで、図書カードもどきを書いてみるとよいでしょう。例えばこんな感じです(図1)。

こうやって作った図書カードもどきには、以下のような項目があることがわかります。

タイトル(サブタイトルがあることもある)
著者
出版社
他にもいっぱいありそうですが、とりあえずここでは、データとして扱う項目にこの三つを選ぶことにします。

以下では、ここでつくった只のテキストの図書カードもどきを立派な(?)データに仕立てあげることにしましょう。


***タグセットを作る [#r605a067]

&ref(tagsetDlg.gif);
図2

&ref(tagsetPropDlg.gif);
図3

&ref(tagsetDlg-1.gif);
図4
上で作った図書カードもどきを下敷きにして、タグセットを作ってみましょう。手順は以下の通りです。

メニューから【書式(O)-タグセット(G)...】を選択。タグセットダイアログが開く。
ダイアログの [追加・削除(A)] のドロップダウンメニューから【新規追加(D)...】を選択(図2)。タグセットのプロパティダイアログが開く。
・ タグセットの編集はこのダイアログで行います。

[タグセット名] にタグセットの名前を入力。
・ タグセットの名前は適当に便利な名前を付けて構いません。ここでは「book」という名前にします。

[URI] にタグセットの URI を入力。
・ URI の選び方はちょっとやっかいです。ここではとりあえず「http://www.justsystem.co.jp/arksample/samplens/book/0.1」と書いておいて下さい(図3)。

[OK] ボタンを押してタグセットのプロパティダイアログを閉じる。画面は「タグセット」ダイアログに戻る。
・ タグセットダイアログの [文書で利用するタグセット(T)] の一覧には「book(http://www.justsystem.co.jp/arksample/samplens/book/0.1)」が追加されます(図4)。

ここまでの操作で空のタグセットができました。

//タグセットの URI の意味については「XHTML編集 TIPS」のQ1を参照して下さい。

***タグセットにタグを追加する [#p220f25e]

&ref(paraPropDlg.gif);
図5

&ref(tagsetPropDlg-1.gif);
図6

&ref(tagsetPropDlg-2.gif);
図7
続いて先ほど作った空のタグセットにタグを追加していきます。

一太郎 Ark でユーザーが定義したタグは段落タイプとして使用するか、文字タイプとして使用するかを決めてから登録します。段落タイプは段落単位で、文字タイプは文字単位でタグ付けするやりかたです。

◆ 段落タイプと文字タイプは親子関係になることができます。段落タイプは HTML の div タグのように使われるタグ、文字タイプは HTML の span タグのように使われるタグだと思って下さい。
◆ 一太郎 Ark では段落タイプと文字タイプでしかデータ構造を定義できませんが、本来の XML ではもっと高度で複雑なデータ構造を定義できます。さまざまな制約から今の仕様に落ち着いたのですが、もちろん開発チームのメンバーは決して現状には満足していません。今後の一太郎 Ark のさらなる進化にご期待下さい。
それではまず本のタイトルを表すタグを段落タイプとして登録しましょう。

タグセットダイアログで [プロパティ(P)...] ボタンを押す。再びタグセットのプロパティダイアログが開く。
[追加・削除(A)] のドロップダウンメニューから、【段落タイプの追加(P)...】を選択。段落タイプの書式ダイアログが開く。
・ このダイアログでは段落タイプ名(タグ名)と、その段落タイプの書式を設定します。書式の指定はあとからでも出来ますが、ここでは書式も一緒に指定します。

[段落タイプ名] にタグ名を入力。
・ ここでは本のタイトル用のタグ名として「タイトル」と入力することにします。

書式の指定。
・ ここでは [文字飾り] タブから太字と文字色を指定して、文字が目立つようにしてみました(図5)。

[OK] ボタンを押してダイアログを閉じる。画面はタグセットのプロパティダイアログに戻る。
・ タグセットのプロパティダイアログの [タグ(T)] の一覧には「タイトル」が追加されます(図6)。一覧でタグ名の頭の「BLOCK」と書いてあるアイコンは、そのタグが段落タイプとして使われることを表しています。

本の著者と出版社についても同様に段落タイプとして追加しましょう。段落タイプ名はそれぞれ「著者など」「出版社など」とします。

◆ ストレートに「著者」「出版社」にしないのは理由があります。詳しくは後ほど。
書式はお好きな書式を付けてみてください。ここでは両方に [段落] タブから 2 カラムの左インデントを指定し、「著者など」の文字色に青を指定しました。

最後に、本のサブタイトルを文字タイプとして登録します。手順は段落タイプの時とほとんど同じです。

[追加・削除(A)]のドロップダウンメニューから、【文字タイプの追加(P)...】を選択。文字タイプの書式ダイアログが開く。
[文字タイプ名] にタグ名を入力。
・ ここでは「サブタイトル」とします。

書式の指定。
・ サブタイトルは小さい文字で表示したいので、書式は [文字サイズ] タブから [レベルで指定する(L)] を選んで、「やや小」を指定してみました。

[OK] ボタンを押してダイアログを閉じる。画面はタグセットのプロパティダイアログに戻る。
これでタグセットは一通り完成です(図7)。 

***タグ付けの前に [#wde8ed3f]

&ref(toolbarMenu.gif);
図8
いよいよタグ付けです。その前に、Ark のツールバーに XHTML でよく使うツールを呼び出しておきましょう。

ツールバーのボタンのない所を右クリック。ツールバーの設定メニューが開く(図8)。
・ Solaris や Linux など UNIX 系の OS で一太郎 Ark をお使いの場合、ツールバー設定メニューがうまく表示されないことがあります。そういう場合は本文領域で一度右クリックメニューを出して、そのメニューを開けっぱなしにして、ツールバーの上で右クリックしてみて下さい。

【文字属性2】と【段落属性2】のチェックボックスをチェック。
・ それぞれ文字タイプ、段落タイプの設定に使います。

【文字属性1】と【段落属性1】のチェックを外す。
・ 必ずしも外す必要はないですが、説明の都合上ここでは外しておきます。

【アイコン小】を選択。
・ これも必ずしも必要ないですが。画面の横幅が窮屈な場合はこうしてアイコンサイズを小さくしておくとよいでしょう。

これでツールバーの設定ができました(図9)。

ツールバー上にある二つのドロップダウンリストのうち、右側は段落タイプの設定に、左側は文字タイプの設定に使います。

このドロップダウンリストにはカーソル位置のタグ名を表示する役目もあります。普段は「標準」と表示されていますが、段落タイプや文字タイプが設定された場所にカーソルが来ると、そこに設定された段落タイプ名や文字タイプ名を表示します。


&ref(toolbar.gif);
図9

***テキストにタグ付けする [#ec7c7997]

&ref(paraTypeList.gif);
図10

&ref(styledPara.gif);
図11

&ref(books-2.gif);
図12
それでは「タグセットを作る前に」 で作ったテキストにタグをつけてみましょう。

まず、本のタイトルを書いた段落に「タイトル」タグを付けます。

タグ付けする段落にカーソルを移動。
ツールバーの右側のドロップダウンリストを開く。段落タイプのリストが表示される(図10)。
・ リストの上の方にあるのは HTML のタグに対応する段落タイプです。タグセットのタグは下の方にあります。

リストからタグ名を選択。カーソル位置の段落書式が変更される(図11)。
・ ここでは「book:タイトル」を選択します。タグセットのタグは、「タグセット名:タグ名」の形で表現されます。

「著者など」と「出版社など」についても同様にして段落タイプを設定します。

「サブタイトル」については文字タイプの設定でタグ付けします。

タグ付けする文字列を範囲選択。
ツールバーの左側のドロップダウンリストを開く。文字タイプのリストが表示される。
リストからタグ名を選択。選択範囲の文字書式が変更される。
・ ここでは「book:サブタイトル」を選択します。

これでタグ付けが一通り終わりました(図12)。

***タグ付けの意味 [#wb224146]

このへんで作業をやめて一休みしましょう。ここまで結構苦労しましたが、その苦労は一体どうやって報われるのでしょうか。単に段落飾りや文字飾りを付けるのではなく、わざわざタグ付けすることの意味を考えてみましょう。

例えば日記の中にその日読んだ本のデータを書いておいたとします。何年も書き溜めた日記から、今まで読んだ本のリストを作りたいと思ったとき、どうすればよいでしょう?

単純に文字列検索でリストアップするのは困難です。あらかじめ決まった書式で書いておいたり、注釈でキーワードを埋め込んでおいたりという方法もありますが、間違いや紛れを防ぎにくいですし、そういう約束事を定義する決まった方法がありません。

しかし、XHTML の機能を利用して適切なタグセットを作って(または世間に公開されているタグセットを選択して)、本のデータには必ずタグを付けるようにしておけば、XSLT などの汎用的な XML 技術を利用することで、特定のタグの付いた箇所を簡単に検索、抽出することができます。

***タグの追加と削除 [#z21c95e4]

さて、ここまでで作ったタグセットは図書データベースのためのタグセットというにはあまりに貧弱です。もう少しなんとかしたいところです。

例えば、著者の他に編集者、監修者、翻訳者なども区別できるようにしたいところです。漫画などでは原作者と漫画家の区別が必要な場合もあります。

上の例で「著者など」という段落タイプのタグを作りましたが、ここにはいわゆる著者以外の人や団体の名前も書いていいことにしましょう。そのかわりに、著者、編集者、監修者などを新規に文字タイプのタグを定義して区別することにしましょう。

&ref(tagRemove.gif);
図13
タグの追加はやりましたが、タグの削除はまだでした。タグセットの編集中に、タグの名前を間違ってつけてしまったり、調子にのってタグを作りすぎた場合は、以下の手順でタグセットからタグを削除できます。

タグセットのプロパティダイアログを開く。
[タグ(T)] の一覧で削除したいタグを選択状態にする。
[追加と削除(A)] のドロップダウンメニューから【削除(R)】を選択(図13)。
また、一太郎 Ark では、タグセットの追加・削除についてもアンドゥが効きます。

タグセット編集後、タグセットダイアログを閉じる。画面は本文編集に戻る。
【編集(E)-取り消し(U)】でタグセット編集が取り消される。
◆ タグの削除については一太郎 Ark XHTML 編集 TIPSの Q2 を、タグセット編集のアンドゥについては Q3 を参照して下さい。
ここから先は細かい説明はしません。応用問題だと思ってチャレンジしてみてください。

なお、単純に「著者など」の段落タイプの下に「原作:徳島花子、漫画:阿波一太郎」のように書いてしまうのも悪くはありません。何をタグ付けして区別すべきかは、タグ付けしたデータを後でどのように使うかによって異なります。

後でどんな要求があっても応えられるようにと、やたらとタグを精密に定義しようとすると、タグの定義に手間がかかりますし、タグ付けの時にもどんなタグを付ければよいか迷ってしまいます。

◆ ゴミの分別収集って大変ですよね。分別の種類が多い地域ではゴミ出しの度に迷ってしまいます。タグがやたらとあるタグセットを使うときの大変さも似たようなものです。


XHTML文書の共有
みなさんは何のために文書を書きますか? 「愛されるため」と答えた哲学者もいたそうですが、愛だ恋だはともかくとして、少なくとも誰かとコミュニケーションするためには違いありません。「インターネットワープロ」である一太郎 Ark が、XML や XHTML にこだわるのは、このコミュニケーションということと関係あります。

普通のワープロ文書では必ずしも文書ファイルそのものを他人とやりとりするとは限りません。文書作成にはワープロを使っても、コミュニケーション媒体としてはワープロで印刷した紙を使うことが多いのではないでしょうか。

しかし、インターネットの出現で電子的な文書ファイルそのものがコミュニケーション媒体として広く使われるようになりました。そのため、ワープロソフト毎に文書ファイル形式が違うという状況が、ディスコミュニケーションを生み出す原因になっています。

XML や XHTML のような文書形式の標準化や、UNICODE のような文字セット、文字コードの標準化が注目される背景には、このような事情があります。いずれは空気のような存在になるべきこれらの技術ですが、過渡期の現在ではユーザーがその存在をある程度意識する必要があります。

以下では一太郎 Ark の標準文書形式でもある XHTML 文書を使ってコミュニケーションすることを考えます。やや難しい技術的な話やすっきりしない話も出てきますが、どうか我慢してお付き合い下さい。

***XHTML ファイルの保存 [#r3b004de]

&ref(saveAs.gif);
図14
「簡単な例題」で作った文書をファイルに保存するところから始めましょう。

メニューから【ファイル(F)-名前を付けて保存(A)...】を選択。名前を付けて保存ダイアログが開く。
[ファイル形式] として「XHTML」を選択。
[文字セット] として「Unicode(utf-8)」を選択(図14)。
[保存(S)] ボタンを押して保存。
こうして保存したファイルが これです。

XML では文字セットとして UNICODE を使うことになっています。もちろん XHTML も同様です。UNICODE 以外の文字セット(例えば iso-2022-jp, Shift JIS, euc jp など)を指定して保存することも可能ですが、なるべく UNICODE (「utf-8」または「utf-16,BOM自動判別」)を使いましょう。

◆ 一般に XML を扱うソフトウェアは他の文字セットで保存されたファイルでも一度 UNICODE に変換してから処理します。歴史的な事情から、このとき使われる変換テーブルがソフトウェアによって違うことがあります。そのため、UNICODE 以外の文字セットを使う場合は文字化けの危険性が伴います。
なお、UNICODE を扱えないエディタでソースを編集しなくてはならない場合は、文字セットを変えて別名で保存したものを編集するのがよいでしょう。

◆ Ark では Ark を起動した Java VM が内部で使っている UNICODE 変換テーブルをそのまま利用しています。Ark に添付されている JRE を使う場合は変換テーブルの内容が Windows 標準の変換テーブルや UNICODE コンソーシアムの変換テーブルとは異なるので注意が必要です。

***タグセットの記憶と呼び出し [#idc97489]

&ref(tagsetReg.gif);
図15

&ref(tagsetLoad.gif);
図16
一度作ったタグセットを他の文書でも流用するには、まず一太郎 Ark にタグセットを記憶させる必要があります。

記憶させたいタグセットを使用した文書を開く。
タグセットダイアログを開く。
[文書で利用するタグセット(T)] の一覧で、記憶させたいタグセットを選択状態にする。
[追加と削除(A)] のドロップダウンメニューから【記憶(E)】を選択(図16)。
・ [文書で利用するタグセット(T)] の一覧で選択したタグセットがシステムに記憶されます。

◆ ここで記憶したタグセットの情報はプロパティファイルに記録されます。プロパティファイルについては「Ark裏技18番」の説明をどうぞ。
次にタグセットを使いたい文書を読み込んで(あるいは新規文書を作成して)、タグセットを呼び出します。

タグセットを使いたい文書を開く。
タグセットダイアログを開く。
[追加と削除(A)] のドロップダウンメニューから【呼び出し(L)...】を選択。タグセットの呼び出しダイアログが開く(図16)。
[記憶されているタグセット(E)] の一覧で、使いたいタグセットを選択状態にする。
・ 一覧には、過去に一太郎 Ark に記憶させたタグセットが表示されます。

[OK] ボタンを押してダイアログを閉じる。画面はタグセットダイアログに戻る。
・ [文書で利用するタグセット(T)] の一覧に、選択されたタグセットが追加されます。

「タグセット」ダイアログを閉じる。画面は本文編集に戻る。
こうしてタグセットを呼び出すと、ツールバーの段落タイプと文字タイプのドロップダウンリストから、呼び出したタグセットに含まれるタグ名が選択できるようになります。

***タグセットの交換 [#h4fe3e45]

一人でタグセットを使い回す方法はこれでわかりました。それでは人から人へタグセットを流通させるにはどうしたらいいでしょう? たとえば仲間同士で互いに自分の蔵書のデータベースを交換しあうような状況ではみんなで同じタグセットを使いたいはずです。

一太郎 Ark はタグセットは個々の文書に埋め込まれて保存します。タグセットを独立したファイルとして書き出す機能はありません。タグセットの記憶と呼び出しの機能も、タグセットをファイルからファイルへコピーするだけです。

◆ 一太郎 Ark はタグセットを「管理」しません。タグセットをコピーするためのバッファーに徹します。タグセットのバージョン管理などはユーザーが意識して行う必要があります。
従って、上の問いの答えは、「そのタグセットを使った文書を流通させる」です。タグセットの仕様が固まったら、そのタグセットを呼び出したファイルを作って E-Mail で送ったり、自分のホームページにアップロードしたりして仲間の間で共有しましょう。

そのファイルを受け取った人はそのファイルの上にそのまま自分の蔵書リストを書いても構いませんし、既に書きかけの下書き文書があるのなら、受け取ったファイルのタグセットを一度自分のシステムに記憶させ、下書き文書からそのタグセットを呼び出すこともできます。

***IE5 での表示 [#cb98d1ff]

&ref(ie5-tree.gif);
図17

&ref(ie5-html.gif);
図18
ここで、ホームページへのアップロードという話が出てきました。以下では一太郎 Ark で作った XHTML 文書をそのままブラウザで表示可能なホームページにすることを考えます。

Microsoft のブラウザ InternetExproler 5 (以下 IE5)では XHTML 文書を表示できるという話を聞いたことがある方もいらっしゃると思います。それでは一太郎 Ark で作成した XHTML 文書は IE5 でそのまま表示できるでしょうか? ちょっと工夫が必要ですが、実は表示できます。

◆ 以下に述べる情報は IE5 の内部バージョンに依存するかもしれません。筆者は Windows 版の IE5 の 12/14 日時点での最新バージョンで動作確認しました。
一太郎 Ark で作成した文書にはデフォルトで .xhtml の拡張子が付けられます。しかし、Windows に IE5 をインストールしても拡張子 .xhtml にはアプリケーションの関連付けは行われません。つまり .xhtml ファイルをダブルクリックしても IE5 は起動しないのです。

それでも IE5 を先に起動して、そのウィンドウの上に .xhtml ファイルのアイコンをドラッグ&ドロップすると、何やら怪しい画面が表示されます(図17)。

IE5 は条件によって、XML 文書をこのようにツリー表示することがあります。これでは困るので、とりあえず XHTML 文書のファイル名を変更して拡張子を .html にして IE5 で見てみましょう。すると一太郎 Ark の上で見たのとほぼ同じ表示が得られるのがわかると思います(図18)。

◆ しかし、よく見ると微妙に表示が異なることがあります。その理由については、一太郎 Ark XHTML 編集 TIPSの Q5を参照して下さい。

***Web への公開 [#q5061dab]

Web に公開する場合も、基本的に拡張子を .html に変更したものをアップロードすることで IE5 でも表示できるようになります。しかし、IE5 以外の人のために拡張子が .html のファイルは普通の HTML4.0 形式のファイルにして、XHTML ファイルは .xml など別の拡張子を付けておきたい場合もあるかもしれません。

IE5 でツリー表示になるか XHTML として表示されるかの違いは、どうも Web サーバーがファイル送信時に指定するメディアタイプに依存するようです。メディアタイプが text/html だと XHTML として表示されますが、text/xml や application/xml の場合、また text/plain の場合も大抵はツリー表示になってしまいます。

Web サイトにアップロードしたファイルにどんなメディアタイプが指定されるかは、通常は Web サーバーの設定に依存します。拡張子が .xml や .xhtml の場合は text/xml か、text/plain が付加されることが多いため、IE5 ではツリー表示になりがちです。

多くの Web サーバーではファイル転送時に指定されるメディアタイプをユーザーが独自に設定することができます。ここでは世界一メジャーな Web サーバーと言われる Apache が使われている場合のやりかたを紹介します。

新規文書を作成。
・ ここでは 一太郎 Ark を使いますが、ただのテキストファイルを作るだけなので適当なエディタを使ってもらって構いません。

以下の内容を入力。
|AddType text/html xhtml|
メニューから【ファイル(F)-名前を付けて保存(A)...】を選択。名前を付けて保存ダイアログが開く。
[ファイル名] に .htaccess と入力。
[ファイル形式] として「テキスト」を選択。
[文字セット] として「us-ascii」を選択。
[保存(S)] ボタンを押して保存。
・ この時、「テキスト形式は文字飾りや画像を保存しません。」という確認ダイアログが出てきますが、気にせず OK します。

こうして作ったファイルを Web サーバー上の XHTML ファイルを置きたいディレクトリの下にアップロードすると、そのディレクトリの下にある拡張子 .xhtml のファイルは、転送時に text/html のメディアタイプを指定するようになります。

これで拡張子が .xhtml のファイルでも IE5 で正しく表示されるようになります。

***Mozilla での表示 [#j7fb5154]

&ref(moz-m11.gif);
図19
さて、Microsoft の IE5 では表示できましたが、オープンソースブラウザの Mozilla はどうでしょうか? Mozilla は現在はまだ正式リリースされておらず、最新の Milestone 11 というのはまだ開発途中のバージョンです。

筆者は、この Milestone 11 で一太郎 Ark で作った XHTML ファイルを表示しようとしたのですが、うまく表示できませんでした。一太郎 Ark の出力する XHTML ファイルのように、名前空間プレフィクス付きのタグ名を CSS スタイルシート内で使っている場合は、スタイルが正しく反映されないようです(図19)。

◆ CSS level 2 までは名前空間の扱いに関する定義がないため Mozilla のこの振る舞いは間違いとは言い切れないかもしれません。
◆ この他に日本語のタグ名が使えないという問題もありますが、こちらは Mozilla の不具合です。

**次回予告 [#z95fa025]
一太郎 Ark ではじめる XML/XHTML (前編) はいかがでしたか? 後編では、今回作った XHTML 文書を使って、XHTML 文書をプログラムで処理して遊びます。今回に比べてグッとハードな技術者向け(マニア向け?)の内容になる予定です。

**※XHTML編集TIPS [#i7e3bb25]
Q1	タグセットのURIには何を書いたらいいの?
A1	
タグセットを定義する際にはタグセットを識別するための名前を URI で指定する必要があります。これは国際的な規格である XML Namespaces 仕様に基づく制約です。

ただの名前ではなく URI にするのは、自分が作ったタグセットの名前が世界中の誰が作ったタグセットの名前とも衝突しないことを保証するためです。タグセットの名前の衝突は、そのようなタグセットを使用した文書の交換や再利用に支障をきたす問題となるからです。

では、具体的にはどんな URI を使えばよいのでしょう?

組織内での使用

例えば企業や学校などの組織内で独自に定義されたタグセットを表す URI が必要な場合は、その組織の Web サイトの URL に適当な名前を付け足した URI を使うとよいでしょう。

    例: http://www.justsystem.co.jp/arksample/samplens/book/1.0
この場合は企業内の他のタグセットを表す URI と名前がぶつからないように、企業内で URI を管理する体制を作っておく必要があります。

個人での使用

個人で作ったタグセットの場合は、個人所有のホームページがあるならその URL を利用して適当な名前を付け足した URI を使うとよいと思います。

    例: http://www3.justnet.ne.jp/%7Earksample/xmlns/book/1.0
ホームページを所有していない場合は、メールアドレスを使う方法もあります。

    例: mailto:xxxx@xxxxxx.co.jp?xmlns=book-1.0
しかし、ホームページもメールアドレスも持たない人の場合や、メールアドレスのような個人情報を文書に埋め込みたくない場合には困ってしまいます。

将来的には個人向けにタグセットのための URI を提供するサービスも出てくるものと思われます。例えば日本 XML ユーザーグループではそのようなサービスを提供することを検討中です。


Q2	タグセットからタグを削除したら警告を受けますが?
A2	
「タグセットのプロパティダイアログ」で、現在編集中の文書で既に使われているタグを削除すると、ダイアログを閉じるタイミングで警告を受けます。

ここで OK すると削除されたタグでタグ付けされた段落(または文字列)は、「標準」の状態に戻ります。「段落タイプ」は標準の段落に戻り、「文字タイプ」はタグが解除された状態に戻ります。

注意が必要なのは、ここでは現在編集中の文書しかチェックしないということです。現在編集中の文書では使われていないけど、同じタグセットを呼び出して作った他の文書でそのタグが使われている、という場合には警告は出ません。

一般に、一度タグセットが広く使われてしまうと、タグの廃止は困難になります。タグの定義は十分吟味して行うか、むやみやたらに最初からいろんなタグを作らないほうがよいでしょう。

なお、アンドゥ時にはタグの削除が取り消されてタグ定義が復活すると同時に、本文側のタグの解除も取り消しになります。


Q3	タグセット編集してアンドゥすると、アンドゥ一回では元に戻らないことがありますが?
A3	
「タグセット」のダイアログを開いた状態で、何度も「タグセットのプロパティ」ダイアログを開いてはタグセットを編集する、ということを繰り返すと、その回数だけアンドゥしないとそれらの操作を全部元には戻せません。

「タグセット」のダイアログを閉じなくても、「タグセットのプロパティ」ダイアログを OK で閉じた時点で文書の内容が更新されます。アンドゥは文書の更新の度に記録されるので、このような動作になります。


Q4	タグ付けした文章を他の文書にコピー&ペーストできないの?
A4	
ペースト先の文書ではコピー元の文書と同じタグセットを先に呼び出しておく必要があります。同じタグセットを使用している文書間ではタグ付け情報を落とさずにコピー&ペーストできます。

タグ情報を落としてもいいからコピー&ペーストしたいという場合もあると思いますが。そういう場合は一度「段落タイプ」や「文字タイプ」を「標準」に戻してからコピーして下さい。

◆ 「形式を選択してペースト」の機能を用意した方がよかったですね。ごめんなさい。。。

Q5	一太郎 Ark で作った XHTML の書式の一部が IE5 では反映されないのですが?
A5	
一太郎 Ark は、XHTML 1.0 の仕様案に従い、style タグの内容を CDATA セクション内に記述しています。IE5(InternetExproler 5.0)では、CDATAセクション内に書いた CSS スタイルシートの一部分を正しく解釈しないようです(1999年12月14日時点で最新の IE5.0 及び IE5.01 で確認)。

この問題は一太郎 Ark で保存した XHTML ファイルの style タグの最初の部分を以下のように修正することで回避可能です。

修正前
<style type="text/css">
  <![CDATA[

  book\:タイトル {
	color: maroon;
	font-weight: bold;
	display: block;
  }
  ...

修正後
<style type="text/css">
  <![CDATA[
  *{}
  book\:タイトル {
	color: maroon;
	font-weight: bold;
	display: block;
  }
  ...

最初のスタイルルールが無視されるようなので、最初にダミーのルールを挿入しています。


Q6	Word2000 で作った HTML 文書は実は XHTML だと聞きましたが、一太郎 Ark の XHTML 読み込みでは読めないのはなぜ?
A6	
「実は XHTML」と言われることがありますが、Word 2000 で保存した HTML 文書は XHTML ではありません。XHTML とは似て非なる独自形式で、XHTML どころか XML 規格にも準拠していません。そのため一太郎 Ark で XHTML として読み込もうとするとエラーになります。

一太郎 Ark で Word 2000 の HTML 文書を読み込む場合は、ファイル形式に「HTML 4.0」を指定して読み込むと読み込めます。これを XHTML 形式で保存すると、正しい(well-formedな) XHTML形式で保存されます。

◆ 保存時にはなるべく元のファイルの情報を残すようにしていますが、一部の情報が落ちる可能性があります。

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS