汎用論理構造文書 文書モジュールは汎用論理構造文書に通常文書の作成に必要となる要素を追加するモジュールである。
次に、汎用論理構造文書 文書モジュールの構成要素定義を示す。
要素名 | 属性 | 子要素 | 要素内文字列 | 要素内空白改行 | 備考 |
---|---|---|---|---|---|
list | type | item | なし | 文書として扱われない | docgroup要素における拡張要素 |
item | なし | p | なし | 文書として扱われない | |
thebibliography | なし | bibitem | なし | 文書として扱われない | docgroup要素における拡張要素 |
bibitem | id | author,title,publisher,year | なし | 文書として扱われない | |
author | なし | p | なし | 文書として扱われない | |
title | なし | p | なし | 文書として扱われない | |
publisher | なし | p | なし | 文書として扱われない | |
year | なし | p | なし | 文書として扱われない | |
import | type,ref,caption,id | なし | なし | なし | p要素における拡張,空要素 |
footnote | なし | なし | あり | 文書として扱われる | p要素における拡張要素 |
access | type,ref | なし | あり | 文書として扱われる | p要素における拡張要素 |
mark | type | なし | あり | 文書として扱われる | p要素における拡張要素 |
ruby | rubytext | なし | あり | 文書として扱われる | p要素における拡張要素 |
親要素 | 子要素 | 子要素の数 | 備考 |
---|---|---|---|
docgroup | list | 0以上 | |
dpcgroup | thebibliography | 0以上1以下 | |
list | item | 1以上 | |
item | p | 1 | |
thebibliography | bibitem | 1以上 | |
bibitem | author | 0以上 | |
bibitem | title | 1 | |
bibitem | publisher | 0以上1以下 | |
bibitem | year | 0以上 | |
author | p | 1 | |
title | p | 1 | |
publisher | p | 1 | |
year | p | 1 | |
p | import | 0以上 | |
p | footnote | 0以上 | |
p | access | 0以上 | |
p | mark | 0以上 | |
p | ruby | 0以上 |
要素名 | 属性名 | 属性内容 | 用途 | 指定義務 | 備考 |
---|---|---|---|---|---|
list | type | itemize|order | リストの種類指定 | 任意 | 無指定はitemizeに同じ |
bibitem | id | 文字列 | ラベル表現 | 必須 | |
import | type | MIME形式 | 資源の種類指定 | 必須 | |
import | ref | URI表記 | 資源の場所指定 | 必須 | |
import | caption | 文字列 | 資源のタイトル | 任意 | |
import | id | 文字列 | ラベル表現 | 任意 | |
access | type | MIME形式 | 資源の種類指定 | 任意 | |
access | ref | URI表記 | 資源の場所指定 | 必須 | |
mark | type | keyword|attention | 文字列の記号付け | 必須 | |
ruby | rubytext | 文字列 | 振り仮名 | 必須 |
要素名 | 種類 | 備考 |
---|---|---|
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要素で表現することができ文書としての可読性の低下を防止している。
列挙または枚挙を表現する。list要素は子要素としてitem要素を持つ。list要素は子要素である一つまたは複数のitem要素に列挙または枚挙としての意味を与える。list要素はitem要素を複数保持することができる。
list要素は任意属性としてtype属性を持つ。type属性にはitemizeまたはorderを指定することができる。itemizeが指定された場合は列挙、orderが指定された場合は枚挙を意味する。type属性が指定されない場合はitemizeが指定されたものとして扱われる。
list要素内の空白改行は文書としての意味を持たない。list要素内の空白改行はXML文書記述整形に用いることができる。
list要素内で列挙および枚挙の対象となる一つのまとまりを表現する。item要素は子要素としてp要素を一つ持つ。
item要素内の空白改行は文書としての意味を持たない。item要素内の空白改行はXML文書記述整形に用いることができる。
参考文献一覧を表現する。thebibliography要素の子要素であるbibitem要素がそれぞれ参考文献情報を保持する。thebibliography要素はbibitem要素に参考文献の掲載順序の意味を与える。またthebibliography要素は複数のbibitem要素を保持することができる。
thebibliography要素は通常/document/docgroup/直下に一つだけ用意され使用される。しかしその用途に限定されるものではない。docgroup要素はthebibliography要素を一つまで保持することができ、thebibliography要素を保持できるdocgroup要素は/document/docgroup要素に限定されない。どのdocgroup要素でもthebibliography要素を一つまで保持することができる。
thebibliography要素内の空白改行は文書としての意味を持たない。thebibliography要素内の空白改行はXML文書記述整形に用いることができる。
参考文献を表現する。bibitem要素は子要素としてauthor要素、title要素、publisher要素、year要素を持つ。参考文献の情報はそれぞれ子要素が保持する。bibitem要素は子要素をまとめ、それら情報が参考文献情報であることを意味付ける。
bibitem要素は必ずid属性が指定されなければならない。参考文献は文書中から一意に指し示すことができ文書中から文献が辿れる必要がある。ここでは文献を特定するためid属性を用意している。id属性には任意の文字列を指定することができる。他のid属性とぶつからない文字列を指定する必要がある。id属性で指定された内容が他の要素と重複している場合の扱いは処理系に依る。
参考文献の著者を意味する。author要素を記述する義務はなく、複数著者がいる場合はそれだけ複数author要素を記述することができる。
author要素内の空白改行は文書としての意味を持たない。author要素内の空白改行はXML文書記述整形に用いることができる。
参考文献の題名を意味する。title要素は必ず一つ記述されなければならない。
title要素内の空白改行は文書としての意味を持たない。title要素内の空白改行はXML文書記述整形に用いることができる。
参考文献の出版社を意味する。publisher要素を指定する義務はなく、必要に応じて一つまで指定することができる。
publisher要素内の空白改行は文書としての意味を持たない。publisher要素内の空白改行はXML文書記述整形に用いることができる。
参考文献の出版年月日を意味する。year要素を指定する義務はなく、必要に応じて複数指定することができる。
year要素内の空白改行は文書としての意味を持たない。要素内の空白改行はXML文書記述整形に用いることができる。
外部資源を内包する。画像や表、ソースコード、文書、音、アプリケーション等、外部資源を文書に内包するために利用する。
import要素は必須属性としてtype属性およびref属性、任意属性としてcaption属性およびid属性を持つ。type属性は指定する外部資源の種類、ref属性は外部資源の場所を指定、caption属性は指定した外部資源に与える名前、id属性はこの要素のラベル表現を表す。
ref属性で指定される資源の場所指定方法はURI表記に従う。URI表記が適切に処理されるか否かは処理系に依る。また既に規定されているURI表記では表現しきれない場合には非登録公開スキームや非登録非公開スキームを利用することが許される。その場合処理が正しく行われるかは処理系に依る。
type属性はMIME形式の表記に従う。記述されたMIME形式が適切に処理されるか否かは処理系に依る。また既に規定されているMIME形式では表現しきれない場合にはMIME形式の表記に従い適切な表記への拡張が許される。その場合処理が正しく行われるかは処理系に依る。
importは非構造要素なのでp要素の内部で指定される。しかしimport要素は空要素なので内部に文字列は保持しない。
注釈を表現する。
footnote要素内の空白改行は文書として扱われる。footnote要素内の空白改行はそのまま文書として扱われるため、空白改行をXML文書記述整形に用いることはできない。
資源への指示を表現する。access要素には必須属性としてref属性が、任意属性としてtype属性がある。ref属性しは指し示す資源の場所を、type属性には指し示す資源の種類を指定する。
ref属性で指定される資源の場所指定方法はURI表記に従う。URI表記が適切に処理されるか否かは処理系に依る。また既に規定されているURI表記では表現しきれない場合には非登録公開スキームや非登録非公開スキームを利用することが許される。その場合処理が正しく行われるかは処理系に依る。
type属性はMIME形式の表記に従う。記述されたMIME形式が適切に処理されるか否かは処理系に依る。また既に規定されているMIME形式では表現しきれない場合にはMIME形式の表記に従い適切な表記への拡張が許される。その場合処理が正しく行われるかは処理系に依る。
access要素内の空白改行は文書として扱われる。access要素内の空白改行はそのまま文書として扱われるため、空白改行をXML文書記述整形に用いることはできない。
文字列を修飾する。type属性は必ず指定されなければならない。type属性は値としてkeywordまたはattentionを指定することができる。
mark要素内の空白改行は文書として扱われる。mark要素内の空白改行はそのまま文書として扱われるため、空白改行をXML文書記述整形に用いることはできない。
振り仮名を表現する。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