[TOC]
# [fo:root](https://www.w3.org/TR/xsl/#fo_root)
```
(layout-master-set,declarations?,bookmark-tree?,(page-sequence|page-sequence-wrapper)+)
```
* 一個`fo:layout-master-set`
* 零或一個`fo:declarations`
* 零或一個`fo:bookmark-tree`
* 一或多個`fo:page-sequence`或`fo:page-sequence-wrapper`
| Property | Value | Initial | Inherited | Percentages | Media |
| - | - | - | - | - | - |
| `source-document` | <uri-specification> [<uri-specification>]*或`none`或`inherit` | `none` | ❌ | N/A | all |
| `role` | <string>或<uri-specification>或`none`或`inherit` | `none` | ❌ | N/A | all |
| `id` | <id> | | ❌ | N/A | all |
| `index-class` | <string> | "" | ❌ | N/A | all |
| `index-key` | <string> | none | ❌ | N/A | all |
| `media-usage` | `auto`或`paginate`或`bounded-in-one-dimension`或`unbounded` | `auto` | ❌ | N/A | visual |
## [fo:layout-master-set](https://www.w3.org/TR/xsl/#fo_layout-master-set)
```
(simple-page-master|page-sequence-master|flow-map)+
```
* 一或多個`fo:simple-page-master`或`fo:page-sequence-master`或`fo:flow-map`
### [fo:simple-page-master](https://www.w3.org/TR/xsl/#fo_simple-page-master)
```
(region-body+,region-before?,region-after?,region-start?,region-end?)
```
| Property | Value | Initial | Inherited | Percentages | Media |
| - | - | - | - | - | - |
| `margin-top` | <margin-width>或`inherit` | `0pt` | ❌ | refer to width of containing block | visual |
| `margin-bottom` | <margin-width>或`inherit` | `0pt` | ❌ | refer to width of containing block | visual |
| `margin-left` | <margin-width>或`inherit` | `0pt` | ❌ | refer to width of containing block | visual |
| `margin-right` | <margin-width>或`inherit` | `0pt` | ❌ | refer to width of containing block | visual |
| `space-before` | <space>或`inherit` | space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0 | ❌ | N/A | visual |
| `space-after` | <space>或`inherit` | space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0 | ❌ | N/A | visual |
| `start-indent` | <length>或<percentage>或`inherit` | `0pt` | ✅ | refer to inline-progression-dimension of containing reference-area | visual |
| `end-indent` | <length>或<percentage>或`inherit` | `0pt` | ✅ | refer to inline-progression-dimension of containing reference-area | visual |
| `master-name` | <name> | an empty name | ❌ | N/A | visual |
| `page-height` | `auto`或`indefinite`或<length>或`inherit` | `auto` | ❌ | N/A | visual |
| `page-width` | `auto`或`indefinite`或<length>或`inherit` | `auto` | ❌ | N/A | visual |
| `reference-orientation` | `0`或`90`或`180`或`270`或`-90`或`-180`或`-270`或`inherit` | `0` | ❌ | N/A | visual |
| `writing-mode` | `inherit`或其它 | `lr-tb` | ✅ | N/A | visual |
#### `fo:region-body+`
#### `fo:region-before?`
#### `fo:region-after?`
#### `fo:region-start?`
#### `fo:region-end?`
### [fo:page-sequence-master](https://www.w3.org/TR/xsl/#fo_page-sequence-master)
#### `fo:single-page-master-reference`
#### `fo:repeatable-page-master-reference`
#### `fo:repeatable-page-master-alternatives`
### ~~`fo:flow-map`~~
* The `fo:flow-map` is used to specify the assignment of flows to regions.
* The `fo:flow-map` formatting object generates no area directly. It is used by the `fo:page-sequence` formatting object to assign flows to regions. Each `fo:flow-assignment` child of the `fo:flow-map` defines a source list and a target list. The source list is a sequence of **flow-names** whose corresponding fo:flow objects (in the referring `fo:page-sequence`) are treated as a single `fo:flow` for composition purposes. The target list is a sequence of **region-names** which identify the region or regions on each page which are used for the source content.
> Note: This is independent of the actual sequence of pages, which is generated as it has always been generated using the `fo:simple-page-master`, and `fo:page-sequence-master` objects referred to by the `master-reference` property of the `fo:page-sequence`.
* For each `fo:flow-assignment` child of the `fo:flow-map`, having an `fo:flow-source-list` child **S** and an `fo:flow-target-list` child **T**, we say that the `fo:flow-map` assigns each of the flows referenced by the `fo:flow-name-specifier` children of **S** to the regions referenced by the `fo:region-name-specifier` children of **T**.
#### ~~`fo:flow-assignment`~~
* The `fo:flow-assignment` is used to specify the assignment of one sequence of flows to a sequence of regions.
* The `fo:flow-assignment` formatting object generates no area directly. It is used by the fo:page-sequence formatting object to assign flows to regions.
* The children of the `fo:flow-assignment` are a source-list and target-list containing constraints for assigning one sequence of flows to a sequence of regions.
##### ~~`fo:flow-source-list`~~
* The fo:flow-source-list is used to specify the sequence of flows to assign in a particular fo:flow-assignment.
* The fo:flow-source-list formatting object generates no area directly. It is used by the fo:page-sequence formatting object to assign flows to regions.
* The children of the fo:flow-source-list are a sequence of flow-name-specifiers identifying flows of the sequence. These flows must be either all fo:flow formatting objects or all fo:static-content formatting objects. It is an error if they are a mixture.
###### ~~`fo:flow-name-specifier`~~
* The fo:flow-name-specifier is used to specify one flow in a source-list.
* The fo:flow-name-specifier formatting object generates no area directly. It is used by the fo:page-sequence formatting object to assign flows to regions.
* The flow-name-reference property specifies the name of a flow in the source sequence.
##### ~~`fo:flow-target-list`~~
* The `fo:flow-target-list` is used to specify the sequence of regions to which flows are assigned in a particular `fo:flow-assignment`.
* The `fo:flow-target-list` formatting object generates no area directly. It is used by the `fo:page-sequence` formatting object to assign flows to regions.
* The children of the `fo:flow-target-list` are a sequence of `fo:region-name-specifiers` identifying regions in the sequence.
###### ~~`fo:region-name-specifier`~~
* The `fo:region-name-specifier` is used to specify one region in a `target-list`.
* The `fo:region-name-specifier` formatting object generates no area directly. It is used by the `fo:page-sequence` formatting object to assign flows to regions.
* The `region-name-reference` property specifies the name of a region in the target sequence.
## fo:declarations
```
(color-profile)*
```
* 零或多個`fo:color-profile`
### fo:color-profile
| Property | Value | Initial | Inherited | Percentages | Media |
| - | - | - | - | - | - |
| `src` | <uri-specification>或`inherit` | `none` | ❌ | N/A | visual |
## `fo:bookmark-tree`
## `fo:page-sequence`
## `fo:page-sequence-wrapper`
###### tags: `fop` `xsl` `fo`