エリアツリー

はじめに

Antenna House Formatter V7.3のエリアツリーは、XSL 1.14. Area Model を具現したものであるが、4.10 にあるサンプルを忠実に真似たものではない(非常に似てはいるが)。

This specification is provided as-is, without any warranty expressed or implied.

エリアツリーのXML表現に関するW3Cによる規定はない。 ここに示すエリアツリーのXML表現は、Antenna House Formatter V7.3 が生成するものであり、Antenna House 独自仕様のものである。

「Hello World!」と出力するだけのエリアツリーは次のようなものである。 ここには、紙面(A4)上のどこにどのフォントで何色で出力すればよいかなどの情報が含まれているのが見て取れるであろう。

<?xml version="1.0"?>
<AreaRoot is-first="true" is-last="true" version="602.2"
    xmlns="http://www.antennahouse.com/names/XSL/AreaTree">
    <PageViewportArea output-volume-break="false" is-first="true" is-last="true"
        width="595.276pt" height="841.89pt" abs-page-number="1" page-number="1" format="1">
        <PageReferenceArea is-first="true" is-last="true" width="595.276pt" height="841.89pt"
            display-role="block">
            <RegionViewportArea is-first="true" is-last="true" width="595.276pt"
                height="841.89pt" region-name="xsl-region-body">
                <RegionReferenceArea is-first="true" is-last="true" width="595.276pt"
                    height="841.89pt" display-role="block">
                    <MainReferenceArea is-first="true" is-last="true" width="595.276pt"
                        height="841.89pt">
                        <ColumnReferenceArea is-first="true" is-last="true" width="595.276pt"
                            height="841.89pt">
                            <NormalFlowReferenceArea is-first="true" is-last="true"
                                width="595.276pt" height="841.89pt">
                                <BlockArea is-first="true" is-last="true"
                                    bottom-position="829.89pt" width="595.276pt" height="12pt">
                                    <LineArea is-first="true" is-last="true"
                                        top-position="1pt" bottom-position="830.89pt"
                                        width="595.276pt" height="10pt"
                                        baseline-after="2.16309pt" space-before="1pt"
                                        space-after="1pt">
                                        <TextArea color="#000000" is-first="true"
                                            is-last="true" top-position="1pt"
                                            bottom-position="830.89pt"
                                            right-position="542.483pt" width="52.793pt"
                                            height="10pt" baseline-after="2.16309pt"
                                            script="Latn" font-size="10pt"
                                            font-family="Times New Roman"
                                            text-width="52.793pt" text="Hello World!"
                                            kerning-mode="pair" />
                                    </LineArea>
                                </BlockArea>
                            </NormalFlowReferenceArea>
                        </ColumnReferenceArea>
                    </MainReferenceArea>
                </RegionReferenceArea>
            </RegionViewportArea>
        </PageReferenceArea>
    </PageViewportArea>
</AreaRoot>

領域モデル

XSLの 領域モデル(Area Model) は、領域(area) を入れ子構造の長方形で表現するモデルである。したがって、入れ子長方形構造で表現できない文書を扱うことはできない。 ただし、入れ子構造は論理的な構造としての入れ子であり、実際の長方形が重なってレンダリングされることはあり得る。

  領域モデルの詳細については、XSL 1.14. Area Model を見よ。

ルート要素以外のすべての要素は領域である。領域は、ブロック領域 (block-area) と 行内領域 (inline-area) の2種類に分類することができる。 また、XSL仕様では、領域はスタックされて、ある進行方向(上から下とか)に積み重ねられるとあるが、エリアツリー中ではすべての領域の位置は決定済みであり、レンダラがスタックを意識する必要はない。 ブロック領域か行内領域かを意識する必要はあまりないが、進行方向は意識する必要がある。それは、長方形の各辺(edge)の物理的な位置を把握するのに必要である。

長方形の領域は、図のように内容長方形(Content Rectangle)、パディング長方形(Padding Rectangle)、境界長方形(Border Rectangle)で構成されている。

