汎用論理構造文書 文書モジュール

後藤 大地
作成年月日 2002年 4月 4日 木曜日 17時09分12秒 JST
更新年月日 $Date: 2002/06/10 01:50:15 $ $Revision: 1.3 $
版文番号 3
文書種別 技術(文書)

1 汎用論理構造文書 文書モジュール

汎用論理構造文書 文書モジュールは汎用論理構造文書に通常文書の作成に必要となる要素を追加するモジュールである。

次に、汎用論理構造文書 文書モジュールの構成要素定義を示す。

表1.1 汎用論理構造文書 文書モジュール 要素一覧
要素名属性子要素要素内文字列要素内空白改行備考
listtypeitemなし文書として扱われないdocgroup要素における拡張要素
itemなしpなし文書として扱われない
thebibliographyなしbibitemなし文書として扱われないdocgroup要素における拡張要素
bibitemidauthor,title,publisher,yearなし文書として扱われない
authorなしpなし文書として扱われない
titleなしpなし文書として扱われない
publisherなしpなし文書として扱われない
yearなしpなし文書として扱われない
importtype,ref,caption,idなしなしなしp要素における拡張,空要素
footnoteなしなしあり文書として扱われるp要素における拡張要素
accesstype,refなしあり文書として扱われるp要素における拡張要素
marktypeなしあり文書として扱われるp要素における拡張要素
rubyrubytextなしあり文書として扱われるp要素における拡張要素
表1.2 汎用論理構造文書 文書モジュール 要素内包関係一覧
親要素子要素子要素の数備考
docgrouplist0以上
dpcgroupthebibliography0以上1以下
listitem1以上
itemp1
thebibliographybibitem1以上
bibitemauthor0以上
bibitemtitle1
bibitempublisher0以上1以下
bibitemyear0以上
authorp1
titlep1
publisherp1
yearp1
pimport0以上
pfootnote0以上
paccess0以上
pmark0以上
pruby0以上
表1.3 汎用論理構造文書 文書モジュール 属性一覧
要素名属性名属性内容用途指定義務備考
listtypeitemize|orderリストの種類指定任意無指定はitemizeに同じ
bibitemid文字列ラベル表現必須
importtypeMIME形式資源の種類指定必須
importrefURI表記資源の場所指定必須
importcaption文字列資源のタイトル任意
importid文字列ラベル表現任意
accesstypeMIME形式資源の種類指定任意
accessrefURI表記資源の場所指定必須
marktypekeyword|attention文字列の記号付け必須
rubyrubytext文字列振り仮名必須
表1.4 汎用論理構造文書 文書モジュール 要素種類別一覧
要素名種類備考
list構造要素docgroup要素における拡張要素
item構造要素
thebibliography構造要素docgroup要素における拡張要素
bibitem構造要素
author構造要素
title構造要素
publisher構造要素
year構造要素
import非構造要素p要素における拡張要素,空要素
footnote非構造要素p要素における拡張要素
access非構造要素p要素における拡張要素
mark非構造要素p要素における拡張要素
ruby非構造要素p要素における拡張要素

汎用論理構造文書 文書モジュールは列挙、枚挙、参考文献、注釈、外部資源の内包、資源指定子、文字列の修飾などの機能を提供する。汎用論理構造文書を利用した通常文書の作成にはこのモジュールを使用する。

本モジュールで注目するべき点は外部資源の内包にある。本モジュールは表を表現する要素を提供しない。要素を用いた表の表現は煩雑で文書としての可読性を低下させる。ここでは表は情報を専用の形式で利用しやすくまとめたものであり、文書自身として扱うものではないと考える。本モジュールは表の表現を外部資源の内包で扱う。

例えば、表はCSVやLaTeX形式、アプリケーション専用のデータ形式で作成し外部資源として保持する。文書では外部資源を内包するimport要素を用いてそれら表情報を指定する。指定された外部資源は処理系によって理解され適切な状態に処理される。

