JepaX
JEPA電子出版交換フォーマット
Draft: Version 0.9
Last Update: 1999/9/30
目次
1. 目的
多くの出版社には、これからの電子出版市場の普及に備えて既存の紙の出版物をデジタル化する作業を今すぐにでも開始して準備しておきたいという意向がある。ところが、電子書籍のフォーマットにはすでにいくつかのものが存在し、これからも新しいものが策定されつつある。出版社としては、デジタル化作業を進める上でどのフォーマットを選択すればよいのか決めがたい状況にある。
そこで、なんらかの中立的なフォーマットを早急に策定し、デジタル化作業のやりやすい状況を作ろうというのがこの仕様の目的である。
2. 用途
この仕様は出版業界内部において電子出版コンテンツの蓄積や交換を行うための「交換フォーマット」として利用されることを想定しており、直接エンドユーザーの手に渡る「配布フォーマット」のひとつとして利用されることは意図していない。
各出版社はこのフォーマットでコンテンツを蓄積し、必要に応じていずれかの「配布フォーマット」変換した上で出版することになるであろう。
3. 方針
・ XML準拠
XMLはデジタル文書の業界標準になりつつあり、開発環境や各種のツール類も今後ますます充実してくると思われる。
他の電子書籍フォーマットもみなXMLを指向しており、XML同士ならXSLによる相互変換も容易に行える可能性が高い。
・ 簡潔さ
デジタル化作業環境の早急な立ち上げという目的のためには、簡潔で容易に習得できる仕様が求められる。また、特別な専用ツールの登場を待たなくても、テキストエディタなどによって作業が可能であることが望ましい。
すでに広く普及しているHTMLのタグを採用することも、習得を容易にするという意味では有効である。
・ 論理構造重視―スタイル指定の排除
「フォント」や「行間」といった文書が表示されるときのスタイルを指定するような仕様は極力排除し、「章」「セクション」「段落」「注釈」といったような、文書の構造を定義することを重視する。
スタイル定義の部分は、配布フォーマットによって最も異なっている部分であり、逆に各配布フォーマットが独自性を出せる部分ともいえる。交換フォーマットとして共通の仕様を決めるのが難しいし、むしろこの部分については自由度を残しておく方がよいと思われる。
・ 変換の容易性
交換フォーマットであるからには、他のフォーマットとの相互変換を最大限に考慮する。特に、既存のものや策定中の配布フォーマットとの間の相互変換に関しては、可能なら実際にコンバータなどを作成することにより実証確認しながら仕様を検討していく。
4. 文書形式
1) XML文書型
形式はXML1.0の検証済み文書ファイルとする。
文書型はDTDにより定義し、この仕様とともに公開される。
Version 1.0の公開識別子は "-//JEPA//DTD JepaX 1.0//JA" とする。
文書型宣言は以下のようになる。
<!DOCTYPE jepax PUBLIC "-//JEPA//DTD JepaX 1.0//JA" "http://x.jepa.or.jp/jepax/jepax10.dtd" >
2) エンコーディング
文書ファイルに使用される文字コードのエンコーディングはUTF-16を推奨するが、それ以外のエンコーディングも許容されるものする。
いずれの場合でも、ファイル先頭のXML宣言で以下のようにエンコーディングを明示する必要がある。
<?XML version="1.0" encoding="UTF-16" ?>
3) 文字表現の種類
JepaX文書中では、文字を表す方法として以下の4つの方法がある。
・ 文字コード
XMLで規定される文字データ(CDATA)として、通常の文字コードで記述する。文書ファイルのエンコーディングによって表現できない文字もある。また、表示するOS環境や使用フォントによっては表示できない文字もある。
・ ISO文字名称
ISO 8879で規定されている文字名称を使用したエンティティ参照で記述する。ISOの名称に対応した文字名称のエンティティ宣言は、JepaXのDTDとともに提供される。また、XMLでマークアップに使用される5文字については、XMLの仕様により暗黙に定義されている。
例:
& < > ' " (XML暗黙定義の5文字)
á ü
・ UCS文字番号
XMLの仕様で規定されている文字参照による記述。UCSの文字コードを10進数または16進数で直接記述する方法。
例:
㨾 ಟ
・ gi要素
JepaXで独自に定義するgi要素による記述。厳密には文字ではなく字形イメージを直接指定する方法。何らかの字形分類体系を利用し、その体系を特定する名称と、その体系での番号や名称で字形イメージを指定する。
例:
<gi set="mojikyo" name="47268" alt="鴎" />
4) 文字表現形式による分類
JPEAXでは使用する文字の表現形式を使用環境によって細かく制限することにより、文書ファイルを3つの形式に分類している。ある文書がどの形式であるかという情報は、メタ情報として後述の char-exp要素に記録されている。
Unicodeの全ての文字が表示可能な環境での使用を想定した形式。文字データにはUnicodeの全ての文字を使用できる。
エンコーディング形式はUTF-8かUTF-16でなくてはならない。
日本語Windows環境での使用を想定した形式。文字データには日本語Windows環境で表示可能な文字(ASCII文字、半角カタカナ、JIS第一第二水準の漢字・非漢字、13区記号、NEC拡張漢字、IBM拡張漢字)が使用できる。
これ以外の文字についてはUCS文字番号による文字表現を使用する。ただし、ISO文字名称が定義されている非ASCII欧文文字についてはそれを使ってもよい。
エンコーディング形式はUTF-8、UTF-16かShift_JISでなくてはならない。
最低でもJIS第一第二水準の漢字・非漢字を表示可能なあらゆる日本語環境を想定した形式。文字データにはASCII文字とJIS第一第二水準の漢字・非漢字のみしか使用できない。
これ以外の文字についてはUCS文字番号による文字表現を使用する。ただし、ISO文字名称が定義されている非ASCII欧文文字についてはそれを使ってもよい。
エンコーディング形式は特に制限しない。
どの形式においても、可能な場合には通常の文字データとして表現することが推奨され、ISO文字名称やUCS文字番号による文字表現はできるだけ使用しないことが望ましい。ただし、XMLで暗黙に文字名称が定義されている5文字(& < > ' ")については例外で、いつでも文字名称を使用してよい。
どの形式においてもUnicodeに含まれない文字については、gi要素による字形イメージの直接指定が可能である。また、Unicodeに含まれる文字についても、フォントのデザインなどに左右されることなく確実に望みの字形を指定する必要がある場合などにはgi要素による指定も可能である。
形式 | Unicode環境用 | Windows環境用 | 日本語環境汎用 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
エンコーディング | UTF-8, UTF-16 | UTF-8, UTF-16, Shift_JIS | 制限なし | |||||||||
文字表現方法 | 文字コード | ISO文字名 | UCS番号 | gi要素 | 文字コード | ISO文字名 | UCS番号 | gi要素 | 文字コード | ISO文字名 | UCS番号 | gi要素 |
XML予約文字 | ※ | ◎ | ○ | ○ | ※ | ◎ | ○ | ○ | ※ | ◎ | ○ | ○ |
ASCII | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ |
非ASCII欧文 | ◎ | ○ | ○ | ○ | × | ◎ | ◎ | ○ | × | ◎ | ◎ | ○ |
半角カタカナ | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ | × | × | ◎ | ○ |
JIS1,2水準 | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ |
13区記号 | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ | × | × | ◎ | ○ |
NEC拡張漢字 | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ | × | × | ◎ | ○ |
IBM拡張漢字 | ◎ | × | ○ | ○ | ◎ | × | ○ | ○ | × | × | ◎ | ○ |
その他のUnicode | ◎ | × | ○ | ○ | × | × | ◎ | ○ | × | × | ◎ | ○ |
Unicode外の文字 | × | × | × | ◎ | × | × | × | ◎ | × | × | × | ◎ |
◎:推奨 ○:可能 ×:不可
※:「推奨」だが、XMLの仕様上「不可」となる場合がある。
(例:「&」「<」は通常「不可」。「"」「’」は属性値では「不可」。)
5) ファイルの分割
JepaX文書は複数のファイルに分割することもできる。章などの区切りのよい単位でまとめた一部分を分割ファイルとして分離し、XMLのエンティティ参照のしくみを用いて本体ファイルからこれを参照する。
ただし、XMLの仕様として
・XML宣言やDOCTYPE宣言などのプロローグ部分
は分離せずに本体ファイルに残しておかなくてはならない。さらに
・ルート要素であるjepax要素の開始・終了タグ
・その先頭の子要素であるbookinfo要素の全て
については、JepaX独自の規定として分離せずに本体ファイルに残しておかなくてはならない。
各分割ファイルはXMLのwell-formed文書でなくてはならない。つまり、ファイル内で要素の開始タグと終了タグの対応がとれている形で完結していなくてはならない。
本体ファイル:
<?XML version="1.0" encoding="UTF-16" ?> <!DOCTYPE jepax PUBLIC "-//JEPA//DTD JepaX 1.0//JA" "http://x.jepa.or.jp/jepax/jepax10.dtd" [ <!ENTITY cover SYSTEM "cover.xml"> <!ENTITY front SYSTEM "front.xml"> <!ENTITY chap1 SYSTEM "chap1.xml"> <!ENTITY chap2 SYSTEM "chap2.xml"> <!ENTITY chap3 SYSTEM "chap3.xml"> <!ENTITY back SYSTEM "back.xml"> ]> <jepax> <jepaxinfo> ・・・ </jepaxinfo> <bookinfo> ・・・ </bookinfo> &cover; &front; <body> &chap1; &chap2; &chap3; </body> &back; </jepax>
分割ファイル:cover.xml
<cover> ・・・ </cover>
分割ファイル:front.xml
<front> ・・・ </front>
分割ファイル:chap1.xml, chap2.xml, chap3.xml
<div type="章"> ・・・ </div>
分割ファイル:back.xml
<back> ・・・ </back>
5. 全体構造
JepaX文書のトップレベルでの文書構造は、ルート要素とその5つの子要素のみから構成される。
jepax
ルート要素。全体をまとめる唯一の要素。
jepaxinfo要素、bookinfo要素、cover要素、front要素、body要素、back要素をこの順で含む。ただし、cover要素、front要素、back要素は省略可。
cover
紙の出版物からデジタル化した場合に、「カバー」や「見返し」や「帯」などに書かれていた内容を納めるための要素。省略可。特に初めから電子書籍として作成されるものについては無理にこの要素を使用する必要はない。
div要素の1個以上の繰り返し。
例:
<jepax> <jepaxinfo> ・・・ </jepaxinfo> <bookinfo> ・・・ </bookinfo> <cover> ・・・ </cover> <front> ・・・ </front> <body> ・・・ ・・・ </body> <back> ・・・ </back> </jepax>
6. フォーマット情報要素
JepaXファイルフォーマットに関する情報を表す要素。
char-exp
文字表現形式の方法。type属性のみが意味を持つ。省略不可。
列挙型。JepaXで定められた3段階のどれを使用しているかの情報。
"unicode" すべてのUnicodeを使用
"windows" Windows環境で表示可能な文字のみを使用
"general" ほとんどの日本語環境で表示可能な文字のみを使用
pref-layout
推奨される表示方法。flow属性のみが意味を持つ。省略不可。
構成要素:なし。空要素。
列挙型。縦組みと横組みのどちらを前提とした文書であるか。
"horz" 横組み
"vert" 縦組み
"both" どちらでもよいように配慮されている
giset-desc
文書内のgi要素で使用されている字形分類体系についての説明。省略可。複数列挙可。
name属性で使用した字形イメージの番号や名称の表記法や、指定された字形イメージを参照する具体的な方法などがわかるような説明を記述する。
文字列型。gi要素のset属性で使用した値。(字形分類体系の略称)
xtype-desc
文書内で使用されているxtype属性についての説明。省略可。複数列挙可。
文字列型。要素名。
文字列型。xtype属性の値。
class-desc
文書内で使用されているclass属性についての説明。省略可。複数列挙可。
文字列型。要素名。
文字列型。class属性の値。
例:
<char-exp type="windows"/> <pref-layout flow="horz"/> <giset-desc value="mojikyo"> 「今昔文字鏡」で使用されている字形番号体系。 name属性には5桁の数字で文字鏡番号を記述。 参照URL http://www.mojikyo.gr.jp/index_j.htm </giset-desc> <xtype-desc element="div" value="ト書き"> 戯曲のト書き部分。 </xtype-desc> <xtype-desc element="div" value="セリフ"> 戯曲のセリフ部分。 </xtype-desc> <class-desc element="em" value="blink"> 文字列を点滅させる事による強調。 </class-desc>
7. 書誌情報要素
文書ファイル自身についての書誌情報を表す要素。書名や著者名などの記法に関しては、日本書籍出版協会の「データベース日本書籍総目録」で使用されているデータ形式(http://www.est.co.jp/ks/dish/booksfield.htm)に準拠するものとする。
book-author
著者名。省略不可。複数列挙可。
構成要素:任意の文字列
属性:role
文字列型。"著"、"訳"、"監修"、"編"、"画" などの著作の種類を表す語。
共通の属性:reading
例:
<booknfo> <isbn>4-06-257018-1</isbn> <c-code>0255</c-code> <book-title reading="ワープロココガフシギ"> ワープロ,ここが不思議 </book-title> <book-subtitle>ちょっと知的なワープロ学</book-subtitle> <edition>改訂新版</edition> <series-title reading="ブルーバックス 1018"> ブルーバックス B1018 </series-title> <book-author role="著" reading="フルセ ユキヒロ"> 古瀬 幸広 </book-author> <pub-date>19940530</pub-date> <publisher code="1234">東西南北出版社</publisher> </bookinfo>
8. 論理構造単位要素
JepaXのトップレベルの要素であるcover, front, body, backの各要素は、唯一の論理構造単位要素であるdiv要素のみから構成される。
div要素はそれ自身が複数のdiv要素を含むことができ、「部」→「章」→「節」といった階層を持った文書構造はdiv要素をネストさせていくことにより表現する。「まえがき」「あとがき」「解説」などの階層を持たない論理構造単位も単独のdiv要素として表現する。また、「引用」や「プログラムリスト」などもdiv要素としてまとめることで表現する。
div
ひと区切りのまとまった論理構造単位を表す要素。
先頭にひとつのhead要素(省略可)。
その後に「div要素、note要素、リスト要素、ブロック要素のどれか」の0個以上の繰り返し。
列挙型。その論理構造単位の種別を表す。この種別は将来の仕様更新時に追加されていく可能性がある。
この属性は必ずしも設定しなくてはならないものではなく、未設定でもよい。
"表紙"、"あらすじ"、"抄録"、"著者紹介"、
"とびら"、"謝辞"、"献辞"、"序文"、"凡例"、"目次"、"図版目次"、
"部"、"篇"、"章"、"節"、"項1"、" 項2"、" 項3" 、"項4"、"項5"、"項6"
"あとがき"、"解説"、"付録"、"索引"、"用語集"、"年表"、"関連書籍"、"奥付"
"引用"、"詩"、"プログラムリスト" 、"参考文献"、"囲み"
("項1"〜"項6" の数字はASCIIの数字 1〜6)
文字列型。type属性の定義された以外の種別を独自に定義したい場合に使用する。任意の文字列で新たな種別を定義できる。
この属性を設定する場合は、type属性を設定してはならない。
「共通の属性」のxtypeの項参照。
head
論理構造単位についての「タイトル」「サブタイトル」「著者名」などの情報をまとめた要素。通常はその論理構造単位の先頭に表示される。単なるタイトルだけではなく、文章(リード)や図なども含むことができる。これによって、章の始まりなどに使われる「中とびら」などもこのhead要素として表現できる。
div要素の先頭にのみ現れる。
no要素、title要素、subtitle要素、author要素をこの順で含む(どの要素も省略可)。その後に「リスト要素かブロック要素」の0個以上の繰り返し。
note
欄外や章末などに配置される「注」。
先頭にno要素とtitle要素(どちらも省略可)。その後に「リスト要素かブロック要素」の0個以上の繰り返し。
no要素、title要素はhead要素と共用。
例:
<div type="章"> <head> <no>第一章</no><title>電子出版の歴史</title> </head> <div type="節"> <head> <no>1.</no><title>黎明期</title> <subtitle>CD-ROM辞書の時代</subtitle> </head> ・・・ ・・・ (本文のブロック要素の繰り返し) ・・・ ・・・ <note> <no>注1</no><title>世界初の電子辞書</title> ・・・ (注のブロック要素の繰り返し) ・・・ </note> </div> ・・・ ・・・ (節のdiv要素の繰り返し) ・・・ ・・・ </div>
9. リスト要素
リスト要素の各項目は「リスト要素かブロック要素」の繰り返しであり、文字列が直接現れることはない。一行で済むような項目の列挙をしたい場合でも、その文をp要素で括ってブロック要素にしなくてはならない。
10. ブロック要素
4) 表
5) 外部ファイルデータ
float
外部ファイルで提供され、表示の時には本文とは独立したレイアウトで配置されるデータ。図、写真、挿し絵、動画、音声など。
最初にcaption要素(省略可)、そのあとに1個以上のres要素の繰り返し。
caption要素はtable要素と共用。
列挙型。そのデータの種別を表す。この種別は将来の仕様更新時に追加されていく可能性がある。
この属性は必ずしも設定しなくてはならないものではなく、未設定でもよい。
"図"
"写真"
"挿し絵"
"表"(イメージで提供されるもの)
文字列型。type属性の定義された以外の種別を独自に定義したい場合に使用する。任意の文字列で新たな種別を定義できる。
この属性を設定する場合は、type属性を設定してはならない。
「共通の属性」のxtypeの項参照。
11. インライン要素
通常の文字列の中で使用される要素。
1) 汎用インライン要素
span
汎用のインライン要素。この要素自体に特別な意味は持っていないが、インライン要素化することによって特定の文字列に属性を付与することが可能になる。
「任意の文字列かインライン要素」の0個以上の繰り返し。
列挙型。その文字列論理構造的な種別を表す。この種別は将来の仕様更新時に追加されていく可能性がある。
この属性は必ずしも設定しなくてはならないものではなく、未設定でもよい。
文字列型。type属性の定義された以外の種別を独自に定義したい場合に使用する。任意の文字列で新たな種別を定義できる。
この属性を設定する場合は、type属性を設定してはならない。
「共通の属性」のxtypeの項参照。
例:
<span type="URL">http://www.jepa.or.jp/</span>
5) 縦横文字切り替え
縦組み表示であるか横組み表示であるかによって、本文の文字列を変更する必要がある場合に使用される要素。
ht
横組みの時に使用される文字列。byflow要素の中にのみ使用できる
「任意の文字列かbyflow要素以外のインライン要素」の0個以上の繰り返し。
vt
縦組みの時に使用される文字列。byflow要素の中にのみ使用できる
「任意の文字列かbyflow要素以外のインライン要素」の0個以上の繰り返し。
例:
<byflow><ht>上の</ht><vt>右の</vt></byflow>表において
7) ルビ
rb
ルビの付けられるベースの文字列。ruby要素の中にのみ使用できる
「任意の文字列、sup要素、sub要素、gi要素のどれか」の0個以上の繰り返し。
例:
<ruby><rb>株式会社</rb><rt>かぶしきがいしゃ</rt></ruby>
11) 字形イメージ
gi
文字と同じように扱う字形イメージを表す要素。
Unicodeに含まれていない文字を使いたいときや、通常の文字コードでは厳密に字形を特定できない場合などに使用する。
何らかの字形分類体系を利用し、その体系を特定する名称と、その体系での番号や名称で字形イメージを指定する。名称や番号によって一意に字形イメージを特定することが可能であれば、どのようなものでも字形分類体系として使用できる。
字形分類体系を特定する名称や、字形イメージの番号や名称の表記法についてはJepaXでは規定しないが、文書内で使用した字形分類体系については、jepaxinfo要素の中のgiset-desc要素に、それを利用するのに十分な説明を記述しなくてはならない。
なし。空要素。
文字列型。字形分類体系を表す文字列。
文字列型。setで指定した字形分類体系おける字形イメージの番号や名称。
文字列型。字形イメージの代替表示文字列。何らかの理由で指定された字形イメージを正しく表示できない時に代わりに表示される。
この属性が指定されていない場合には、デフォルトで "〓" が代替文字列となる。
例:
森 <gi set="mojikyo" name="58562" alt="鴎" />外 <gi set="mojikyo" name="39630" alt="鄧" />小平 深<gi set="mojikyo" name="04894" alt="(土川)" />経済特区 <gi set="mojikyo" name="50021" alt="ボク(さんずいに墨)" />東 奇<gi set="mojikyo" name="35978" alt="譚" />
12) インライン要素の包含関係
インライン要素同士の包含関係を整理すると次の表のようになる。
左辺が親要素、上辺が子要素として、その包含関係が許されるかどうかを示したものである。
span | em | ref | key | byflow | mlg | ruby | sup | sub | br | img | gi | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
span | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
em | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
ref | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
key | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
byflow | ○ | ○ | ○ | ○ | × | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
mlg | ○ | ○ | ○ | ○ | ○ | × | ○ | ○ | ○ | ○ | ○ | ○ |
ruby | × | × | × | × | × | × | × | ○ | ○ | × | × | ○ |
sup | × | × | × | × | × | × | × | × | × | × | × | ○ |
sub | × | × | × | × | × | × | × | × | × | × | × | ○ |
br | × | × | × | × | × | × | × | × | × | × | × | × |
img | × | × | × | × | × | × | × | × | × | × | × | × |
gi | × | × | × | × | × | × | × | × | × | × | × | × |
包含関係が許されない場合、それは直接の子要素となれないだけでなく、他の要素を間に挟んでの子孫要素になることもできない。(ただし、DTDでは直接の親子関係しか規定できないので、このようなエラーは通常のXMLパーサーだけではチェックすることはできない。)
12. 共通の属性
class
文字列型。クラス名を表す空白を含まない文字列。複数のクラス名を空白で区切って指定することもできる。
クラス名は要素を分類する汎用的な方法として使用できる。使用したクラス名の意味、変換や表示の際に期待する処理方法などについて、簡単な説明をbookinfo要素の中のclass-desc要素に記述しておかなくてはならない。
div要素とその子孫となる要素の多くで使用される。
div要素、float要素、span要素については、type/xtype属性による分類が定義されている。これらの要素に対してclass属性による分類を行うのは、type/xtype属性とは別の観点からの分類を行いたい場合に限るべきである。
vflow
列挙型。文書全体を縦組み表示するときにその要素の表している内容(文字列、インライン画像、字形イメージ)をどのように表示するかの指定。
"vert" 下方向に進めながら配置。
"horz" 右方向に進めながら配置。(「縦中横」もこれで表す)
"rot90" 個々の文字、画像、字形イメージを時計回りに90度回転
させた上で、下方向に進めながら配置。
div要素とその子孫となる要素の多くで使用される。
この属性が未設定の場合には、以下の方法で属性が決定される。
・table要素、float要素ならば、"horz"となる。
・親要素がvflow属性をもてる要素ならば、そのvflow属性が引き継がれる。
・親要素がvflow属性をもてない要素ならば、"vert"となる。
欧文は"rot90"が自然な組み方であり、通常の縦組み表示のワープロなどでは半角文字については自動的にこの組み方がデフォルトになっていることが多い。しかし、JepaXでは文字種によるデフォルトの切換は行わない。従って一般の縦組みワープロと同様の表示を求めるならば、文中のすべての欧文単語についてspan要素としてマークアップし、"rot90"の属性を与える必要がある。
例:
<span vflow="vert">XML</span>とは、 <span vflow="rot90">Extensible Markup Language</span>の略で、 <span vflow="horz">’98</span>年に <span vflow="vert">W3C</span>の <span vflow="rot90">Recommendation</span>となった。
break
列挙型。改行などによって要素が分割されることを許すかどうかの指定。
"yes" 分割可。(デフォルト)
"no" 分割禁止。
空要素でないインライン要素で使用される。
この属性が未設定の場合には、以下の方法で属性が決定される。
・親要素がbreak属性をもてる要素ならば、そのbreak属性が引き継がれる。
・親要素がbreak属性をもてない要素ならば、"yes"となる。
reading
mimetype
文字列型。外部ファイルの形式。RFC2046で定義されているmedia typeを使用する。 http://www.ietf.org/rfc/rfc2046.txt
例えば、GIF画像なら "image/gif"、JPEG画像なら "image/jpeg" となる。
IANAに登録されたmedia type のリストは
ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/