+----------------------------+
| Border Rectangle           |
| +------------------------+ |
| | Padding Rectangle      | |
| | +--------------------+ | |
| | | Content Rectangle  | | |
| | |                    | | |
| | +--------------------+ | |
| +------------------------+ |
+----------------------------+

この図で、普通の横書きの文章は、ブロック進行方向(block-progression-direction) は上から下であり、行内進行方向(inline-progression-direction) は左から右である。これは、lr-tb と略される。lr が行内進行方向(left to right)であり、 tb がブロック進行方向(top to bottom)である。 このとき、各辺は次のように定義される。

また、領域自身が回転することがあり得る。その場合でも論理的な辺の定義は不変である。しかし、領域自体が回転しているので、紙面に対する物理的な位置も回転している。

before や start ではなく、top や left など絶対的な位置指定が行われることがある。これらは、進行方向によって次のようにマップされる。

topbottomleftright
lr-tbbeforeafterstartend
lr-btafterbeforestartend
rl-tbbeforeafterendstart
rl-btafterbeforeendstart
tb-lrstartendbeforeafter
tb-rlstartendafterbefore
bt-lrendstartbeforeafter
bt-rlendstartafterbefore

領域には、表示領域(viewport-area) と呼ばれる領域と 参照領域(reference-area) と呼ばれる領域がある。 表示領域は、その領域に含まれる領域がレンダリングされるべき領域であることを示している。 参照領域は、その領域が独自の座標系を持っており、含まれる子領域の座標は参照領域の座標となる。 XSL仕様によれば、表示領域には参照領域が子として必ず含まれることになっているが、エリアツリーでは必ずしもそうではない。 エリアツリーのXML表現では、表示領域要素名には ViewportArea が後行し、参照領域要素名には ReferenceArea が後行している。

Datatypes

<digits> は、数字列である。すなわち符号なし整数。

<integer> は、(符号付きの)整数。

<number> は、(符号付きの)数値。 数値には小数点を含めてよい。小数点はピリオドであり、位取りのカンマなどは含まれない。

<length> は、12pt のような、単位を持つ <number> である。 利用できる単位は以下のとおり。

cmcentimeters
mmmillimeters
in2.54cm
pt1in/72
pc12pt

Antenna House Formatter V7.3は、すべて pt に換算してエリアツリーを出力する。それには、フォントサイズが pt であることから、誤差をなるべくなくそうという意図がある。

<percentage> は、75% のような、%付きの値である。これは、単に 0.75 と <number> を書いたのと等価。

<color> は、次のいずれかの形式。値の大文字小文字は無視される。

<R>,<G>,<B>0–255
<S>0.0(black)–1.0(white)
<C>,<M>,<Y>,<K>0.0–1.0

プロパティ

共通プロパティ

エリアツリーの各要素に共通するプロパティを示す。すべての要素がこれらのプロパティを持つわけではないが、多くの要素は持っている。

プロパティ Value Default Description
is-first true | false false

兄弟中の最初または最後の子であるかどうかを示す。

is-last true | false false
writing-mode lr-tb | rl-tb | tb-rl | lr-bt | rl-bt | tb-lr | bt-rl | br-lr lr-tb

テキストなどの進行方向。

width <length> -

内容長方形領域の大きさ。width は start辺とend辺の間隔、height は before辺とafter辺の間隔である。

height <length> -
top-position <length> -

参照領域からの内容領域の位置。これは、参照エリアの各辺からの距離である。 lr-tb の場合は次のようになる。

|-->left-position
+-------------------+ --
|                   | ↓
|   +-----------+   | top-position
|   | Content   |   |
|   | Rectangle |   |
|   +-----------+   | bottom-position
|                   | ↑
+-------------------+ --
   right-position<--|
bottom-position <length> -
left-position <length> -
right-position <length> -
space-before <length> 0

領域の前に空けるべき間隔。多くの領域の描画では意味がない。なぜならば、領域の位置は決定的である。 TextArea での文字列の位置決めなどで効果が現れる。