本モジュールを用いて作成した汎用論理構造文書を処理系を用いてHTML文書に変換する場合を考える。この場合、import要素で指定されたCSVデータ等の表データは処理系によって適切に解釈されHTML文書のtable要素に変換される。例えば作成した汎用論理構造文書をテキスト文書に変換するならば、処理系はCSV等表データを適切に解釈し、可読な表テキストとして変換し文書中に埋め込む。対象とするデータ形式や処理方法は処理系に依る。

import要素は画像データやソースコードといった文書ではない情報を文書に内包するために利用される。指定した外部資源がどうやって処理されるかは処理系に依る。文書内に表現することが困難なデータは一律import要素で表現することができ文書としての可読性の低下を防止している。

2 汎用論理構造文書 文書モジュール 要素解説

2.1 list要素

列挙または枚挙を表現する。list要素は子要素としてitem要素を持つ。list要素は子要素である一つまたは複数のitem要素に列挙または枚挙としての意味を与える。list要素はitem要素を複数保持することができる。

list要素は任意属性としてtype属性を持つ。type属性にはitemizeまたはorderを指定することができる。itemizeが指定された場合は列挙、orderが指定された場合は枚挙を意味する。type属性が指定されない場合はitemizeが指定されたものとして扱われる。

list要素内の空白改行は文書としての意味を持たない。list要素内の空白改行はXML文書記述整形に用いることができる。

2.2 item要素

list要素内で列挙および枚挙の対象となる一つのまとまりを表現する。item要素は子要素としてp要素を一つ持つ。

item要素内の空白改行は文書としての意味を持たない。item要素内の空白改行はXML文書記述整形に用いることができる。

2.3 thebibliography要素

参考文献一覧を表現する。thebibliography要素の子要素であるbibitem要素がそれぞれ参考文献情報を保持する。thebibliography要素はbibitem要素に参考文献の掲載順序の意味を与える。またthebibliography要素は複数のbibitem要素を保持することができる。

thebibliography要素は通常/document/docgroup/直下に一つだけ用意され使用される。しかしその用途に限定されるものではない。docgroup要素はthebibliography要素を一つまで保持することができ、thebibliography要素を保持できるdocgroup要素は/document/docgroup要素に限定されない。どのdocgroup要素でもthebibliography要素を一つまで保持することができる。

thebibliography要素内の空白改行は文書としての意味を持たない。thebibliography要素内の空白改行はXML文書記述整形に用いることができる。

2.4 bibitem要素

参考文献を表現する。bibitem要素は子要素としてauthor要素、title要素、publisher要素、year要素を持つ。参考文献の情報はそれぞれ子要素が保持する。bibitem要素は子要素をまとめ、それら情報が参考文献情報であることを意味付ける。

bibitem要素は必ずid属性が指定されなければならない。参考文献は文書中から一意に指し示すことができ文書中から文献が辿れる必要がある。ここでは文献を特定するためid属性を用意している。id属性には任意の文字列を指定することができる。他のid属性とぶつからない文字列を指定する必要がある。id属性で指定された内容が他の要素と重複している場合の扱いは処理系に依る。

2.5 author要素

参考文献の著者を意味する。author要素を記述する義務はなく、複数著者がいる場合はそれだけ複数author要素を記述することができる。

author要素内の空白改行は文書としての意味を持たない。author要素内の空白改行はXML文書記述整形に用いることができる。

2.6 title要素

参考文献の題名を意味する。title要素は必ず一つ記述されなければならない。

title要素内の空白改行は文書としての意味を持たない。title要素内の空白改行はXML文書記述整形に用いることができる。

2.7 publisher要素

参考文献の出版社を意味する。publisher要素を指定する義務はなく、必要に応じて一つまで指定することができる。

publisher要素内の空白改行は文書としての意味を持たない。publisher要素内の空白改行はXML文書記述整形に用いることができる。

2.8 year要素

参考文献の出版年月日を意味する。year要素を指定する義務はなく、必要に応じて複数指定することができる。