------------------------
                        <--space-before
+-----------------------
| Border Rectangle
| +---------------------
| | Padding Rectangle
| | +-------------------
| | | Content Rectangle
| | |
space-after <length> 0
space-start <length> 0
space-end <length> 0
padding-before <length> 0

パディングの幅。

+-----------------------
| Border Rectangle
| +---------------------
| | Padding Rectangle   <--padding-before
| | +-------------------
| | | Content Rectangle
| | |
padding-before.conditionality discard | retain discard
padding-before.length <length> 0
padding-after <length> 0
padding-start <length> 0
padding-end <length> 0
border-before-width <length> 0

境界の幅。

+-----------------------
| Border Rectangle      <--border-before-width
| +---------------------
| | Padding Rectangle
| | +-------------------
| | | Content Rectangle
| | |
border-before-width.length <length> 0
border-before-width.conditionality discard | retain discard
border-after-width <length> 0
border-after-width.length <length> 0
border-after-width.conditionality discard | retain discard
border-start-width <length> 0
border-start-width.length <length> 0
border-start-width.conditionality discard | retain discard
border-end-width <length> 0
border-end-width.length <length> 0
border-end-width.conditionality discard | retain discard
border-double-thickness <length> 0
diagonal-border-width <length> 0
reverse-diagonal-border-width <length> 0
border-before-style <border-style> none

境界のスタイル。XSL-FO仕様の値は CSS2 だが、ここでの値は CSS3 による。

none | hidden | dotted | dashed | solid | double | groove | ridge | dot-dash | dot-dot-dash | inset | outset | wave

border-after-style <border-style> none
border-start-style <border-style> none
border-end-style <border-style> none
diagonal-border-style <border-style> none
reverse-diagonal-border-style <border-style> none
border-before-color <color> -

境界の色。

border-after-color <color> -
border-start-color <color> -
border-end-color <color> -
diagonal-border-color <color> -
reverse-diagonal-border-color <color> -
border-top-left-radius <length> <length>? 0

丸め罫の径を指定します。 [CSS3-Background] Curve Radii: the ‘border-radius’ properties

border-top-right-radius <length> <length>? 0
border-bottom-left-radius <length> <length>? 0
border-bottom-right-radius <length> <length>? 0
color <color> -

background-color <color> transparent

背景の色。

font-family <string> -

フォントファミリ名。

font-size <length> -

フォントサイズ。

font-weight 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 400

フォントの太さ。

font-style normal | italic | oblique | backslant normal

フォントスタイル。

font-stretch <number> | <percentage> 1.0

フォントの進行方向への伸張。(1.0 = 100%)

baseline-after <length> -

フォントの高さのうち、ベースラインの下に出る高さ。

baseline-offset <length> -

ベースラインのbefore方向への移動量。

reference-orientation <number> 0

参照領域の回転。値の単位は度。 reference-orientation="90" は、90°反時計回りに領域が回転していることを示す。 Antenna House Formatter V7.3 は、90°単位の直角な回転だけ許している。 直角以外の回転に対して、次のように定義する。

  • 領域の位置は、内容領域の外接長方形に対して行われる。 すなわち、top-position、bottom-position、left-position、right-position は、外接長方形の位置を決定する。
  • 実際の内容領域は、指定角度回転した内接長方形である。
  • widthやheightは、その内接長方形に対するものである。 space-*、padding-*、border-*-width も同様。

ここで、内容領域の幅を w、高さを h、回転角を θ、図の左上を原点とした場合、

 0         X
0+-----+---+
 |   θ/ \  |
 |  /     \|
 |/        +
 +        /|
 |\     /  |
 |  \ /    |
Y+---+-----+

外接長方形の寸法は、

X = abs(w*cos(θ))+abs(h*sin(θ))
Y = abs(w*sin(θ))+abs(h*cos(θ))
are as above. The starting point moves to the next position.
0–90°start-side(0, w*sin(θ))
90–180°after-side(w*sin(θ-90), Y)
180–270°end-side(X, h*cos(θ-180))
270–0°before-side(h*cos(θ-270), 0)
z-index <integer> -

領域の重なり方を規定する。大きい値の方が上に描画される。 CSS2 による。 エリアツリー上では解決されているので、レンダラは無視してよい。

Annotation properties

プロパティ Value Default Description
annotation-author <string> -

Properties related to Annotation.

annotation-color <color> -
annotation-contents <string> -
annotation-file-attachment <string> -
annotation-font-family <string> -
annotation-font-size <length> -
annotation-font-style <string> -
annotation-font-weight <font-weight> -
annotation-height <string> -
annotation-icon-name <string> -
annotation-open <string> -
annotation-position-horizontal <length> -
annotation-position-vertical <length> -
annotation-text-align <string> -
annotation-text-color <string> -
annotation-title <string> -
annotation-type <string> -
annotation-width <length> -

要素

AreaRoot

ルート要素。

プロパティ Value Default Description
bookmark-tree.child <string> -

Properties corresponding to XSL 1.1 Formatting Objects for Bookmarks.

bookmark-tree.color <color> -
bookmark-tree.font-weight normal | bold -
bookmark-tree.internal-destination <string> -
bookmark-tree.next <string> -
bookmark-tree.starting-state show | hide show
bookmark-tree.title <string> -
color-profile._CMYK <string> -

Color profile to use when "#CMYK", "#GRAYSCALE", or "#RGB" is used with "rgb-icc()". See PDF/X.

color-profile._GRAYSCALE <string> -
color-profile._RGB <string> -
document-info.author <string> -

Properties corresponding to axf:document-info "name" values.

document-info.author-title <string> -
document-info.copyright-info-url <anyURI> -
document-info.copyright-notice <string> -
document-info.copyright-status Unknown | Copyrighted | PublicDomain -
document-info.description-writer <string> -
document-info.document-title <string> -
document-info.keywords <string> -
document-info.pagemode UseNone | UseOutline | UseThumbs | FullScreen | UseOC -
document-info.subject <string> -
generator <string> -

Application that produced the AreaTree XML.

layer-settings <string> -

Corresponds to axf:layer-settings.

output-volume-info.bookmark-include <string> -

Properties corresponding to axf:output-volume-info.

output-volume-info.document-info-include <string> -
output-volume-info.format <string> -
output-volume-info.initial-volume-number <string> -
version <string> -

このエリアツリーのバージョンを示す。

xmlns <string> -

常に "http://www.antennahouse.com/names/XSL/AreaTree"

ContentsPageViewportArea+

PageViewportArea

ページ表示領域。 ページを示し、ページ数分だけ存在する。

ContentsPageReferenceArea, FixedViewportArea*

PageReferenceArea

ページ参照領域。

Contents(RegionViewportArea+|PageRegionViewportArea+)

RegionViewportArea

区画表示領域。 XSL-FO仕様では、ページは次の5つの区画(region)から成る。

          +-------------------+
          |   region-before   |
          +--+-------------+--+
          |  |             |  |
region-start | region-body | region-end
          |  |             |  |
          +--+-------------+--+
          |   region-after    |
          +-------------------+

Antenna House Formatter V7.3 では、RegionViewportAreaは、これらの区画に対応しており、region-bodyは必ず存在するが、region-body以外は存在しなくてもよい。 区画の出現順序は、XSL-FO仕様としての制約はあるが、Antenna House Formatter V7.3 は出現順序違反を許容している。したがって、AreaTree上でも順序は不定である。 また、AreaTreeではそれがどの区画か区別はつかない。

Antenna House Formatter V7.3 が出力するエリアツリーには、高々5つのRegionViewportAreaしか存在しない。しかし、エリアツリーとしては、もっと多数存在しても問題はない。

ContentsRegionReferenceArea, SideNoteReferenceArea*

RegionReferenceArea