year要素内の空白改行は文書としての意味を持たない。要素内の空白改行はXML文書記述整形に用いることができる。

2.9 import要素

外部資源を内包する。画像や表、ソースコード、文書、音、アプリケーション等、外部資源を文書に内包するために利用する。

import要素は必須属性としてtype属性およびref属性、任意属性としてcaption属性およびid属性を持つ。type属性は指定する外部資源の種類、ref属性は外部資源の場所を指定、caption属性は指定した外部資源に与える名前、id属性はこの要素のラベル表現を表す。

ref属性で指定される資源の場所指定方法はURI表記に従う。URI表記が適切に処理されるか否かは処理系に依る。また既に規定されているURI表記では表現しきれない場合には非登録公開スキームや非登録非公開スキームを利用することが許される。その場合処理が正しく行われるかは処理系に依る。

type属性はMIME形式の表記に従う。記述されたMIME形式が適切に処理されるか否かは処理系に依る。また既に規定されているMIME形式では表現しきれない場合にはMIME形式の表記に従い適切な表記への拡張が許される。その場合処理が正しく行われるかは処理系に依る。

importは非構造要素なのでp要素の内部で指定される。しかしimport要素は空要素なので内部に文字列は保持しない。

2.10 footnote要素

注釈を表現する。

footnote要素内の空白改行は文書として扱われる。footnote要素内の空白改行はそのまま文書として扱われるため、空白改行をXML文書記述整形に用いることはできない。

2.11 access要素

資源への指示を表現する。access要素には必須属性としてref属性が、任意属性としてtype属性がある。ref属性しは指し示す資源の場所を、type属性には指し示す資源の種類を指定する。

ref属性で指定される資源の場所指定方法はURI表記に従う。URI表記が適切に処理されるか否かは処理系に依る。また既に規定されているURI表記では表現しきれない場合には非登録公開スキームや非登録非公開スキームを利用することが許される。その場合処理が正しく行われるかは処理系に依る。

type属性はMIME形式の表記に従う。記述されたMIME形式が適切に処理されるか否かは処理系に依る。また既に規定されているMIME形式では表現しきれない場合にはMIME形式の表記に従い適切な表記への拡張が許される。その場合処理が正しく行われるかは処理系に依る。

access要素内の空白改行は文書として扱われる。access要素内の空白改行はそのまま文書として扱われるため、空白改行をXML文書記述整形に用いることはできない。

2.12 mark要素

文字列を修飾する。type属性は必ず指定されなければならない。type属性は値としてkeywordまたはattentionを指定することができる。

mark要素内の空白改行は文書として扱われる。mark要素内の空白改行はそのまま文書として扱われるため、空白改行をXML文書記述整形に用いることはできない。

2.13 ruby要素

振り仮名を表現する。ruby要素は必ずrubytext属性が指定されなければならない。rubytext属性には振り仮名を記述する。ruby要素は要素内文字列に対しrubytext属性で指定された文字列を振り仮名として扱う。

ruby要素内の空白改行は文書として扱われる。ruby要素内の空白改行はそのまま文書として扱われるため、空白改行をXML文書記述整形に用いることはできない。

参考文献

[1] 後藤 大地, 小澤 正紀, 版文2. 汎用論理構造文書, ONGS Inc., 2002年4月

[2] T. Berners-Lee, MIT/LCS, R. Fielding, U.C. Irvine, L. Masinter, Xerox Corporation, RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax, Network Working Group, August 1998

[3] N. Freed, Innosoft, N. Borenstein, First Virtual, RFC 2045, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, Network Working Group, November 1996

[4] N. Freed, Innosoft, N. Borenstein, First Virtual, RFC 2046, Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, Network Working Group, November 1996

[5] K. Moore, University of Tennessee, RFC 2047, MIME (Multipurpose Internel Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text, Network Working Group, November 1996

[6] N. Freed, Innosoft, J. Klensin, MCI, J. Postel, ISI, RFC 2048, Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures, Network Working Group, November 1996