PageRegionViewportArea

Viewport for a viewport-region pair that is used with area trees from documents styled using CSS.

ContentsPageRegionReferenceArea

PageRegionReferenceArea

Reference area within a PageRegionViewportArea

ContentsBlockArea

MainReferenceArea

主要参照領域。

Contents(ColumnReferenceArea | SpanReferenceArea)+, AbsoluteFloatArea*

ColumnReferenceArea

段参照領域。 1段以上の多段組で、内容の存在する各段に対応する。段抜きがあると、段の数以上にColumnReferenceAreaが存在することがある。

+---------------+---------------+
| Column        | Column        |
| ReferenceArea | ReferenceArea |
+---------------+---------------+
|       SpanReferenceArea       |
+---------------+---------------+
| Column        | Column        |
| ReferenceArea | ReferenceArea |
+---------------+---------------+
Contents(FlowReferenceArea | NormalFlowReferenceArea), AbsoluteFloatArea*, FootnoteReferenceArea?, ColumnruleArea?, RevisionbarArea*

SpanReferenceArea

スパン参照領域。 2段以上の多段組のときの段抜き領域に対応する。1段組のときには存在しない。

Contents(NormalFlowReferenceArea | FlowReferenceArea), FootnoteReferenceArea?, ColumnruleArea?, RevisionbarArea*, AbsoluteFloatArea*

FlowReferenceArea

NormalFlowReferenceArea

BlockArea

ブロック領域。

プロパティ Value Default Description
line-continued-mark <string> -

Properties related to 行継続マーク

line-continued-mark-background-color <string> -
line-continued-mark-color <string> -
line-continued-mark-font-family <string> -
line-continued-mark-font-size <string> -
line-continued-mark-font-style <string> -
line-continued-mark-font-weight <string> -
line-continued-mark-offset <string> -
line-number <string> -

Properties related to 行番号

line-number-background-color <string> -
line-number-color <string> -
line-number-font-family <string> -
line-number-font-size <string> -
line-number-font-style <string> -
line-number-font-weight <string> -
line-number-initial <string> -
line-number-interval <string> -
line-number-offset <string> -
line-number-position <string> -
line-number-reset <string> -
line-number-start <string> -
line-number-text-align <string> -
line-number-text-decoration <string> -
Contents(BlockArea | BlockAnchorArea | BlockViewportArea | FormArea | LineArea | TableAndCaptionArea | TableViewportArea | ListBlockArea)*

LineArea

行領域。 1行の情報である。エリアツリー上では、行分割処理は済んでいる。

Contents(TextArea | LeaderArea | InlineArea | InlineAnchorArea | InlineViewportArea | GraphicViewportArea | BidiOverrideArea | RubyArea | FormFieldArea)*

InlineArea

行内領域。 文字列の一部に異なるプロパティを持たせるなどして構造化した領域。

Contents(TextArea | LeaderArea | InlineArea | InlineAnchorArea | InlineViewportArea | GraphicViewportArea | RubyArea | FormFieldArea)*

TextArea

文字列領域。 同一のTextArea中のテキストは、同一の特性を持つ文字の集まりである。

プロパティ Value Default Description
text <string> -

元テキスト。

finished-text <string> -

元テキストに対して、リガチャやグリフ置換などを行い、書字方向によっては逆順にした文字列。このプロパティがあるときは、textに代わってレンダリングに用いる。

script <string> -

テキストのスクリプト。値は、ISO15924 による。

text-width <length> -

テキストの幅。

underline-score true | false false

下線。

underline-score-color <color> -

下線の色。

overline-score true | false false

上線。

overline-score-color <color> -

上線の色。

through-score true | false false

取消し線。

through-score-color <color> -

取消し線の色。

blink true | false false

点滅。

ContentsGlyphArea* | EmphasisArea+

GlyphArea

グリフ領域。 テキストの各文字に対するグリフ情報が列挙されている。 レンダリング時にTextAreafinished-textの代わりに用いる。 Antenna House Formatter V7.3 は、すべてのテキストに対してグリフ情報を出力するわけではない。Arabic や Hebrew などに対してのみ出力する。 グリフの描画は常に行内進行方向に行われる。これは、Arabicなどでも同様である。すなわち、例えばArabicではグリフ情報はアラビア語として逆順に並んでいる。

プロパティ Value Default Description
length <number> -

元テキストに対して、この1グリフが何文字に対応しているのかを示す。

glyph <number> -

TextAreaで指定されているフォントのグリフID。

glyph-width <number> -

グリフ幅。これは、フォントサイズを 2048としたときの値。

glyph-pos1 <number> 0

グリフ描画前の移動量。単位は glyph-width と同じ。

glyph-pos2 <number> glyph-width

グリフ描画後の移動量。単位は glyph-width と同じ。 通常は、glyph-pos1=0、glyph-pos2=glyph-width である。文字を重ねるときなど、負になることもある。

glyph-posy <number> 0

グリフの上下方向の移動量。 グリフ描画前に +(glyph-posy) 移動し、描画後に -(glyph-posy) 移動する。

ContentsEMPTY

EmphasisArea

area。

ContentsEMPTY

LeaderArea

リーダ領域。 内容は、leader-pattern="use-content" のときに有効。

プロパティ Value Default Description
leader-pattern space | rule | dots | use-content -

リーダの様式。

rule-style none | dotted | dashed | solid | double | dot-dash | dot-dot-dash | wave | double-wave | groove | ridge solid

leader-pattern="rule" のときのリーダのスタイル。

rule-thickness <length> -

leader-pattern="rule" のときのリーダの太さ。

Contents(TextArea | LeaderArea | InlineArea | InlineViewportArea | GraphicViewportArea)*

BidiOverrideArea

双方向上書き領域。 この領域は複雑な双方向処理を行うために用意される領域であるが、エリアツリー中では双方向処理は済んでいる。 レンダラは、BidiOverrideAreaをInlineAreaのように扱ってよい。

プロパティ Value Default Description
direction ltr | rtl -

書字方向。 finished-textやグリフ情報を用いるならば、このプロパティはレンダリングには必要ない。

bidi-level <digits> -

双方向レベル。詳しくは UAX9 を見よ。 このプロパティはレンダリングには必要ない。

Contents(TextArea | LeaderArea | InlineArea | InlineAnchorArea | InlineViewportArea | GraphicViewportArea | BidiOverrideArea)*

BeforeFloatReferenceArea

前浮動参照領域。 ページ頭に置くような柱などのための領域。

ContentsBeforeFloatArea+

BeforeFloatArea

前浮動領域。

ContentsBlockArea+

FootnoteReferenceArea

脚注参照領域。 ページ末に置くような脚注などのための領域。 脚注は、ページ末に置く場合と、各段末に置く場合がある。前者ではFootnoteReferenceAreaはRegionReferenceAreaの子であり、後者ではColumnReferenceAreaまたはSpanReferenceAreaの子である。

ContentsFootnoteArea*

FootnoteArea

脚注領域。

ContentsBlockArea* | ListBlockArea*

RubyArea

Ruby area。

ContentsRubyContainerArea+

RubyContainerArea

Ruby container area。

ContentsFlowReferenceArea

RubyBaseArea

Ruby base area。

ContentsLineArea

RubyTextArea

Ruby text area。

ContentsLineArea

FormFieldArea

Form field area。

ContentsEMPTY

FormArea

Form area。

ContentsBlockArea+

BlockAnchorArea

ブロックアンカー領域。脚注のアンカーとなるブロックが含まれている。 レンダラは、BlockAnchorAreaをBlockAreaのように扱ってよい。

ContentsLineArea*

InlineAnchorArea

行内アンカー領域。脚注のアンカーとなるテキストが含まれている。 レンダラは、InlineAnchorAreaをInlineAreaのように扱ってよい。

Contents(TextArea | LeaderArea | InlineArea | InlineViewportArea | GraphicViewportArea)*

GraphicViewportArea

画像表示領域。

ContentsGraphicArea

GraphicArea

画像領域。画像の種類を直接示す情報は、Base64のヘッダ部分に含まれているか、または含まれていない。

graphic-image="data:image/svg+xml;base64,H4sIAAAAAAAAC31S3W7TMBS...
graphic-image="H4sIAAAAAAAAC31S3W7TMBS...

ヘッダ部分にメディアタイプが含まれている場合は、画像種別は決定的である。含まれていない場合は、レンダラは画像種別を判定しなければならない。

プロパティ Value Default Description
src <uri-specification> -

外部の画像のとき、そのURI。

base-uri <uri-specification> -

src に適用するベースURI。

graphic-image <string> -

画像データを Base64 でエンコードしたもの。元が同一の画像でも、異なる領域に同じ内容のデータが含まれる。 SVGはsvgzに加工してからBase64化されている。

ContentsEMPTY

TableAndCaptionArea

表題付き表領域。

ContentsTableCaptionViewportArea?, TableViewportArea

TableCaptionViewportArea

表表示領域。

ContentsTableCaptionArea

TableCaptionArea

表題領域。

ContentsBlockArea*

TableViewportArea

表表示領域。

ContentsTableArea

TableArea

表領域。 W3Cの表モデルでは、表を table-header、table-body、table-footer に分けているが、エリアツリーでは論理的なそれらの区別はない。ページや段に分割された表のそれぞれに table-header を付けるかどうかなどは解決済みである。

ContentsTableColumnGroupArea*, TableColumnArea*, TableRowGroupArea*, TableRowArea+

TableColumnGroupArea

表列グループ領域。列グループに対する背景色などの設定に利用される。現在 Antenna House Formatter V7.3 ではこの領域は生成されない。

ContentsTableColumnArea+

TableColumnArea

表列領域。列に対する背景色などの設定に利用される。

ContentsEMPTY

TableRowGroupArea

表行グループ領域。行グループ(table-header、table-body、table-footer)に対する背景色などの設定に利用される。

ContentsEMPTY

TableRowArea

表行領域。

ContentsTableCellArea+

TableCellArea

ListBlockArea

リストブロック領域。

ContentsListItemArea+

ListItemArea

リスト項目領域。

ContentsListItemLabelArea?, ListItemBodyArea

ListItemLabelArea

ListItemBodyArea

RelativeFloatArea

Relative float area。

Contents(BlockArea | BlockViewportArea | TableViewportArea)*

SideFloatArea

SideNoteReferenceArea

Side note reference area。

ContentsSideNoteArea+

SideNoteArea

Side note area。

Contents(BlockArea | BlockViewportArea)

AbsoluteFloatArea

Absolute float area。

Contents(BlockArea | BlockViewportArea)+

BlockViewportArea

ブロック表示領域。 外側の参照領域と独立な参照領域のための表示領域で、絶対的な位置決めされていない領域。 しかし、エリアツリー上では位置は確定しているので、BlockViewportAreaとAbsoluteViewportAreaFixedViewportAreaを区別する必要はない。

ContentsFlowReferenceArea | MultiColumnReferenceArea

AbsoluteViewportArea

絶対表示領域。 外側の参照領域と独立な参照領域のための表示領域で、絶対的な位置決めがされている領域。

ContentsFlowReferenceArea

FixedViewportArea

固定表示領域。 他の参照領域に依存せず、ページに対して固定的な表示領域。

ContentsFlowReferenceArea

InlineViewportArea

行内表示領域。 行進行方向内の独立な参照領域のための表示領域。

ContentsFlowReferenceArea

ColumnruleArea

段間罫領域。

ContentsEMPTY

RevisionbarArea

改訂バー領域。

ContentsEMPTY

MultiColumnReferenceArea

Multi-column reference area

Contents(ColumnReferenceArea | SpanReferenceArea | AbsoluteFloatArea)+