Previous

Table of Contents

Bottom     

Next     


Quick Table of Contents
5 Property Refinement / Resolution
    5.1 Specified, Computed, and Actual Values, and Inheritance
    5.2 Shorthand Expansion
    5.3 Computing the Values of Corresponding Properties
    5.4 Simple Property to Trait Mapping
    5.5 Complex Property to Trait Mapping
    5.6 Non-property Based Trait Generation
    5.7 Property Based Transformations
    5.8 Unicode BIDI Processing
    5.9 Expressions
    5.10 Core Function Library
    5.11 Property Datatypes

5 Property Refinement / Resolution 特性の洗練化及び解決

Every formatting property may be specified on every formatting object. すべてのフォーマット化特性は,すべてのフォーマット化オブジェクトに指定されることがある。 For each formatting object class, however, only a subset of the formatting properties are used; those that apply to the class. しかし,それぞれのフォーマット化オブジェクトクラスは,フォーマット化特性の一部だけを使用する。それらはクラスに適用される。

During refinement the set of properties that apply to a formatting object is transformed into a set of traits that define constraints on the result of formatting. 洗練化に際して,フォーマット化オブジェクトに適用される特性の集合は,フォーマット化の結果に関する制約を定義する特色の集合に変換される For many traits there is a one-to-one correspondence with a property; for other traits the transformation is more complex. 多くの特色について,特性との1対1対応がある。その他の特色については,変換は更に複雑になる。 Details on the transformation are described below. 変換に関する詳細については,後に記述する。

The first step in refinement of a particular formatting object is to obtain the effective value of each property that applies to the object. 特定のフォーマット化オブジェクトの洗練化の第1段階は,オブジェクトに適用される各特性の実効値を得ることである。 Any shorthand property specified on the formatting object is expanded into the individual properties. フォーマット化オブジェクトに指定される簡略記述特性は,個々の特性に拡張される。 This is further described in 5.2 Shorthand Expansion. これについては,5.2 簡略記述の展開 で更に詳細に記述する。 For any property that has not been specified on the object the inherited (see 5.1.4 Inheritance) or initial value, as applicable, is used as the effective value. オブジェクトに指定されなかった任意の特性についても,継承値(5.1.4 継承 を参照されたい)又は初期値が,適用可能であるので実効値として使用される。 The second step is to transform this property set into traits. 第2段階は,この特性集合を特色に変換することである。

Note:注記

Although the refinement process is described in a series of steps, this is solely for the convenience of exposition and does not imply they must be implemented as separate steps in any conforming implementation. 洗練化の処理は一連の段階で記述されるが,これは,説明上の便宜だけのためあり,適合するどのような実装でも,分離した段階として実装されなければならないという意味ではない。 A conforming implementation must only achieve the same effect. 適合する実装は,同一の効果を達成することだけが求められる。

5.1 Specified, Computed, and Actual Values, and Inheritance 指定値,計算値,実際値及び継承

For every property that is applicable to a given formatting object, it is necessary to determine the value of the property. 与えられるフォーマット化オブジェクトに適用可能なすべての特性について,特性の値を決定する必要がある。 Three variants of the property value are distinguished: the specified value, the computed value, and the actual value. 特性値には指定値,計算値及び実際値という三つの異なる可変値が区別されている。 The "specified value" is one that is placed on the formatting object during the tree-construction process. 指定値とは,木構築の処理中に,フォーマット化オブジェクト上に配置される値である。 A specified value may not be in a form that is directly usable; for example, it may be a percentage or other expression that must be converted into an absolute value. 指定値は,直接使用できる形式でなくてもよい。例えば,パーセンテージ又は絶対値に変換しなければならないその他の式であってもよい。 A value resulting from such a conversion is called the "computed value". これらの変換の結果生じる値を計算値と呼ぶ。 Finally, the computed value may not be realizable on the output medium and may need to be adjusted prior to use in rendering. 最後に,計算値は出力メディアで認識できなくてもよく,レンダリングでの使用に優先して調整が必要な場合もある。 For example, a line width may be adjusted to become an integral number of output medium pixels. 例えば,出力メディアの画素が整数になるように,行の幅を調整してもよい。 This adjusted value is the "actual value." この調整値を実際値という。

5.1.1 Specified Values 指定値

The specified value of a property is determined using the following mechanisms (in order of precedence): 特性の指定値は,次の機構を使用して決定される。優先順位の高い方から示す。

  1. If the tree-construction process placed the property on the formatting object, use the value of that property as the specified value. 木構築処理がフォーマット化オブジェクト上に特性を配置した場合,その特性の値を指定値として使用する。 This is called "explicit specification". これを明示的規定と呼ぶ。

  2. Otherwise, if the property is inheritable, use the value of that property from the parent formatting object, generally the computed value (see below). そうでない場合には,特性が継承可能であれば,親フォーマット化オブジェクトからのその特性の値,一般的には計算値を使用する(5.1.2 計算値 を参照されたい)。

  3. Otherwise use the property's initial value, if it has one. そうでない場合に,特性の初期値があれば,それを使用する。 The initial value of each property is indicated in the property's definition. 各特性の初期値は,特性の定義で示される。 If there is no initial value, that property is not specified on the formatting object. 初期値が存在しなければ,その特性は,フォーマット化オブジェクトに指定されない。 In general, this is an error. 一般に,これは誤りである。

Since it has no parent, the root of the result tree cannot use values from a parent formatting object; in this case, the initial value is used if necessary. それは親をもたないので,結果木のルートは,その親フォーマット化オブジェクトからの値を使用できない。この場合,必要であれば初期値を使用する。

5.1.2 Computed Values 計算値

Specified values may be absolute (i.e., they are not specified relative to another value, as in "red" or "2mm") or relative (i.e., they are specified relative to another value, as in "auto", "2em", and "12%"), or they may be expressions. 指定値は,絶対値(すなわち,“red”又は“2mm”などの,他の値に対して相対的に指定されない値)であってよく,相対値(すなわち,“auto”,“2em”,“12%”などの,他の値に対して相対的に指定される値)であってもよく,式であってもよい。 For most absolute values, no computation is needed to find the computed value. ほとんどの絶対値については,計算値を見つけるための計算を必要としない。 Relative values, on the other hand, must be transformed into computed values: percentages must be multiplied by a reference value (each property defines which value that is), values with a relative unit (em) must be made absolute by multiplying with the appropriate font size, "auto" values must be computed by the formulas given with each property, certain property values ("smaller", "bolder") must be replaced according to their definitions. 一方,相対値は,計算値に変換されなければならない。パーセンテージは,参照値で乗算されなければならない(各特性は,それがどの値であるかを定義する)。相対単位(em)のついた値は,適切なフォントサイズで乗算することによって,絶対値に変換されなければならない。“auto”値は,各特性で与えられる式によって,計算されなければならない。(“smaller”,“bolder”などの)ある特性値は,その定義に従って置換されなければならない。 The computed value of any property that controls a border width where the style of the border is "none" is forced to be "0pt". 境界のスタイルが“none”である境界幅を制御するどのような特性の計算値も,“0pt”に強制される。

Some properties have more than one way in which the property value can be specified. 特性値の指定方法が一つ以上存在する特性もある。 The simplest example of such properties are those which can be specified either in terms of a direction relative to the writing-mode (e.g., padding-before) or a direction in terms of the absolute geometric orientation of the viewport (e.g., padding-top). このような特性のうち,最も単純な例は,padding-beforeなどの表記方向に関連する方向,又はpadding-topなどの表示域の絶対幾何方位による方向のいずれかによって指定できる特性である。 These two properties are called the relative property and the absolute property, respectively. これら二つの特性を,それぞれ,相対特性及び絶対特性という。 Collectively, they are called "corresponding properties". 二つをまとめて対応特性という。

Specifying a value for one property determines both a computed value for the specified property and a computed value for the corresponding property. ある特性に値を指定することによって,指定された特性にも対応特性にも計算値が決定する。 Which relative property corresponds to which absolute property depends on the writing-mode. どの相対特性がどの絶対特性に対応するかは表記方向に依存する。 For example, if the "writing-mode" at the top level of a document is "lr-tb", then "padding-start" corresponds to "padding-left", but if the "writing-mode" is "rl-tb", then "padding-start" corresponds to "padding-right". 例えば,文書の上位での“writing-mode”が“lr-tb”である場合,“padding-start”は“padding-left”に対応する。しかし,“writing-mode”が“rl-tb”である場合は,“padding-start”は“padding-right”に対応する。 The exact specification of how to compute the values of corresponding properties is given in 5.3 Computing the Values of Corresponding Properties. 対応特性の値の計算方法に関する厳密な規定は 5.3 対応特性の値の計算 で解説している。

In most cases, elements inherit computed values. ほとんどの場合,要素が計算値を継承する。 However, there are some properties whose specified value may be inherited (e.g., some values for the "line-height" property). しかし,“line-height”特性に指定する値など,その指定値が継承される特性も存在する。 In the cases where child elements do not inherit the computed value, this is described in the property definition. 子要素が計算値を継承しない場合,これは特性定義で記述される。

5.1.3 Actual Values 実際値

A computed value is in principle ready to be used, but a user agent may not be able to make use of the value in a given environment. 主として計算値を使用するようになっているが,利用者エージェントが値を利用できない環境も存在する。 For example, a user agent may only be able to render borders with integer pixel widths and may, therefore, have to adjust the computed width to an integral number of media pixels. 例えば,利用者エージェントが,整数の画素幅でしか境界をレンダリングできないことがあり,その場合は,計算幅をメディア画素の整数値に調整しなければならない。 The actual value is the computed value after any such adjustments have been applied. 実際値は,任意のこれらの調整を適用した後の計算値である。

5.1.4 Inheritance 継承

Some of the properties applicable to formatting objects are "inheritable." フォーマット化オブジェクトに適用できる特性には,継承可能なものもある。 Such properties are so identified in the property description. このような特性は,特性記述でそれと識別される。 The inheritable properties can be placed on any formatting object. 継承可能特性は,どのようなフォーマット化オブジェクトにも配置できる。 The inheritable properties are propagated down the formatting object tree from a parent to each child. 継承可能特性は,親から各子へと,フォーマット化オブジェクト木を下に向かって伝播伝ぱ(播)されていく。 (These properties are given their initial value at the root of the result tree.) これらの特性は,結果木のルートで,その初期値に指定される。 For a given inheritable property, if that property is present on a child, then that value of the property is used for that child (and its descendants until explicitly re-set in a lower descendant); otherwise, the specified value of that property on the child is the computed value of that property on the parent formatting object. 継承可能特性の中には,その特性が子に存在する場合,特性の値がその子,及び,それより下の子孫で明白に再設定されるまではその子孫に使用されるものもある。それ以外の場合は,子に指定されたその特性の指定値は,親フォーマット化オブジェクト上のその特性の計算値である。 Hence there is always a specified value defined for every inheritable property for every formatting object. このため,すべてのフォーマット化オブジェクトに対するすべての継承可能な特性に定義される指定値は,常に存在することになる。

5.2 Shorthand Expansion 簡略記述の展開

In XSL there are two kinds of shorthand properties; those originating from CSS, such as "border", and those that arise from breaking apart and/or combining CSS properties, such as "page-break-inside". XSLには,2種類の簡略記述特性が存在する。“border”などCSSから生じたもの及び/又は,“page-break-inside”などCSSの特性を切り離したり結合して生じたものである。 In XSL both types of shorthands are handled in the same way. XSLでは,簡略記述特性については,両者共同じ取扱いを受ける。

Note:注記

Shorthands are included only in the highest XSL conformance level: "complete" (see 8 Conformance). 簡略記述は,最高のXSL適合レベル“完全”でしか取り込まれない(8 適合性 を参照されたい)。 The conformance level for each property is shown in CB.3 Property Table: Part II. 各特性の適合レベルは CB.3 特性表 その2 で示している。

Shorthand properties do not inherit from the shorthand on the parent. 簡略記述特性は,親の簡略記述から継承するわけではない。 Instead the individual properties that the shorthand expands into may inherit. 代わりに,簡略記述が展開する個々の特性が継承されてもよい。

Some CSS shorthands are interrelated; their expansion has one or more individual properties in common. 相互関係があるCSS簡略記述も存在する。その展開には,共通する個々の特性が一つ以上ある。 CSS indicates that the user must specify the order of processing for combinations of multiple interrelated shorthands and individual interrelated properties. CSSでは,複数の相関簡略記述及び個々の相関特性の組合せについては,処理の順序を利用者が指定しなければならない。 In XML, attributes are defined as unordered. XMLでは,属性は順序付けされないものと定義されている。 To resolve this issue, XSL defines a precedence order when multiple interrelated shorthand properties or a shorthand property and an interrelated individual property are specified: この問題を解決するために,複数の相関簡略記述特性又は簡略記述特性,及び相関個別特性を指定する場合には,XSLは優先順位を定義する。

They are processed in increasing precision (i.e., "border" is less precise than "border-top", which is less precise than "border-top-color"). これらの特性は,一層厳密に処理される。例えば,“borderr”は“border-top”よりも厳密ではなく,“border-top”は“border-top-color”よりも厳密ではない。 The individual properties are always more precise than any shorthand. 個別特性は,任意の簡略記述の中で常に最も厳密である。 For the remaining ambiguous case, XSL defines the ordering to be: 残りの不明確な場合のXSLの順序付け定義を次に示す。

  1. "border-style", "border-color", and "border-width" is less precise than “border-style”,“border-color”及び“border-width”は,

  2. "border-top", "border-bottom", "border-right", and "border-left". “border-top”,“border-bottom”,“border-right”及び“border-left”よりも厳密ではない。

Processing is conceptually in the following steps: 概念上の処理過程を次に示す。

  1. Set the effective value of all properties to their initial values. 初期値にすべての特性の実効値を設定する。

  2. Process all shorthands in increasing precision. 一層厳密にすべての簡略記述を処理する。

    If the shorthand is set to "inherit": set the effective value of each property that can be set by the shorthand to the computed value of the corresponding property in the parent. 簡略記述を“inherit”に設定する場合,簡略記述によって親の対応特性の計算値に設定が可能な各特性の実効値を設定する。

    If the value of the shorthand is not "inherit": determine which individual properties are to be set, and replace the initial value with the computed value derived from the specified value. 簡略記述の値が“inherit”ではない場合,どの個別特性を設定するかを決定し,初期値を指定値に由来する計算値で置換する。

  3. Process all specified individual properties. 指定された個別特性をすべて処理する。

  4. Carry out any inheritance for properties that were not given a value other than by the first step. 第1段階の値以外の値に提供されなかった特性について,任意の継承を実行する。

Note:注記

For example, if both the "background" and the "background-color" properties are specified on a given formatting object: process the "background" shorthand, then process the "background-color" property. 例えば,“background”特性及び“background-color”特性の両特性が与えられるフォーマット化オブジェクト上に指定される場合,まず“background”簡略記述特性を処理し,その後“background-color”特性を処理する。

5.3 Computing the Values of Corresponding Properties 対応特性の値の計算

Where there are corresponding properties, such as "padding-left" and "padding-start", a computed value is determined for all the corresponding properties. “padding-left”及び“padding-start”などの対応特性が存在する場合,すべての対応特性に対して計算値が決定される。 How the computed values are determined for a given formatting object is dependent on which of the corresponding properties are specified on the object. 与えられるフォーマット化オブジェクトに対する計算値の決定方法は,対応特性のうちどれがそのオブジェクトに指定されるかに依存する。 See description below. 次を参照されたい。

The correspondence mapping from absolute to relative property is as follows: 絶対特性から相対特性までの対応付けを次に示す。

If the "writing-mode" specifies a block-progression-direction of "top-to-bottom": "top" maps to "before", and "bottom" maps to "after".

If the "writing-mode" specifies a block-progression-direction of "bottom-to-top": "top" maps to "after", and "bottom" maps to "before".

If the "writing-mode" specifies a block-progression-direction of "left-to-right": "left" maps to "before", and "right" maps to "after".

If the "writing-mode" specifies a block-progression-direction of "right-to-left": "left" maps to "after", and "right" maps to "before".

If the "writing-mode" specifies an inline-progression-direction of "left-to-right": "left" maps to "start", and "right" maps to "end".

If the "writing-mode" specifies an inline-progression-direction of "right-to-left": "left" maps to "end", and "right" maps to "start".

If the "writing-mode" specifies an inline-progression-direction of "top-to-bottom": "top" maps to "start", and "bottom" maps to "end".

If the "writing-mode" specifies an inline-progression-direction of "bottom-to-top": "top" maps to "end", and "bottom" maps to "start".

If the "writing-mode" specifies an inline-progression-direction of "left-to-right" for odd-numbered lines, and "right-to-left" for even-numbered lines: "left" maps to "start", and "right" maps to "end".

  1. ブロック進行方向の“writing-mode”を“top-to-bottom”に指定する場合,“top”は“before”に対応付け,“bottom”は“after”に対応付ける。

  2. ブロック進行方向の“writing-mode”を“bottom-to-top”に指定する場合,“top”は“after”に対応付け,“bottom”は“before”に対応付ける。

  3. ブロック進行方向の“writing-mode”を“left-to-right”に指定する場合,“left”は“before”に対応付け,“right”は“after”に対応付ける。

  4. ブロック進行方向の“writing-mode”を“right-to-left”に指定する場合,“left”は“after”に対応付け,“right”は“before”に対応付ける。

  5. 行内進行方向の“writing-mode”を“left-to-right”に指定する場合,“left”は“start”に対応付け,“right”は“end”に対応付ける。

  6. 行内進行方向の“writing-mode”を“right-to-left”に指定する場合,“left”は“end”に対応付け,“right”は“start”に対応付ける。

  7. 行内進行方向の“writing-mode”を“top-to-bottom”に指定する場合,“top”は“start”に対応付け,“bottom”は“end”に対応付ける。

  8. 行内進行方向の“writing-mode”を“bottom-to-top”に指定する場合,“top”は“end”に対応付け,“bottom”は“start”に対応付ける。

  9. 行内進行方向の“writing-mode”が奇数行に“left-to-right”と指定され,偶数行に“right-to-left”と指定される場合,“left”は“start”に対応付け,“right”は“end”に対応付ける。

Note:注記

"reference-orientation" is a rotation and does not influence the correspondence mapping. “reference-orientation”は回転であり,対応付けには影響しない。

5.3.1 Border and Padding Properties 境界特性及びパディング特性

The simplest class of corresponding properties are those for which there are only two variants in the correspondence, an absolute property and a relative property, and the property names differ only in the choice of absolute or relative designation; for example, "border-left-color" and "border-start-color". 対応特性の最も単純なクラスは,対応上,絶対特性及び相対特性という二つの可変値しか存在しないクラスである。“border-left-color”及び“border-start-color”など,特性名は,絶対指定か相対指定かの選択だけにおいて異なる。

For this class, the computed values of the corresponding properties are determined as follows. このクラスについては,対応特性の計算値の決定は次のとおりである。 If the corresponding absolute variant of the property is specified on the formatting object, its computed value is used to set the computed value of the corresponding relative property. If the corresponding absolute property is not explicitly specified, then the computed value of the absolute property is set to the computed value of the corresponding relative property. If the corresponding relative property is specified on the formatting object and the absolute property only specified by the expansion of a shorthand, then the computed value of the absolute property is set to the computed value of the corresponding relative property.

  1. 特性の対応する絶対可変値をフォーマット化オブジェクトに指定する場合,その計算値は対応する相対特性の計算値の設定に使用される。

  2. 対応する絶対特性が明示的に指定されない場合は,絶対特性の計算値は,対応する相対特性の計算値に設定される。

  3. 対応する相対特性がフォーマット化オブジェクトに指定されていて絶対特性が簡略記述の展開だけによって指定されている場合,絶対特性の計算値は,対応する相対特性の計算値に設定される。

Note that if both the absolute and the relative properties are not explicitly specified, then the rules for determining the specified value will use either inheritance if that is defined for the property or the initial value. 絶対特性も相対特性も明示的に指定されない場合,指定値の決定規則は,それが特性又は初期値に定義されれば,継承にも使用される点に注意する。 The initial value must be the same for all possible corresponding properties. 候補となるすべての対応特性について,初期値は同じでなければならない。 If both an absolute and a corresponding relative property are explicitly specified, then the above rule gives precedence to the absolute property, and the specified value of the corresponding relative property is ignored in determining the computed value of the corresponding properties. 絶対特性も対応する相対特性も明示的に指定される場合,上記規則は絶対特性を優先し,対応する相対特性の指定値は,対応特性の計算値の決定の際,無視される。

The (corresponding) properties that use the above rule to determine their computed value are: 上記規則を使用して,計算値を決定する対応特性を次に示す。

5.3.2 Margin, Space, and Indent Properties マージン特性,間隔特性及び字下げ特性

The "space-before", and "space-after" properties (block-level formatting objects), "space-start", and "space-end" properties (inline-level formatting objects) are handled in the same way as the properties immediately above, but the corresponding absolute properties are in the set: "margin-top", "margin-bottom", "margin-left", and "margin-right". “space-before”特性及び“space-after”特性(ブロックレベルフォーマット化オブジェクト),“space-start”特性及び“space-end”特性(行内レベルフォーマット化オブジェクト)は,直上の特性と同じ方法で取り扱われるが,対応する絶対特性は,“margin-top”,“margin-bottom”,“margin-left”及び“margin-right”の集合内にある。 The .conditionality component of any space-before or space-after determined from a margin property is set to "retain". マージン特性から決定されるどんなspace-before又はspace-afterの .conditionality構成要素も,“retain”に設定される。

Note:注記1

The treatment of the .conditionality component is for CSS2 compatibility. .conditionality構成要素の扱いは,CSS2との互換性のためである。

Note:注記2

The computed value of a CSS2 margin in the block-progression-dimension specified as "auto" is 0pt. “auto”として指定されるブロック進行寸法におけるCSS2マージンの計算値は,0ptである。 Any space-before or space-after determined from a margin value of "auto" is set to 0pt. “auto”のマージン値から決定されるどんなspace-before又はspace-afterも,0ptに設定される。

There are two more properties, "end-indent" and "start-indent" (block-level formatting objects) which correspond to the various absolute "margin" properties. 様々な絶対“margin”特性に対応するもう二つの特性,“end-indent”及び“start-indent”(ブロックレベルフォーマット化オブジェクト)がある。 For these properties, the correspondence is more complex and involves the corresponding "border-X-width" and "padding-X" properties, where X is one of "left", "right", "top" or "bottom". これらの特性に関しては,対応はもっと複雑であり,対応する“border-X-width”特性及び“padding-X”特性を含む。ここでXは,“left”,“right”,“top”又は“bottom”の一つである。 The computed values of these corresponding properties are determined as follows: これらの対応特性の計算値は,次のとおりに決定される。

If the corresponding absolute "margin" property is specified on the formatting object and the formatting object generates a reference area the computed value of the margin is used to calculate the computed value of the corresponding "Y-indent" property, where Y is either "start" or "end". The computed value of the of the absolute "margin" property is determined by the CSS descriptions of the properties and the relevant sections (in particular section 10.3) of the CSS Recommendation referenced by these properties. The formulae for "start-indent" and "end-indent" are":

start-‍indent = margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

end-‍indent = margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

If the corresponding absolute "margin" property is specified on the formatting object and the formatting object does not generate a reference area, the computed value of the margin and the computed values of the corresponding "border-X-width" and "padding-X" properties are used to calculate the computed value of the corresponding "Y-indent" property. The formulae for "start-indent" and "end-indent" are:

start-‍indent = inherited_value_of‍(start-‍indent) + margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

end-‍indent = inherited_value_of‍(end-‍indent) + margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

If the corresponding absolute margin property is not explicitly specified, or if the corresponding relative property is specified on the formatting object and the absolute property only specified by the expansion of a shorthand, the corresponding absolute margin property is calculated according to the following formulae:

margin-‍corresponding = start-‍indent - inherited_value_of‍(start-‍indent) - padding-‍corresponding - border-‍corresponding-width

margin-‍corresponding = end-‍indent - inherited_value_of‍(end-‍indent) - padding-‍corresponding - border-‍corresponding-‍width

  1. 対応する絶対“margin”特性がフォーマット化オブジェクトに指定され,フォーマット化オブジェクトが参照領域を生成するとき,マージンの計算値が,対応する“Y-indent”特性の計算値を計算するのに用いられる。ここでYは,“start”又は“end”のいずれかである。 絶対“margin”特性の計算値は,これらの特性によって参照されるCSS規定の特性と関連する箇条(特に10.3)のCSS記述で決定される。 “start-indent”及び“end-indent”の式を次に示す。

    start-‍indent = margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

    end-‍indent = margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

  2. 対応する絶対“margin”特性がフォーマット化オブジェクトに指定され,フォーマット化オブジェクトが参照領域を生成しないとき,マージンの計算値並びに対応する“border-X-width”特性及び“padding-X”特性の計算値が,対応する“Y-indent”特性の計算値を計算するのに用いられる。 “start-indent”及び“end-indent”の式を次に示す。

    start-‍indent = inherited_value_of‍(start-‍indent) + margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

    end-‍indent = inherited_value_of‍(end-‍indent) + margin-‍corresponding + padding-‍corresponding + border-‍corresponding-‍width

  3. 対応する絶対margin特性が明示的に指定されないか,又は対応する相対特性がフォーマット化オブジェクトに指定され,絶対特性だけが簡略記述の展開によって指定されるとき,対応する絶対margin特性は,次の式に従って計算される。

    margin-‍corresponding = start-‍indent - inherited_value_of‍(start-‍indent) - padding-‍corresponding - border-‍corresponding-width

    margin-‍corresponding = end-‍indent - inherited_value_of‍(end-‍indent) - padding-‍corresponding - border-‍corresponding-‍width

Note:注記

If the "start-indent" or "end-indent" properties are not specified their inherited value is used in these formulae. “start-indent”特性又は“end-indent”特性が指定されないとき,それらの継承された値がこれらの式において用いられる。

5.3.3 Height, and Width Properties 高さ特性及び幅特性

Based on the writing-mode in effect for the formatting object, either the "height", "min-height", and "max-height" properties, or the "width", "min-width", and "max-width" properties are converted to the corresponding block-progression-dimension, or inline-progression-dimension. フォーマット化オブジェクトに有効な表記方向に基づき,“height”特性,“min-height”特性,及び“max-height”特性,又は“width”特性,“min-width”特性,及び“max-width”特性のいずれかは,対応するブロック進行寸法又は行内進行寸法に変換される。

The "height" properties are absolute and indicate the dimension from "top" to "bottom"; the width properties the dimension from "left" to "right". “height”特性は絶対値であり,“上” から“下”までの寸法を示している。“width”特性は,“左”から“右”までの寸法を示している。

If the "writing-mode" specifies a block-progression-direction of "top-to-bottom" or "bottom-to-top" the conversion is as follows: “writing-mode”が“top-to-bottom”又は“bottom-to-top”のブロック進行方向を指定する場合,変換は次のとおりである。

If the "writing-mode" specifies a block-progression-direction of "left-to-right" or "right-to-left" the conversion is as follows: “writing-mode”が“left-to-right”又は“right-to-left”のブロック進行方向を指定する場合,変換は次のとおりである。

5.3.4 Overconstrained Geometry 過制約の幾何

The sum of the start-indent, end-indent, and inline-progression-dimension of the content-rectangle of an area should be equal to the inline-progression-dimension of the content-rectangle of the closest ancestor reference-area. 開始字下げ,終了字下げ,及び領域の内容長方形の行内進行寸法の合計は,最も近い先祖の参照領域の内容長方形の行内進行寸法に等しいのが望ましい。 In the case where a specification would lead to them being different the end-indent (and thus the corresponding margin) is adjusted such that the equality is true. それらが異なる結果となる場合,終了字下げ(つまり対応するマージンも)は,同等が真であるように調整される。

5.4 Simple Property to Trait Mapping 単純な特性の特色への対応付け

The majority of the properties map into traits of the same name. 特性の大部分は同じ名前の特色に対応付ける。 Most of these also simply copy the value from the property. 同様に,これらのほとんどは,特性からの値を複写するにすぎない。 These are classified as "Rendering", "Formatting", "Specification", "Font selection", "Reference", and "Action" in the property table in CB.3 Property Table: Part II. これらは,CB.3 特性表 その2 で示した特性表内の“レンダリング”,“フォーマット化”,“規定”,“フォント選択”,“参照”及び“動作”として分類される。 For example, the property font-style="italic" is refined into a font-style trait with a value of "italic". 例えば,特性font-style="italic"は,値が“italic”であるfont-style特色に洗練化される。

Some traits have a value that is different from the value of the property. 値が特性の値とは異なる特色も存在する。 These are classified as "Value change" in the property table. これらは,特性表の“値変換”に分類される。 For example, the property background-position-horizontal="left" is refined into a background-position-horizontal trait with a value of "0pt". 例えば,特性background-position-horizontal="left"は,値が“0pt”であるbackground-position-horizontal特色に洗練化される。 The value mapping for these traits is given below. これらの特色に対する値の対応付けを 5.4.1 から 5.4.6 に示す。

5.4.1 Background-position-horizontal and background-position-vertical Properties background-position-horizontal特性及びbackground-position-vertical特性

A value of "top", "bottom", "left", "right", or "center" is converted to a length as specified in the property definition. “top”,“bottom”,“left”,“right”又は“center”の値は,特性定義で指定する長さに変換される。

5.4.2 Column-number Property column-number特性

If a value has not been specified on a formatting object to which this property applies the initial value is computed as specified in the property definition. この特性が適用されるフォーマット化オブジェクトに値を指定していない場合,初期値は特性定義で指定するとおり,計算される。

5.4.3 Text-align Property text-align特性

A value of "left", or "right" is converted to the writing-mode relative value as specified in the property definition. “left”又は“right”の値は,特性定義で指定するとおり,表記方向の相対値に変換される。

5.4.4 Text-align-last Property text-align-last特性

A value of "left", or "right" is converted to the writing-mode relative value as specified in the property definition. “left”又は“right”の値は,特性定義で指定するとおり,表記方向の相対値に変換される。

5.4.5 z-index Property z-index特性

The value is converted to one that is absolute; i.e., the refined value is the specified value plus the refined value of z-index of its parent formatting object, if any. 値は絶対値に変換される。例えば,洗練化値は,指定値に親フォーマット化オブジェクトが存在すれば,そのz指標の洗練化された値を加えたものとなる。

5.4.6 Language Property language特性

A value being a 2-letter code in conformance with [ISO639] is converted to the corresponding 3-letter [ISO639-2] terminology code, a 3-letter code in conformance with [ISO639-2] bibliographic code is converted to the corresponding 3-letter terminology code, a value of 'none' or 'mul' is converted to 'und'. [ISO639-1]に適合する2文字のコードである値は,対応する3文字の[ISO639-2]用語学用コードに変換される。[ISO639-2]に適合する3文字の書誌用コードである値は,対応する用語学用コードに変換される。値“none”又は“mul”は“und”に変換される。

5.5 Complex Property to Trait Mapping 複雑な特性の特色への対応付け

A small number of properties influence traits in a more complex manner. より複雑な方法で特色に影響を与える特性も少数存在する。 Details are given below. 詳細を 5.5.1 から 5.5.7 に示す。

5.5.1 Word spacing and Letter spacing Properties word-spacing特性及びletter-spacing特性

These properties may set values for the space-start and space-end traits, as described in the property definitions. これらの特性は,特性定義で記述するとおり,space-start特色及びspace-end特色に値を設定してもよい。

5.5.2 Reference-orientation Property reference-orientation特性

The reference-orientation trait is copied from the reference-orientation property during refinement. reference-orientation特色は,洗練化の間,参照方位特性から複写される。 During composition an absolute orientation is determined (see 4.2.2 Common Traits). 構成中,絶対方位が決定される(4.2.2 共通特色 を参照されたい)。

5.5.3 Writing-mode and Direction Properties writing-mode特性及びdirection特性

The writing-mode, direction, and unicode-bidi traits are copied from the properties of the same name during refinement. writing-mode特色,direction特色,及びunicode-bidi特色は,洗練化の間,同じ名前の特性から複写される。 During composition these are used in the determination of absolute orientations for the block-progression-direction, inline-progression-direction, and shift-direction traits in accordance with 4.2.2 Common Traits. 構成中,これらは,4.2.2 共通特色 に従って,block-progression-direction特色,inline-progression-direction特色,及びシフト方向特色について,絶対方位を決定する場合に使用される。

5.5.4 Absolute-position Property absolute-position特性

If absolute-position has the value "absolute" or "fixed", the values of the left-position, top-position, etc. traits are copied directly from the values of the "left", "top", etc. properties. absolute-positionの値が“absolute”又は“fixed”である場合,left-positiontop-positionなどの特色の値は,“left”特性及び“top”特性から直接複写される。 Otherwise these traits' values are left undefined during refinement and determined during composition. それ以外の場合,これらの特色の値は,洗練化中は定義されないままであり,構成中に決定される。

5.5.5 Relative-position Property relative-position特性

If relative-position has the value "relative" then the values of the left-offset and top-offset traits are copied directly from the "left" and "top" properties. 相対位置の値が“relative”である場合,left-offset特色及びtop-offset特色の値は,“left”特性及び“top”特性から直接複写される。 If the "right" property is specified but "left" is not, then left-offset is set to the negative of the value of "right". “right”特性は指定されるが,“left”が指定されない場合,left-offsetは“right”の負の値に設定される。 If neither "left" nor "right" is specified the left-offset is 0. “left”も“right”も指定されない場合,left-offsetは0となる。 If the "bottom" property is specified but "top" is not, then top-offset is set to the negative of the value of "bottom". “bottom”特性は指定されるが,“top”が指定されない場合,top-offsetは“bottom”の負の値に設定される。 If neither "top" nor "bottom" is specified the top-offset is 0. “top”も“bottom”も指定されない場合は,top-offsetは0となる。

5.5.6 Text-decoration Property text-decoration特性

The "text-decoration" property value provides values for the blink trait and a set of score and score-color traits. “text-decoration”特性の値は,blink特色,スコア及びスコア色特色の集合に値を提供する。 The specified color has the value of the color trait of the formatting object for which the "text-decoration" property is being refined. 指定色の値は,“text-decoration”特性が洗練化されたフォーマット化オブジェクトのcolor特色の値である。

A property value containing the token "underline" sets a value of "true" to the underline-score trait, and a value of specified color to the underline-score-color trait. トークン“underline”を包含する特性値は,underline-score特色に“true”の値を設定し,underline-score-color特色に指定色の値を設定する。

A property value containing the token "overline" sets a value of "true" to the overline-score trait, and a value of specified color to the overline-score-color trait. トークン“overline”を包含する特性値は,overline-score特色に“true”の値を設定し,overline-score-color特色に指定色の値を設定する。

A property value containing the token "line-through" sets a value of "true" to the through-score trait, and a value of specified color to the through-score-color trait. トークン“line-through”を包含する特性値は,through-score特色に“true”の値を設定し,through-score-color特色に指定色の値を設定する。

A property value containing the token "blink" sets a value of "true" to the blink trait. トークン“blink”を包含する特性値は,blink特色に“true”の値を設定する。

A property value containing the token "no-underline" sets a value of "false" to the underline-score trait, and a value of specified color to the underline-score-color trait. トークン“no-underline”を包含する特性値は,underline-score特色に“false”の値を設定し,underline-score-color特色に指定色の値を設定する。

A property value containing the token "no-overline" sets a value of "false" to the overline-score trait, and a value of specified color to the overline-score-color trait. トークン“no-overline”を包含する特性値は,overline-score特色に“false”の値を設定し,overline-score-color特色に指定色の値を設定する。

A property value containing the token "no-line-through" sets a value of "false" to the through-score trait, and a value of specified color to the through-score-color trait. トークン“no-line-through”を包含する特性値は,through-score特色に“false”の値を設定し,through-score-color特色に指定色の値を設定する。

A property value containing the token "no-blink" sets a value of "false" to the blink trait. トークン“no-blink”を包含する特性値は,blink特色に“false”の値を設定する。

5.5.7 Font Properties フォント特性

The font traits on an area are indirectly derived from the combination of the font properties, which are used to select a font, and the font tables from that font. 領域のフォント特色は,フォント特性の組合せから間接的に派生し,フォント及びそのフォントからのフォント表を選択するために使用される。

The abstract model that XSL assumes for a font is described in 7.9.1 Fonts and Font Data. XSLがフォントに想定する抽象モデルについては,7.9.1 フォント及びフォントデータ で記述する。

There is no XSL mechanism to specify a particular font; instead, a selected font is chosen from the fonts available to the User Agent based on a set of selection criteria. 特定のフォントを指定するためのXSLの機構は存在しない。代わりに,選択基準の集合に基づき,利用者エージェントに利用できるフォントから選択フォントが選択される。 The selection criteria are the following font properties: "font-family", "font-style", "font-variant", "font-weight", "font-stretch", and "font-size", plus, for some formatting objects, one or more characters. 選択基準とは,フォント特性“font-family”,“font-style”,“font-variant”,“font-weight”,“font-stretch”,及び“font-size”,更に,幾つかのフォーマット化オブジェクト,一つ以上の文字である。 The details of how the selection criteria are used is specified in the "font-selection-strategy" property (see 7.9.3 font-selection-strategy). 選択基準の使用方法については,“font-selection-strategy”特性で詳細に指定している(7.9.3 font-selection-strategy を参照されたい)。

The nominal-font trait is set to the selected font. nominal-font特色は,選択フォントに設定される。 In the case where there is no selected font and the 'missing character' glyph is displayed, the nominal-font trait is set to the font containing that glyph, otherwise (i.e., some other mechanism was used to indicate that a character is not being displayed) the nominal-font is a system font. 選択フォントが存在せず,“欠落文字”グリフが表示される場合は,nominal-font特色はそのグリフを包含するフォントに設定され,それ以外の場合,例えば,その他の機構を使用して,文字が非表示であることを示す場合などは,nominal-fontはシステムフォントとなる。

The dominant-baseline-identifier and actual-baseline-table traits are derived from the value of the "dominant-baseline" property. dominant-baseline-identifier特色及びactual-baseline-table特色は,“dominant-baseline”特性の値から派生する。 The value of this property is a compound value with three components: a baseline-identifier for the dominant-baseline, a baseline-table and a baseline-table font-size. この特性の値は,三つの構成要素をもつ複合値である。三つの構成要素とは,主要ベースラインに対するベースライン識別子,ベースライン表及びベースライン表のフォントサイズをいう。 The dominant-baseline-identifier is set from the first component. dominant-baseline-identifier特色は最初の構成要素から設定される。 The baseline-table font-size is used to scale the the positions of the baselines from the baseline table and, then, the position of the dominant-baseline is subtracted from the positions of the other baselines to yield a table of offsets from the dominant baseline. ベースライン表フォントサイズは,ベースライン表からのベースラインの位置を基準化するために使用され,主要ベースラインの位置はその他のベースラインの位置から減算され,主要ベースラインから相対的に表をずらす。 This table is the value of the actual-baseline-table trait. この表は,actual-baseline-table特色の値である。

5.6 Non-property Based Trait Generation 非特性ベースの特色生成

The is-reference-area trait is set to "true" for specific formatting objects. is-reference-area特色は,特定のフォーマット化オブジェクトについて“true”に設定される。 The description of these formatting objects specify explicitly that this is the case. これらのフォーマット化オブジェクトの記述は,この場合に明示的に指定される。 For all other formatting objects it is set to "false". その他のすべてのフォーマット化オブジェクトについては,“false”に設定される。

5.7 Property Based Transformations 特性ベースの変換

5.7.1 Text-transform Property text-transform特性

The case changes specified by this property are carried out during refinement by changing the value of the "character" property appropriately. この特性を指定すると,洗練化の間,適切に“character”特性の値を変更することによってケースの変更が実行される。

Note:注記

The use of the "text-transform" property is deprecated in XSL due to its severe internationalization issues. “text-transform”特性は,国際化問題が深刻であるため,XSLではその使用を禁止している。

5.8 Unicode BIDI Processing Unicode双方向(BIDI)処理

The characters in certain scripts are written horizontally from right to left. スクリプトによっては,右から左に向かって,水平に文字が書き込まれるものもある。 In some documents, in particular those written with the Arabic or Hebrew script, and in some mixed-language contexts, text in a single (visually displayed) block may appear with mixed directionality. 文書の中には,特に,アラビア語又はヘブライ語で書かれた文書,言語が混合している文脈などでは,視覚的に表示される単一のブロック内のテキストは,方向性が混同した状態で現れることがある。 This phenomenon is called bidirectionality, or "BIDI" for short. この現象を双方向性,又は短縮してBIDIと呼ぶ。

The Unicode standard [UNICODE] defines a complex algorithm, the Unicode BIDI algorithm [UNICODE UAX #9], The Unicode BIDI algorithm [UNICODE UAX #9] defines a complex algorithm for determining the proper directionality of text. Unicode規格[UNICODE]は,テキストの適正な方向性を決定するために,複雑なアルゴリズムであるUnicode双方向(BIDI)アルゴリズム[UNICODE UAX #9]を定義している。 Unicode双方向(BIDI)アルゴリズム[UNICODE UAX #9]は,テキストの適正な方向性を決定するために,複雑なアルゴリズムを定義している。 The algorithm is based on both an implicit part based on character properties, as well as explicit controls for embeddings and overrides. アルゴリズムは,埋め込み及び上書きのための明示的な制御と同様に,文字特性ベースの暗黙的な部分にも基づいている。

The final step of refinement uses this algorithm and the Unicode bidirectional character type of each character to convert the implicit directionality of the text into explicit markup in terms of formatting objects. 洗練化の最終段階では,このアルゴリズム及び各文字のUnicode双方向性文字型を使用して,テキストの暗黙的な方向性をフォーマット化オブジェクトによる明示的なマーク付けに変換する。 For example, a sub-sequence of Arabic characters in an otherwise English paragraph would cause the creation of an inline formatting object with the Arabic characters as its content, with a "direction" property of "rtl" and a "unicode-bidi" property of "bidi-override". 例えば,英語以外の段落で,アラビア文字の部分シーケンスが現れると,その内容として,アラビア文字をもつ行内フォーマット化オブジェクトを生成することになる。この場合,“direction”特性は“rtl”となり,“unicode-bidi”特性は“bidi-override”となる。 The formatting object makes explicit the previously implicit right to left positioning of the Arabic characters. フォーマット化オブジェクトによって,事前に右から左に暗黙に決められていたアラビア文字の位置が明示的になる。

As defined in [UNICODE UAX #9], the Unicode BIDI algorithm takes a stream of text as input, and proceeds in three main phases: [UNICODE UAX #9]で定義されるとおり,Unicode双方向(BIDI)アルゴリズムは,テキストの流れを入力として受け取り,主に三つの段階で進行する。

  1. Separation of the input text into paragraphs. 入力テキストを段落に分割する。 The rest of the algorithm affects only the text between paragraph separators. 残りのアルゴリズムは,段落の区切り記号間のテキストにだけ影響する。

  2. Resolution of the embedding levels of the text. テキストの埋め込みレベルを解決する。 In this phase, the bidirectional character types, plus the Unicode directional formatting codes, are used to produce resolved embedding levels. この段階では,双方向性の文字型は,それにUnicode方向フォーマット化コードを加えて,解決済み埋め込みレベルの生成に使用される。 The normative bidirectional character type for each character is specified in the Unicode Character Database [UNICODE Character Database]. 各文字に対応する標準双方向性文字型は,Unicode文字データベース[UNICODE Character Database]で指定される。

  3. Reordering the text for display on a line-by-line basis using the resolved embedding levels, once the text has been broken into lines. 一旦,テキストが行に分割されると,解決済み埋め込みレベルを使用して,行ごとに表示用にテキストを並べ替える。

The algorithm, as described above, requires some adaptions to fit into the XSL processing model. 上述のとおり,アルゴリズムには,XSL処理モデルに適合させるための適応が必須である。 First, the final, text reordering step is not done during refinement. まず,最終段階のテキストの並べ替えは,洗練化の間は実行されない。 Instead, the XSL equivalent of re-ordering is done during area tree generation. 代わりに,領域木の生成の間,並べ替えに相当するXSLの処理が実行される。 The inline-progression-direction of each glyph is used to control the stacking of glyphs as described in 4.2.5 Stacking Constraints. 各グリフの行内進行方向は,4.2.5スタック化制約 で記述されるグリフのスタックを制御するために使用される。 The inline-progression-direction is determined at the block level by the "writing-mode" property and within the inline formatting objects within a block by the "direction" and "unicode-bidi" properties that were either specified on inline formatting objects generated by tree construction or are on inline formatting objects introduced by this step of refinement (details below). 行内進行方向は,ブロックレベルで,“writing-mode”特性によって決定されるが,ブロック内の行内フォーマット化オブジェクトの内部では,“direction”特性及び“unicode-bidi”特性によって決定される。これら二つの特性は木構築が生成する行内フォーマット化オブジェクト上に指定されるか,又は,洗練化のこの段階によって導入される行内フォーマット化オブジェクト上の領域に存在するかのいずれかである。

Second, the algorithm is applied to a sequence of characters coming from the content of one or more formatting objects. 次に,アルゴリズムは,一つ以上のフォーマット化オブジェクトの内容から生じる文字のシーケンスに適用される。 The sequence of characters is created by processing a fragment of the formatting object tree. 文字のシーケンスは,フォーマット化オブジェクト木の素片の処理によって生成される。 A fragment is any contiguous sequence of children of some formatting object in the tree. 素片とは,木内の幾つかのフォーマット化オブジェクトの子の隣接する任意のシーケンスである。 The sequence is created by doing a pre-order traversal of the fragment down to the fo:character level. シーケンスは,fo:characterレベルまで素片の昇順たどりを実施することによって生成される。 During the pre-order traversal, every fo:character formatting object adds a character to the sequence. 昇順たどりの間,すべてのfo:characterフォーマット化オブジェクトはシーケンスに文字を追加する。 Furthermore, whenever the pre-order scan encounters a node with a "unicode-bidi" property with a value of "embed" or "bidi-override", add a Unicode RLO/LRO or RLE/LRE character to the sequence as appropriate to the value of the "direction" and "unicode-bidi" properties. 更に,昇順の走査で,値が“embed”又は“bidi-override”である“unicode-bidi”特性をもつノードに遭遇する場合は,“direction”特性及び“unicode-bidi”特性の値に適応するように,シーケンスにUnicode RLO/LRO文字又はRLE/LRE文字を適切に追加する。 On returning to that node after traversing its content, add a Unicode PDF character. 内容の走査後,そのノードに戻る際には,Unicode PDF文字を追加する。 In this way, the formatting object tree fragment is flattened into a sequence of characters. この場合,フォーマット化オブジェクト木素片は,文字のシーケンスに平坦化される。 This sequence of characters is called the flattened sequence of characters below. この文字のシーケンスを後に文字の平坦化シーケンスという。

Third, in XSL the algorithm is applied to delimited text ranges instead of just paragraphs. 更に,XSLでは,アルゴリズムは,段落ではなく,区切りテキスト範囲に適用される。 A delimited text range is a maximal flattened sequence of characters that does not contain any delimiters. 区切りテキスト範囲は,最大の文字の平坦化シーケンスであり,どのような区切り文字も包含しない。 Any formatting object that generates block-areas is a delimiter. ブロック領域を生成するフォーマット化オブジェクトはすべて区切り文字である。 It acts as a delimiter for its content. 区切りテキスト範囲は,その内容について区切り文字として動作する。 It also acts as a delimiter for its parent's content. その親の内容についても区切り文字として動作する。 That is, if the parent has character content, then its children formatting objects that generate block-areas act to break that character content into anonymous blocks each of which is a delimited text range. すなわち,親が文字内容をもつ場合,ブロック領域を生成するその子フォーマット化オブジェクトは,その文字内容をそれぞれが区切りテキスト範囲である匿名ブロックに分割するために動作する。 In a similar manner, the fo:multi-case formatting object acts as delimiter for its content and the content of its parent. 同様に,fo:multi-caseフォーマット化オブジェクトは,その内容及びその親の内容について,区切り文字として動作する。 Finally, text with an orientation that is not perpendicular to the dominant-baseline acts as a delimiter to text with an orientation perpendicular to the dominant-baseline. 最後に,その方位が主要ベースラインに垂直ではないテキストは,主要ベースラインに垂直なテキストに対して,区切り文字として動作する。 We say that text has an orientation perpendicular to the dominant-baseline if the glyphs that correspond to the characters in the text are all oriented perpendicular to the dominant-baseline. テキストの文字に対応するグリフの向きがすべて主要ベースラインに垂直である場合,テキストの方位は主要ベースラインに垂直であるという。

Note:注記

In most cases, a delimited text range is the maximal sequence of characters that would be formatted into a sequence of one or more line-areas. ほとんどの場合,区切りテキスト範囲は最大の文字シーケンスであり,一つ以上の行領域のシーケンスにフォーマットされることになる。 For the fo:multi-case and the text with an orientation perpendicular to the dominant-baseline, the delimited range may be a sub-sequence of a line or sequence of lines. fo:multi-case及びその方位が主要ベースラインに垂直なテキストの場合,区切り範囲は,行又は行のシーケンスの部分シーケンスであってもよい。 For example, in Japanese formatted in a vertical writing-mode, rotated Latin and Arabic text would be delimited by the vertical Japanese characters that immediately surround the Latin and Arabic text. 例えば,縦書きの表記方向でフォーマット化された日本語内では,回転したラテンテキスト及びアラビアテキストは,そのラテン及びアラビアテキストに隣接した縦書きの日本文字によって区切られることになる。 Any formatting objects that generated inline-areas would have no affect on the determination of the delimited text range. 行内領域を生成したフォーマット化オブジェクトはいずれも,区切りテキスト範囲の決定に影響しない。

For each delimited text range, the inline-progression-direction of the nearest ancestor (including self) formatting object that generates a block-area determines the paragraph embedding level used in the Unicode BIDI algorithm. それぞれの区切りテキスト範囲については,ブロック領域を生成する最も近い(自身を含む)先祖であるフォーマット化オブジェクトの行内進行方向は,Unicode双方向(BIDI)アルゴリズムで使用される段落埋め込みレベルを決定する。 This is the default embedding level for the delimited text range. これは,区切りテキスト範囲に関するデフォルトのめ埋込みレベルである。

Embedding levels are numbers that indicate how deeply the text is nested, and the default direction of text on that level. 埋め込みレベルは,テキストの組込みの深さを示す数値であり,そのレベルでのテキストのデフォルト方向である。 The minimum embedding level of text is zero, and the maximum embedding level is level 61. テキストの埋め込みレベルの最小値は0であり,最大埋め込みレベルはレベル61である。 Having more than 61 embedding levels is an error. 埋め込みレベルが61を超える場合は誤りである。 An XSL processor may signal the error. XSLプロセサは誤りを通知してもよい。 If it does not signal the error, it must recover by allowing a higher maximum number of embedding levels. 誤りを通知しない場合は,埋め込みレベルの最大値をそれより高くすることによって,誤りから回復しなければならない。

The second step of the Unicode BIDI algorithm labels each character in the delimited text range with a resolved embedding level. Unicode双方向(BIDI)アルゴリズムの第2段階は,解決済み埋め込みレベルの区切りテキスト範囲内の各文字を分類することである。 The resolved embedding level of each character will be greater than or equal to the paragraph embedding level. 各文字の解決済み埋め込みレベルは,段落の埋め込みレベルより大きいか又は同じになる。 Right-to-left text will always end up with an odd level, and left-to-right and numeric text will always end up with an even level. 右向きのテキストは,常に奇数レベルで終わり,左向きのテキストは,常に偶数レベルで終わる。 In addition, numeric text will always end up with a higher level than the paragraph level. 更に,数値テキストは,常に段落レベルよりも高いレベルで終わる。

Once the resolved embedding levels are determined for the delimited text range, new fo:bidi-override formatting objects with appropriate values for the "direction" and "unicode-bidi" properties are inserted into the formatting object tree fragment that was flattened into the delimited text range such that the following constraints are satisfied: 一旦,解決済み埋め込みレベルが区切りテキスト範囲に決定されると,“direction”特性及び“unicode-bidi”特性に適切な値を指定する新しいfo:bidi-overrideフォーマット化オブジェクトが,次の制約を満たすように,区切りテキスト範囲に平坦化されたフォーマット化オブジェクト木素片内に挿入される。

  1. For any character in the delimited text range, the inline-progression-direction of the character must match its resolved embedding level. 区切りテキスト範囲内の文字はいずれも,文字の行内進行方向がその解決済み埋め込みレベルとマッチしなければならない。

  2. For each resolved embedding level L from the paragraph embedding level to the maximum resolved embedding level, and for each maximal contiguous sequence of characters S for which the resolved embedding level of each character is greater than or equal to L, 段落の埋め込みレベルから最大の解決済み埋め込みレベルまでの各解決済み埋め込みレベルL,及び各文字の解決済み埋め込みレベルがLより大きいか又は等しい各文字の最大隣接シーケンスSについては,次のとおりである。

    1. There is an inline formatting object F which has as its content the formatting object tree fragment that flattens to S and has a "direction" property consistent with the resolved embedding level L. その内容として,Sに平坦化するフォーマット化オブジェクト木素片をもち,解決済み埋め込みレベルLと一致する“direction”特性をもつ行内フォーマット化オブジェクトFが存在する。

      Note:注記

      F need not be an inserted formatting object if the constraint is met by an existing formatting object or by specifying values for the "direction" and "unicode-bidi" properties on an existing formatting object. 現存のフォーマット化オブジェクトによって,又は現存のフォーマット化オブジェクトの“direction”特性及び“unicode-bidi”特性に値を指定することによって制約が満たされる場合は,Fは挿入されたフォーマット化オブジェクトでなくてもよい。

    2. All formatting objects that contain any part of the sequence S are properly nested in F and retain the nesting relationships they had in the formatting object tree prior to the insertion of the new formatting objects. シーケンスSの任意の部分を包含するフォーマット化オブジェクトは,すべて適正にFに組み込まれ,新しいフォーマット化オブジェクトの挿入に優先して,フォーマット化オブジェクト内に存在する組込み関係を維持する。

      Note:注記

      Satisfying this constraint may require splitting one or more existing formatting objects in the formatting object tree each into a pair of formatting objects each of which has the same set of computed property values as the original, unsplit formatting object. この制約を満たすことによって,各フォーマット化オブジェクト木内の現存のフォーマット化オブジェクトの一つ以上を,元の未分割のフォーマット化オブジェクトと同じ計算特性値の集合をもつ各フォーマット化オブジェクトのペアに分割することが必須となる場合もある。 One of the pair would be ended before the start of F or start after the end of F and the other would start after the start of F or would end before the end of F, respectively. ペアの一つは,Fの開始前で終了するか,又はFの終了後に開始することになる。もう一つは,Fの開始前に開始するか,又はFの終了前に終了することになる。 The created pairs must continue to nest properly to satisfy this constraint. 生成されたペアは,この制約を満たすために,適正に組込みを続行しなければならない。 For example, assume Left-to-right text is represented by the character "L" and Right-to-left text is represented by "R". 例えば,右向きのテキストが“L”という文字で表現され,左向きのテキストは“R”という文字で表現される。 In the sub-tree 部分木を次に示す。

        <fo:block>
          LL
          <fo:inline id="A" color="red">LLLRRR</fo:inline>
          RR
        </fo:block>
      

      assuming a paragraph embedding level of "0", the resolved embedding levels would require the following (inserted and replicated) structure: 段落埋め込みレベルが“0”であるとすると,解決済み埋め込みレベルでは次の挿入及び複写構造が必須である。

         <fo:block>
          LL
          <fo:inline id="A" color="red">LLL</fo:inline>
          <fo:bidi-override direction="rtl">
            <fo:inline color="red">RRR</fo:inline>
            RR
          </fo:bidi-override>
        </fo:block>
      

      Note that the fo:inline with id equal to "A" has been split into two fo:inlines, with only the first one retaining the original id of "A". idが“A”に等しいfo:inlineが二つのfo:inlineに分割されている点に注意する。最初のfo:inlineだけが,元の“A”のidを保有する。 Since id's must be unique within the formatting object tree, the computed value of any id must not be replicated in the second member of the pair. フォーマット化オブジェクトに含まれるidは一意でなければならないため,任意のid特性の計算値は,ペアのうちの2番目のメンバで複写されてはならない。

  3. No fewer fo:bidi-override formatting objects can be inserted and still satisfy the above constraints. 挿入が可能なfo:bidi-overrideで,上の制約を満たすものはほとんど存在しない。 That is, add to the refined formatting object tree only as many fo:bidi-override formatting objects, beyond the formatting objects created during tree construction, as are needed to represent the embedding levels present in the document. すなわち,木構築の間に生成されたフォーマット化オブジェクトの他,文書に存在する埋め込みレベルを表現するのに必要なだけのfo:bidi-overrideフォーマット化オブジェクトを洗練化されたフォーマット化オブジェクト木だけに追加する。

5.9 Expressions

All property value specifications in attributes within an XSL stylesheet can be expressions. XSLスタイルシート内の属性における特性値規定はすべて,式で表現することができる。 These expressions represent the value of the property specified. これらの式は指定される特性の値を表現する。 The expression is first evaluated and then the resultant value is used to determine the value of the property. 式は,最初に評価され,その結果生じた値が,特性の値の決定に使用される。

Note:注記

The expression language supports operations on a limited set of datatypes. 式言語は限られた集合のデータ型での操作に対応する。 These do not include <angle>, <time>, and <frequency>. これらは <angle>,<time>,<frequency> を含まない。 Values of these datatypes must be strings in the expression language. これらのデータ型の値は,式言語の文字列でなければならない。 The definition of these datatypes specify the allowed form of these strings. これらのデータ型の定義は,これらの文字列の許容される書式を指定する。

5.9.1 Property Context 特性文脈

Properties are evaluated against a property-specific context. 特性は,特性固有の文脈と対照して,評価される。 This context provides: この文脈は次を提供する。

Note:注記

It is not necessary that a conversion be provided for all types. すべての型に変換が提供されるわけではない。 If no conversion is specified, it is an error. 変換が指定されない場合は,誤りである。

When a type instance (e.g., a string, a keyword, a numeric, etc.) is recognized in the expression it is evaluated against the property context. 文字列,キーワード,数値などの型インスタンスが式で認識される場合は,特性文脈と対照して評価される。 This provides the ability for specific values to be converted with the property context's specific algorithms or conversions for use in the evaluation of the expression as a whole. これは,固有の値に能力を提供して,特性文脈の固有アルゴリズムを用いて変換するか,又は,全体として式の評価に使用する変換を用いて変換される。

For example, the "auto" enumeration token for certain properties is a calculated value. 例えば,ある特性に指定された“auto”列挙トークンは,計算値である。 Such a token would be converted into a specific type instance via an algorithm specified in the property definition. こういったトークンは,特性定義で指定されたアルゴリズムを介して,固有の型インスタンスに変換されることになる。 In such a case the resulting value might be an absolute length specifying the width of some aspect of the formatting object. このような場合,結果として生じた値は,フォーマット化オブジェクトのある局面の幅を指定する絶対的な長さであってもよい。

In addition, this allows certain types like relative numerics to be resolved into absolute numerics prior to mathematical operations. 更に,これによって相対数値など一定の型は,数学的演算に優先して絶対数値に解決することができる。

All property contexts allow conversions as specified in 5.9.12 Expression Value Conversions. 特性文脈はすべて,5.9.12 式値変換 で指定されるとおり,変換が可能である。

5.9.2 Evaluation Order 評価順序

When a set of properties is being evaluated for a specific formatting object in the formatting object tree there is a specific order in which properties must be evaluated. 特性の集合が,フォーマット化オブジェクト木内の固有のフォーマット化オブジェクトについて評価されている場合,特性の評価に必須である固有の順序が存在する。 Essentially, the "font-size" property must be evaluated first before all other properties. 本質的に,“font-size”特性は,他のすべての特性の前に,まず評価されなければならない。 Once the "font-size" property has been evaluated, all other properties may be evaluated in any order. “font-size”特性が評価されれば,他の任意の特性は,順序を問わず評価されてもよい。

When the "font-size" property is evaluated, the current font-size for use in evaluation is the font-size of the parent element. “font-size”特性が評価されると,評価に使用する現在のフォントサイズは,親要素のフォントサイズとなる。 Once the "font-size" property has been evaluated, that value is used as the current font-size for all property contexts of all properties value expressions being further evaluated. “font-size”特性が評価されると,その値は,式を更に評価するすべての特性値のすべての特性文脈に指定された現在のフォントサイズとして使用される。

5.9.3 Basics 基本機構

[1]   Expr   ::=   AdditiveExpr
[2]   PrimaryExpr   ::=   '(' Expr ')'
| Numeric
| Literal
| Color
| Keyword
| EnumerationToken
| FunctionCall

5.9.4 Function Calls 関数呼出し

[3]   FunctionCall   ::=   FunctionName '(' ( Argument ( ',' Argument)*)? ')'
[4]   Argument   ::=   Expr

5.9.5 Numerics 数値

A numeric represents all the types of numbers in an XSL expression. 数値は,XSLの式内のすべての型の数字を表す。 Some of these numbers are absolute values. これらの数値は絶対値であるものもあれば, Others are relative to some other set of values. その他の値の集合に関連するものもある。 All of these values use a floating-point number to represent the number-part of their definition. これらの値はすべて浮動小数点数を使用して,その定義の数字部分を表現する。

A floating-point number can have any double-precision 64-bit format IEEE 754 value [IEEE 754]. 浮動小数点数は,任意の倍精度64ビットフォーマットIEEE 754値[IEEE 754]をもつことができる。 These include a special "Not-a-Number" (NaN) value, positive and negative infinity, and positive and negative zero. これらは,特殊な“非数値”(NaN),正負無限大,正負0を含む。 See Section 4.2.3 of [JLS] for a summary of the key rules of the IEEE 754 standard. [JLS]4.2.3を参照されたい。IEEE 754規格の主要規則の要約を記述している。

[5]   Numeric   ::=   AbsoluteNumeric
| RelativeNumeric
[6]   AbsoluteNumeric   ::=   AbsoluteLength
[7]   AbsoluteLength   ::=   Number AbsoluteUnitName?
[8]   RelativeNumeric   ::=   Percent
| RelativeLength
[9]   Percent   ::=   Number '%'
[10]   RelativeLength   ::=   Number RelativeUnitName

The following operators may be used with numerics: 次の演算子は数値と共に使用してもよい。

+

Performs addition. 加算を実行する。

-

Performs subtraction or negation. 減算又は符号反転を実行する。

*

Performs multiplication. 乗算を実行する。

div

Performs floating-point division according to IEEE 754. IEEE 754に従って,浮動小数点除算を実行する。

mod

Returns the remainder from a truncating division. 切捨て除算から剰余を返す。

Note:注記1

Since XML allows - in names, the - operator (when not used as a UnaryExpr negation) typically needs to be preceded by white space. XMLは名前に-を使用することができるため,通常,UnaryExprの符号反転として使用されない場合,空白を-演算子に先行させる必要がある。 For example the expression 10pt - 2pt means subtract 2 points from 10 points. 例えば,10pt - 2pt という式は,10ポイントから2ポイントを減算するという意味である。 The expression 10pt-2pt would mean a length value of 10 with a unit of "pt-2pt". 10pt-‍2pt という式は,10という長さの値に“pt-‍2pt”という単位が付いていることを意味する。

Note:注記2

The following are examples of the mod operator: mod演算子の例を次に示す。

  • 5 mod 2 returns 1 5 mod 2 は,1を返す。

  • 5 mod -2 returns 1 5 mod -2 は,1を返す。

  • -5 mod 2 returns -1 -5 mod 2 は,-1を返す。

  • -5 mod -2 returns -1 -5 mod -2 は,-1を返す。

Note:注記3

The mod operator is the same as the % operator in Java and ECMAScript and is not the same as the IEEE remainder operation, which returns the remainder from a rounding division. mod演算子は,Java及びECMAScriptの%演算子と同じであり,丸め除算から剰余を返すIEEE剰余演算子とは異なる。

Numeric Expressions 数式
[11]   AdditiveExpr   ::=   MultiplicativeExpr
| AdditiveExpr '+' MultiplicativeExpr
| AdditiveExpr '-' MultiplicativeExpr
[12]   MultiplicativeExpr   ::=   UnaryExpr
| MultiplicativeExpr MultiplyOperator UnaryExpr
| MultiplicativeExpr 'div' UnaryExpr
| MultiplicativeExpr 'mod' UnaryExpr
[13]   UnaryExpr   ::=   PrimaryExpr
| '-' UnaryExpr

Note:注記

The effect of this grammar is that the order of precedence is (lowest precedence first): この文法は,優先順位に影響する。最も低い優先順位から示す。

  • +, -+,-

  • *, div, mod*,div,mod

and the operators are all left associative. 演算子はすべて左結合である。 For example, 2*3 + 4 div 5 is equivalent to (2*3) + (4 div 5). 例えば,2*3 + 4 div 5(2*3) + (4 div 5) と等しい。

If a non-numeric value is used in an AdditiveExpr and there is no property context conversion from that type into an absolute numeric value, the expression is invalid and considered an error. AdditiveExprで非数値が使用され,その型から絶対数値への特性文脈変換が存在しない場合,式は無効であり,誤りと考えられる。

5.9.6 Absolute Numerics 絶対数値

An absolute numeric is an absolute length which is a pair consisting of a Number and a UnitName raised to a power. 絶対数値は絶対の長さであり,Numberとべき乗されたUnitNameから構成されるペアである。 When an absolute length is written without a unit, the unit power is assumed to be zero. 記述された絶対の長さに単位がついていない場合,単位のべきは0と考えられる。 Hence, all floating point numbers are a length with a power of zero. このため,すべての浮動小数点数は,0乗された単位をもつ長さである。

Each unit name has associated with it an internal ratio to some common internal unit of measure (e.g., a meter). 各単位名は,メートルなど,共通の測度の内部単位に対する内部比率に関連する。 When a value is written in a property expression, it is first converted to the internal unit of measure and then mathematical operations are performed. 値が特性式に記述される場合,まず,測度の内部単位に変換され,その後数学的な演算が実行される。

In addition, only the mod, addition, and subtraction operators require that the numerics on either side of the operation be absolute numerics of the same unit power. 更に,剰余,加算及び減算の各演算子だけは,演算子のいずれの側の数値も同じ単位のべきをもつ絶対数値であること必須である。 For other operations, the unit powers may be different and the result should be mathematically consistent as with the handling of powers in algebra. その他の演算では,単位のべきが異なってもよく,その結果は,数学的に代数におけるべきの取扱いに一致するのが望ましい。

A property definition may constrain an absolute length to a particular power. 特性定義は,絶対の長さを特定のべきに制約してもよい。 For example, when specifying font-size, the value is expected to be of power "one". 例えば,フォントサイズを指定する際,値の単位は1乗であるとしてもよい。 That is, it is expected to have a single powered unit specified (e.g., 10pt). すなわち,10ptなど,単一のべき単位が指定されてもよい。

When the final value of a property is calculated, the resulting power of the absolute numeric must be either zero or one. 特性の最終値を計算する場合,絶対数値の結果のべきは,0又は1のいずれかでなければならない。 If any other power is specified, the value is an error. その他のべきが指定される場合,値は誤りである。

5.9.7 Relative Numerics 相対数値

Relative lengths are values that are calculated relative to some other set of values. 相対の長さとは,他の値の集合に関連して計算された値である。 When written as part of an expression, they are either converted via the property context into an absolute numeric or passed verbatim as the property value. 式の一部として書き込まれる場合,特性文脈を介して,絶対数値に変換されるか,特性値として逐語的に渡されるかのいずれかである。

It is an error if the property context has no available conversion for the relative numeric and a conversion is required for expression evaluation (e.g., within an add operation). 特性文脈が相対数値への利用可能な変換をもたず,加算演算内など,式評価に変換が必須である場合は,誤りである。

5.9.7.1 Percents パーセント

Percentages are values that are counted in 1/100 units. パーセンテージは,1/100単位で計算される値である。 That is, 10% as a percentage value is 0.10 as a floating point number. 例えば,パーセント値としての10% は,浮動小数点数としての0.10である。 When converting to an absolute numeric, the percentage is defined in the property definition as being a percentage of some known property value. 絶対数値への変換の際,パーセンテージは,特性定義内で,既知の特性値のパーセンテージとして定義される。 If the percentage evaluates to "auto" the complete expression evaluates to "auto". パーセンテージが“auto”に評価される場合,完全な式は“auto”に評価される。

For example, a value of "110%" on a "font-size" property would be evaluated to mean 1.1 times the current font size. 例えば,“font-size”特性の値が“110%”であるということは,現在のフォントサイズの1.1倍であることを意味する。 Such a definition of the allowed conversion for percentages is specified on the property definition. このようにパーセンテージに使用できる変換の定義は,特性定義上に指定される。 If no conversion is specified, the resulting value is a percentage. 変換が指定されない場合,結果の値はパーセンテージである。

5.9.7.2 Relative Lengths 相対の長さ

A relative length is a unit-based value that is measured against the current value of the font-size property. 相対の長さとは単位ベースの値であり,font-size特性の現在の値に照らして測定される。

There is only one relative unit of measure, the "em". 測定の相対単位は,“em”しか存在しない。 The definition of "1em" is equal to the current font size. “1em”の定義は,現在のフォントサイズに等しい。 For example, a value of "1.25em" is 1.25 times the current font size. 例えば,“1.25em”という値は,現在のフォントサイズの1.25倍を意味する。

When an em measurement is used in an expression, it is converted according to the font-size value of the current property's context. em測定法が式で使用される場合,現在の特性の文脈のフォントサイズ値に従って変換される。 The result of the expression is an absolute length. 式の結果は絶対の長さである。 See 7.9.4 font-size. 7.9.4 font-size を参照されたい。

5.9.8 Strings 文字列

Strings are represented either as literals or as an enumeration token. 文字列は,リテラル又は 列挙トークンのいずれかとして表示される。 All properties contexts allow conversion from enumeration tokens to strings. すべての特性文脈は,列挙トークンから文字列への変換が可能である。 See 5.9.12 Expression Value Conversions. 5.9.12 式値変換 を参照されたい。

5.9.9 Colors

A color is a set of values used to identify a particular color from a color space. 色は,色空間から特定の色を識別するために使用される値の集合である。 Only RGB [sRGB] (Red, Green, Blue) and ICC (International Color Consortium) [ICC] colors are included in this Recommendation. この規定この標準仕様書(TS)では,RGB[sRGB](赤,緑,青)及びICC(International Color Consortium)[ICC]の色だけを取り扱う。

RGB colors are directly represented in the expression language using a hexadecimal notation. RGB色は,16進表記を使用して,式言語内で直接表示される。 ICC colors can be specified through an rgb-icc function. ICCにはicc-color関数を介してアクセスできる。 Colors can also be specified through the system-color function or through conversion from an EnumerationToken via the property context. system-color関数を通じて,又は,特性文脈を介してEnumerationTokenから変換されても,色へのアクセスが可能である。

5.9.10 Keywords キーワード

Keywords are special tokens in the grammar that provide access to calculated values or other property values. キーワードは,計算値又はその他の特性値にアクセスする文法内の特別なトークンである。 The allowed keywords are defined in the following subsections. 使用可能なトークンを 5.9.10.1 inherit で定義する。

5.9.10.1 inherit

The property takes the same computed value as the property for the formatting object's parent object. この特性は,フォーマット化オブジェクトの親オブジェクトの特性と同じ計算値をとる。

Note:注記

"inherit" is not allowed as an expression mixed with operations. “inherit”は,演算と混ざった式としては許容されない。 The same functionality is provided by the from-parent() function, which can be mixed with operations. 同じ機能は,演算と混ざり得るfrom-parent() 関数によって与えられる。

5.9.11 Lexical Structure 字句構造

When processing an expression, white space (ExprWhitespace) may be allowed before or after any expression token even though it is not explicitly defined as such in the grammar. 式を処理する際,空白(ExprWhitespace)は,文法での明示的な定義がなくとも,あらゆる式トークンの前後で使用できる。 In some cases, white space is necessary to make tokens in the grammar lexically distinct. 文法内のトークンを字句的に明確にするために空白が必要な場合もある。 Essentially, white space should be treated as if it does not exist after tokenization of the expression has occurred. 本質的に,式のトークン化が生じた後には存在しないものとして,空白を取り扱うのが望ましい。

The following special tokenization rules must be applied in the order specified to disambiguate the grammar: 次の特殊なトークン化規則は,文法を明確にするために,指定された順序で適用されなければならない。

Expression Lexical Structure 式字句構造
[14]   ExprToken   ::=   '(' | ')' | '%'
| Operator
| FunctionName
| EnumerationToken
| Number
[15]   Number   ::=    FloatingPointNumber
[16]   FloatingPointNumber   ::=   Digits ('.' Digits?)?
| '.' Digits
[17]   Digits   ::=   [0-9]+
[18]   Color   ::=   '#' AlphaOrDigits
[19]   AlphaOrDigits   ::=   [a-fA-F0-9]+
[20]   Literal   ::=   '"' [^"]* '"'
| "'" [^']* "'"
[21]   Operator   ::=   OperatorName
| MultiplyOperator
| '+' | '-'
[22]   OperatorName   ::=   'mod' | 'div'
[23]   MultiplyOperator   ::=   '*'
[24]   Keyword   ::=   'inherit'
[25]   FunctionName   ::=    NCName
[26]   EnumerationToken   ::=   NCName
[27]   AbsoluteUnitName   ::=   'cm' | 'mm' | 'in' | 'pt' | 'pc' | 'px'
[28]   RelativeUnitName   ::=   'em'
[29]   ExprWhitespace   ::=   S

5.9.12 Expression Value Conversions 式値変換

Values that are the result of an expression evaluation may be converted into property value types. 式評価の結果である値は,特性値型に変換されてもよい。 In some instances this is a simple verification of set membership (e.g., is the value a legal country code). 例えば,値が正当な国名コードである場合など,これが単に集合構成の検査であることもあれば, In other cases, the value is expected to be a simple type like an integer and must be converted. 値が整数など単純な型であり,変換が必須であることもある。

It is not necessary that all types be allowed to be converted. すべての型の変換が可能である必要はない。 If the expression value cannot be converted to the necessary type for the property value, it is an error. 式値が特性値に必要な型に変換できない場合は,誤りである。

The following table indicates what conversions are allowed. どの変換が可能であるかを表5.1に示す。

表5.1 — 可能な式値変換
Type Allowed Conversions 可能な変換 Constraints 制約
NCName

Color, via the system-color() function. 色,system-color() 関数を介する。

Enumeration value, as defined in the property definition. 列挙値,特性定義で定義される。

To a string literal 文字列リテラルに対するもの。

The value may be checked against a legal set of values depending on the property. 特性に依存する正当な値の集合に照らして,値を検査してもよい。
AbsoluteNumeric

Integer, via the round() function. 整数,round() 関数を介する。

Color, as an RGB color value. 色,RGB色値と同じ。

If converting to an RGB color value, it must be a legal color value from the color space. RGB色値に変換する場合は,色空間にある正当な色値でなければならない。
RelativeLength

To an AbsoluteLength AbsoluteLengthに対するもの。

The specific conversion to be applied is property specific and can be found in the definition of each property. 適用される固有の変換は特性固有であり,各特性の定義で解説されている。

Note:注記

Conversions of compound property values are not allowed; thus for example, space-before.optimum="inherited-property-value(space-before)" is invalid. 複合特性値の変換は,許容されない。そのため,例えば,space-before.optimum="inherited-property-value(space-before)" は妥当でない。 Permitted are, for example, space-before="inherited-property-value(space-before)" and space-before.optimum="inherited-property-value(space-before.optimum)" since they do not require conversion. 例えば,space-before="inherited-property-value(space-before)" 及び space-before.optimum="inherited-property-value(space-before.optimum)" は,それらは変換を必要としないので,許容される。

5.9.13 Definitions of Units of Measure 測定単位の定義

The units of measure in this Recommendation have the following definitions: この規定この標準仕様書(TS)における測定単位の定義を表5.2に示す。

表5.2 — 測定単位の定義
Name名前 Definition定義
cm See [ISO31] [ISO31]を参照
mm See [ISO31] [ISO31]を参照
in2.54cm
pt1/72in
pc12pt
px See 5.9.13.1 Pixels 5.9.13.1 画素 を参照
em See 5.9.7.2 Relative Lengths 5.9.7.2 相対の長さ を参照
5.9.13.1 Pixels 画素

XSL interprets a 'px' unit to be a request for the formatter to choose a device-dependent measurement that approximates viewing one pixel on a typical computer monitor. XSLは,フォーマッタへの要求である“px”単位を解釈し,典型的なコンピュータモニタでの1画素の表示に近い装置依存の測定を選択する。 This interpretation is follows: この解釈を次に示す。

  1. The preferred definition of one 'px' is: 望ましい“1px”の定義は次である。

    • The actual distance covered by the largest integer number of device dots (the size of a device dot is measured as the distance between dot centers) that spans a distance less-than-or-equal-to the distance specified by the arc-span rule in http://www.w3.org/TR/REC-CSS2//syndata.html#x39 or superceding errata. http://www.w3.org/TR/REC-CSS2/syndata.html#x39 又は置き換える正誤表のarc-span規則で指定される距離以下の距離となる,装置ドットの最大の整数でカバーされた実際の距離。 装置ドットのサイズはドット中央間の距離として測定される。

    • A minimum of the size of 1 device dot should be used. 1装置ドットの最小サイズを用いるのが望ましい。

    • This calculation is done separately in each axis, and may have a different value in each axis. この計算は各軸で個々に行われ,各軸の値が異なってもよい。

  2. However, implementors may instead simply pick a fixed conversion factor, treating 'px' as an absolute unit of measurement (such as 1/92" or 1/72"). しかし,実装者は,固定変換係数を代わりに選択し,1/92インチ又は1/72インチなど,絶対測定単位として“px”を取り扱ってもよい。

Note:注記

Pixels should not be mixed with other absolute units in expressions as they may cause undesirable effects. 望ましくない影響を引き起こすため,式では,他の絶対単位と画素を混同しないことが望ましい。 Also, particular caution should be used with inherited property values that may have been specified using pixels. 特定の警告についても,画素を使用して指定された継承特性値と共に使用するのが望ましい。

If the User Agent chooses a measurement for a 'px' that does not match an integer number of device dots in each axis it may produce undesirable effects, such as: 利用者エージェントが,各軸の装置ドットの整数とマッチしない“px”の寸法を選択する場合,望ましくない影響を引き起こす可能性がある。その影響を次に示す。

  • moiré patterns in scaled raster graphics 拡大縮小されたラスタ図形処理におけるモアレパタン。

  • unrenderable overlapping areas when the renderer rounds fonts or graphics sizes upward to its actual dot-size レンダラがフォントサイズ又は図形サイズを実際のドットサイズまで大きく丸める場合の,レンダリングできない重複領域。

  • large spaces between areas when the renderer rounds fonts or graphics sizes downward to its actual dot-size レンダラがフォントサイズ又は図形サイズを実際のドットサイズまで小さく丸める場合の,領域間の広範な間隔。

  • unreadable results including unacceptably small text/layout (for example, a layout was calculated at 72 dpi [dots per inch], but the renderer assumed the result was already specified in device dots and rendered it at 600 dpi). 容認できない小さなテキスト/レイアウトを含む読み取り不可能な結果。例えば,レイアウトがインチ当たり72ドットで計算されたが,その結果が装置ドットで既に指定されているとレンダラが仮定し,インチ当たり600ドットでレンダリングする場合などである。

Stylesheet authors should understand a pixel's actual size may vary from device to device: スタイルシート作成者は,画素の実際のサイズが装置によって異なってもよいことを理解しているのが望ましい。

  • stylesheets utilizing 'px' units may not produce consistent results across different implementations or different output devices from a single implementation “px”単位を利用するスタイルシートは,異なる実装又は単純な実装とは異なる出力装置間で,同じ結果を生成しなくてもよい。

  • even if stylesheets are expressed entirely in 'px' units the results may vary on different devices スタイルシート全体が“px”単位で表現されても,その結果は装置ごとに異なってもよい。

5.10 Core Function Library コア関数ライブラリ

5.10.1 Number Functions 数の関数

numeric floor(numeric)

The floor function returns the largest (closest to positive infinity) integer that is not greater than the argument. floor関数は,引数ほど大きくはないが,正の無限大に最も近い最大整数を返す。 The numeric argument to this function must be of unit power zero. この関数に対する数値引数は,単位のべきが0でなければならない。

Note:注記

If it is necessary to use the floor function for a property where a unit power of one is expected, then an expression such as: "floor(1.4in div 1.0in)*1.0in" must be used. 単位のべきが1であることを要求される特性にfloor関数を使用する必要がある場合,“floor(1.4in div 1.0in)*1.0in”などの式を使用しなければならない。 This also applies to the ceiling, round, and other such functions where a unit power of zero is required. これは,ceiling関数,round関数,及びその他の類似する関数で,単位のべきが0であることが必須であるものにも適用される。

numeric ceiling(numeric)

The ceiling function returns the smallest (closest to negative infinity) integer that is not less than the argument. ceiling関数は,引数ほど小さくはないが,負の無限大に最も近い最小整数を返す。 The numeric argument to this function must be of unit power zero. この関数に対する数値引数は,単位のべきが0でなければならない。

numeric round(numeric)

The round function returns the integer that is closest to the argument. round関数は,引数に最も近い整数を返す。 If there are two such numbers, then the one that is closest to positive infinity is returned. このような数が二つ存在する場合は,正の無限大に最も近いものが返される。 The numeric argument to this function must be of unit power zero. この関数に対する数値引数は,単位のべきが0でなければならない。

numeric min(numeric, numeric)

The min function returns the minimum of the two numeric arguments. min関数は,二つの数値引数のうち,小さい方を返す。 These arguments must have the same unit power. これらの引数の単位のべきは同一でなければならない。

numeric max(numeric, numeric)

The max function returns the maximum of the two numeric arguments. max関数は二つの数値引数のうち,大きい方を返す。 These arguments must have the same unit power. これらの引数の単位のべきは同一でなければならない。

numeric abs(numeric)

The abs function returns the absolute value of the numeric argument. abs関数は,数値引数の絶対値を返す。 That is, if the numeric argument is negative, it returns the negation of the argument. すなわち,数値引数が負の場合,引数を符号反転した値を返す。

5.10.2 Color Functions 色の関数

color rgb(numeric, numeric, numeric)

The rgb function returns a specific color from the RGB color space. rgb関数は,RGB色空間に属する固有の色を返す。 The parameters to this function must be numerics (real numbers) with a length power of zero. この関数に対するパラメタは,長さのべきが0である実数でなければならない。

color rgb-icc(numeric, numeric, numeric, NCName, numeric, numeric)

The rgb-icc function returns a specific color from the ICC Color Profile. rgb-icc関数は,ICC色プロファイルに属する固有の色を返す。 The color profile is specified by the name parameter (the fourth parameter). 色プロファイルは名前のパラメタ(4番目のパラメタ)によって指定される。 This color profile must have been declared in the fo:declarations formatting object using an fo:color-profile formatting object. この色プロファイルは, fo:color-profileフォーマット化オブジェクトを使用して,fo:declarationsフォーマット化オブジェクトで,宣言されなければならない。

The first three parameters specify a fallback color from the sRGB color space. 最初の三つのパラメタは,sRGB色空間に属するフォールバック色を指定する。 This color is used when the color profile is not available. 色プロファイルを利用できない場合に,この色を使用する。

The color is specified by a sequence of one or more color values (real numbers) specified after the name parameter. 色は,名前パラメタの後に指定される一つ以上の色値(実数)のシーケンスによって指定される。 These values are specific to the color profile. これらの値は色プロファイルに固有である。

color system-color(NCName)

The system-color function returns a system defined color with a given name. system-color関数は,与えられる名前のついた色を定義するシステムを返す。

5.10.3 Font Functions フォントの関数

object system-font(NCName, NCName?)

The system-font function returns a characteristic of a system font. system-font関数は,システムフォントの特質を返す。 The first argument is the name of the system font and the second argument, which is optional, names the property that specifies the characteristic. 最初の引数は,システムフォントの名前であり,2番目の引数は任意であり,特質を指定する特性を名前付けする。 If the second argument is omitted, then the characteristic returned is the same as the name of the property to which the expression is being assigned. 2番目の引数が省略される場合,返される特質は,式が割り当てられる特性の名前と同じである。

For example, the expression "system-font(heading,font-size)" returns the font-size characteristic for the system font named "heading". 例えば,“system-font(heading,font-size)”という式は,“heading”と名前付けされたシステムフォントのフォントサイズの特質を返す。 This is equivalent to the property assignment 'font-size="system-font(heading)"'. これは,特性割当て“font-size="system-font(heading)"”と等しい。

5.10.4 Property Value Functions 特性値の関数

object inherited-property-value(NCName?)

The inherited-property-value function returns the inherited value of the property whose name matches the argument specified, or if omitted for the property for which the expression is being evaluated. inherited-property-value関数は,名前が指定された引数にマッチする特性の継承値を返す。又は名前が省略されていた場合は,式が評価される特性の継承値を返す。 It is an error if this property is not an inherited property. この特性が継承特性ではない場合は,誤りである。 If the argument specifies a shorthand property and if the expression only consists of the inherited-property-value function with an argument matching the property being computed, it is interpreted as an expansion of the shorthand with each property into which the shorthand expands, each having a value of inherited-property-value with an argument matching the property. 引数が簡略記述特性を指定し,計算された特性にマッチする引数をもつinherited-property-value関数だけで式が構成される場合は,簡略記述が各特性に展開する簡略記述の展開と解釈され,それぞれがその特性にマッチする引数をもつinherited-property-valueの値をもつ。 It is an error if arguments matching a shorthand property are used in any other way. 簡略記述特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。 Similarly, if the argument specifies a property of a compound datatype and if the expression only consists of the inherited-property-value function with an argument matching the property being computed, it is interpreted as an expansion with each component of the compound property having a value of inherited-property-value with an argument matching the component. 同様に,式が複合データ型の特性として記述される場合,及び式が計算される特性にマッチする引数をもつinherited-property-value関数だけからなる場合,それはその構成要素にマッチする引数をもつinherited-property-valueの値をもつ複合特性の各構成要素に展開されて解釈される。 It is an error if arguments matching a property of a compound datatype are used in any other way. 複合データ型の特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。

The returned "inherited value" is the computed value of this property on this object's parent. 返された“継承値”は,このオブジェクトの親のこの特性の計算値である。 For example, given the following: 例を次に挙げる。

<fo:list-block>
  ...
  <fo:list-item color="red">
    <fo:list-item-body background-color="green">
      <fo:block background-color="inherited-property-value(color)">
      </fo:block>
    </fo:list-item-body>
  </fo:list-item>
</fo:list-block>

The background-color property on the fo:block is assigned the value "red" because the (computed, after inheritance) value of the color (not background-color) property on the fo:list-item-body that is the parent of the fo:block is "red". fo:blockのbackground-color特性の値は“red”に割り当てられる。これは,fo:blockの親であるfo:list-item-body上のcolor特性の値のうち,background-color以外で,継承後の計算値が“red”であるためである。

numeric label-end()

The label-end function returns the calculated label-end value for lists. label-end関数は,リストについて,label-endの計算値を返す。 See the definition in 7.30.11 provisional-label-separation. 7.30.11 provisional-label-separationの定義 を参照されたい。

numeric body-start()

The body-start function returns the calculated body-start value for lists. body-start関数は,リストについて,body-startの計算値を返す。 See the definition in 7.30.12 provisional-distance-between-starts. 7.30.12 provisional-distance-between-startsの定義 を参照されたい。

object from-parent(NCName?)

The from-parent function returns a computed value (see 5.1 Specified, Computed, and Actual Values, and Inheritance) of the property whose name matches the argument specified, or if omitted for the property for which the expression is being evaluated. from-parent関数は,名前が指定された引数にマッチする特性の計算値(5.1 指定値,計算値,実際値及び継承 を参照されたい)を返す。又は名前が省略されていた場合は,式が評価される特性の計算値を返す。 The value returned is that for the parent of the formatting object for which the expression is evaluated. 返される値は,式が評価されるフォーマット化オブジェクトの親に関するものである。 If there is no parent, the value returned is the initial value. 親が存在しない場合,返される値は初期値である。 If the argument specifies a shorthand property and if the expression only consists of the from-parent function with an argument matching the property being computed, it is interpreted as an expansion of the shorthand with each property into which the shorthand expands, each having a value of from-parent with an argument matching the property. 引数が簡略記述特性を指定し,計算された特性にマッチする引数をもつfrom-parent関数だけで式が構成される場合は,簡略記述が各特性に展開する簡略記述の展開として解釈され,それぞれがその特性にマッチする引数をもつfrom-parentの値をもつ。 It is an error if arguments matching a shorthand property are used in any other way. 簡略記述特性にマッチする引数が,その他の方法で使用される場合はいずれも,誤りである。 Similarly, if the argument specifies a property of a compound datatype and if the expression only consists of the from-parent function with an argument matching the property being computed, it is interpreted as an expansion with each component of the compound property having a value of from-parent with an argument matching the component. 同様に,式が複合データ型の特性として記述される場合,及び式が計算される特性にマッチする引数をもつfrom-parent関数だけからなる場合,それはその構成要素にマッチする引数をもつfrom-parentの値をもつ複合特性の各構成要素に展開されて解釈される。 It is an error if arguments matching a property of a compound datatype are used in any other way. 複合データ型の特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。

object from-nearest-specified-value(NCName?)

The from-nearest-specified-value function returns a computed value of the property whose name matches the argument specified, or if omitted for the property for which the expression is being evaluated. from-nearest-specified-value関数は,名前が指定された引数にマッチする特性の計算値を返す。又は名前が省略されていた場合は,式が評価される特性の計算値を返す。 The value returned is that for the closest ancestor of the formatting object for which the expression is evaluated on which there is an assignment of the property in the XML result tree in the fo namespace. 返される値は,式が評価されるフォーマット化オブジェクトの最も近い先祖のものである。この場合,fo名前空間内のXML結果木の特性の割当てが存在する。 If there is no such ancestor, the value returned is the initial value. このような先祖が存在しない場合,返される値は初期値である。 If the argument specifies a shorthand property and if the expression only consists of the from-nearest-specified-value function with an argument matching the property being computed, it is interpreted as an expansion of the shorthand with each property into which the shorthand expands, each having a value of from-nearest-specified-value with an argument matching the property. 引数が簡略記述特性を指定し,計算された特性にマッチする引数をもつ from-nearest-specified-value関数だけで式が構成される場合は,簡略記述が各特性に展開する簡略記述の展開と解釈され,それぞれがその特性にマッチする引数をもつ from-nearest-specified-valueの値をもつ。 It is an error if arguments matching a shorthand property are used in any other way. 簡略記述特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。 Similarly, if the argument specifies a property of a compound datatype and if the expression only consists of the from-nearest-specified-value function with an argument matching the property being computed, it is interpreted as an expansion with each component of the compound property having a value of from-nearest-specified-value with an argument matching the component. 同様に,式が複合データ型の特性として記述される場合,及び式が計算される特性にマッチする引数をもつfrom-nearest-specified-value関数だけからなる場合,それはその構成要素にマッチする引数をもつfrom-nearest-specified-valueの値をもつ複合特性の各構成要素に展開されて解釈される。 It is an error if arguments matching a property of a compound datatype are used in any other way. 複合データ型の特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。

object from-page-master-region(NCName?)

The from-page-master-region function returns the computed value of the property whose name matches the argument specified, or if omitted for the property for which the expression is being evaluated. from-page-master-region関数は,名前が指定された引数にマッチする特性の計算値を返す。又は名前が省略されていた場合は,式が評価される特性の計算値を返す。

In XSL 1.1 this function may only be used as the value of the "writing-mode" and "reference-orientation" properties. XSL 1.1 では,この関数は“表記方法”及び“参照方位”特性の値としてだけ使われることがある。 In addition the argument of the function must be omitted. 更に,関数の引数は省略されなければならない。 If an argument is present, it is an error. 引数が存在する場合は誤りである。

The computed value of the designated property is taken from that property on the layout formatting object being used to generate the region viewport/reference area pair. 指定された特性の計算値は,レイアウトフォーマット化オブジェクトでの特性から表示/参照領域のペアを生成するのに使用されることで与えられる。

If this function is used in an expression on a formatting object, F, that is a descendant of an fo:page-sequence, then the computed value is taken from the region specification that was used to generate the nearest ancestor region reference area which has as its descendants the areas returned by F. この関数がフォーマット化オブジェクトF,fo:page-sequenceの子孫の式に使われる場合,計算値は,子孫としてFで返された領域をもっている最も近い先祖の区画参照領域を生成するのに使用された区画の規定から与えられる。

If the argument specifies a property of a compound datatype and if the expression only consists of the inherited-property-value function with an argument matching the property being computed, it is interpreted as an expansion with each component of the compound property having a value of inherited-property-value with an argument matching the component. 式が複合データ型の特性として記述される場合,及び式が計算される特性にマッチする引数をもつinherited-property-value関数だけからなる場合,それはその構成要素にマッチする引数をもつinherited-property-valueの値をもつ複合特性の各構成要素に展開されて解釈される。 It is an error if arguments matching a property of a compound datatype are used in any other way. 複合データ型の特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。

Note:注記

Consider the following example: 次の例を考える。

<fo:root>

<fo:layout-master-set>
  <fo:simple-page-master master-name="all-pages">
    <fo:region-body region-name="xsl-region-body" margin="0.75in"
                    writing-mode="tb-rl" />
    <fo:region-before region-name="xsl-region-before" 
                    extent="0.75in"/>
  </fo:simple-page-master>
  <fo:page-sequence-master master-name="default-sequence">
    <fo:repeatable-page-master-reference 
                    master-reference="all-pages"/>
  </fo:page-sequence-master>
</fo:layout-master-set>

<fo:page-sequence master-name="default-sequence">
  <fo:flow flow-name="xsl-region-body">
    <fo:block>
        [Content in a language which allows either
         horizontal or vertical formatting水平と垂直の両方が許される言語を含む]
    </fo:block>
  </fo:flow>
</fo:page-sequence>

</fo:root>

This example shows a very simple page layout specification. この例は非常に単純なページレイアウト規定を示している。 There is a single simple-page-master, named "all-pages". “all-pages”という名の単一の単純ページマスタがある。 This page-master has two regions defined upon it, "xsl-region-body" and "xsl-region-before". このページマスタは上で定義される二つの区画“xsl-region-body”及び“xsl-region-before”をもつ。 The region named "xsl-region-before" is a page header that accepts static-content (said content is omitted for simplicity in this example). “xsl-region-before”という名前の区画は,静的内容(その内容は単純なこの例では省略されている)を受け入れるページヘッダである。 The region named "xsl-region-body" is assigned the content of the single fo:flow in the single fo:page-sequence. “xsl-region-body”という名前の区画は,単一のfo:page-sequence内の単一のfo:flowの内容が割り当てられる。

In this example, the definition of "xsl-region-body" has a "writing-mode" property. この例では,“xsl-region-body”の定義は“writing-mode”特性をもっている。 As written, the computed value of this property, "tb-rl", would have no effect on the writing-mode used to fill the region because the writing-mode value used when generating the region viewport/reference area pair would be the computed value on the fo:page-sequence that uses the "xsl-region-body" region definition to generate a region viewport/reference area pair. 書かれているように,この特性“tb-rl”の計算値は,区画のwriting-modeには影響しない。なぜならば,writing-modeの値は,区画表示/参照領域のペアの生成がfo:page-sequenceの計算値であり,それが区画表示/参照領域の対を生成するために“xsl-region-body”領域定義を使っているからである。 Since no "writing-mode" property is specified on either the fo:root nor its child, the fo:page-sequence, the initial value would be used for the writing mode for the content that fills the region reference area. writing-mode特性がfo:root又はその子fo:page-sequenceに全く指定されないならば,初期値は,区画参照領域を満たす内容のための表記方向に使用される。 The initial value of "writing-mode" is "lr-tb". “writing-mode”の初期値は“lr-tb”である。

If, however, the above line that reads: しかし,上にある行

<fo:page-sequence master-name="default-sequence">

becomes が,

<fo:page-sequence master-name="default-sequence"
                  writing-mode="from-page-master-region()">

then the computed value of the "writing-mode" property on the region definitions would be used when instantiating all the viewport/reference area pairs. である場合,区画定義での“writing-mode”特性の計算値は,すべての表示/参照領域のペアが実体化されたときに使用される。 Thus for the xsl-region-body the specification on the region definition for "xsl-region-body" would be used and the content would receive vertical formatting instead of the default horizontal formatting. そのため,xsl-region-bodyに,“xsl-region-body”のための領域定義に関する規定が使用される。そして,内容はデフォルトの水平フォーマット化の代わりに垂直フォーマット化を受ける。 Similarly for the xsl-region-before, the computed value of the "writing-mode" on the region definition would be used, in this case the initial value of "lr-tb" inherited from fo:root and the content of the xsl-region-before would be formatted horizontally. xsl-region-beforeと同様に,区画定義の“writing-mode”の計算値が使用される。 この場合,“lr-tb”の初期値がfo:rootから継承され,xsl-region-beforeの内容が水平にフォーマットされる。

object from-table-column(NCName?)

The from-table-column function returns the inherited value of the property whose name matches the argument specified, or if omitted for the property for which the expression is being evaluated, from the fo:table-column whose column-number matches the column for which this expression is evaluated and whose number-columns-spanned also matches any span. from-table-column関数は,名前が指定された引数にマッチする特性の継承値を返す。又は名前が省略されていた場合は,式が評価される特性の継承値を返す。この特性は,そのcolumn-numberがこの式が評価される列にマッチし,number-columns-spannedも任意のまたがりにマッチするfo:table-columに属している。 If there is no match for the number-columns-spanned, it is matched against a span of 1. マッチするnumber-columns-spannedが存在しない場合は,1のまたがりにマッチする。 If there is still no match, the initial value is returned. それでもなおどれともマッチしない場合は,初期値が返される。 If the argument specifies a shorthand property and if the expression only consists of the from-table-column function with an argument matching the property being computed, it is interpreted as an expansion of the shorthand with each property into which the shorthand expands, each having a value of from-table-column with an argument matching the property. 引数が簡略記述特性を指定し,計算された特性にマッチする引数をもつfrom-table-column関数だけで式が構成される場合は,簡略記述が各特性に展開する簡略記述の展開と解釈され,それぞれがその特性にマッチする引数をもつfrom-table-columnの値をもつ。 It is an error if arguments matching a shorthand property are used in any other way. 簡略記述特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。 Similarly, if the argument specifies a property of a compound datatype and if the expression only consists of the from-table-column function with an argument matching the property being computed, it is interpreted as an expansion with each component of the compound property having a value of from-table-column with an argument matching the component. 同様に,式が複合データ型の特性として記述される場合,及び式が計算される特性にマッチする引数をもつfrom-table-column関数だけからなる場合,それはその構成要素にマッチする引数をもつfrom-table-columnの値をもつ複合特性の各構成要素に展開されて解釈される。 It is an error if arguments matching a property of a compound datatype are used in any other way. 複合データ型の特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。 It is also an error to use this function on formatting objects that are not an fo:table-cell or its descendants. fo:table-cell又はその子孫ではないフォーマット化オブジェクトでこの関数を使用するのも,誤りである。

numeric proportional-column-width(numeric)

The proportional-column-width function returns N units of proportional measure where N is the argument given to this function. proportional-column-width関数は,プロポーショナル測度のN単位を返す。この場合のNは,この関数に提供された引数である。 The column widths are first determined ignoring the proportional measures. 列幅は,最初に,プロポーショナル測度を無視して決定される。 The difference between the table-width and the sum of the column widths is the available proportional width. 表の幅と列幅の合計との差は,有効なプロポーショナル幅である。 One unit of proportional measure is the available proportional width divided by the sum of the proportional factors. プロポーショナル測定の一単位は,プロポーショナル係数の合計によって分割される有効なプロポーショナル幅である。 It is an error to use this function on formatting objects other than an fo:table-column. fo:table-column以外のフォーマット化オブジェクトでこの関数を使用するのは,誤りである。 It is also an error to use this function if the fixed table layout is not used. 固定表配置を使用しない場合に,この関数を使用するのも誤りである。

object merge-property-values(NCName?)

The merge-property-values function returns a value of the property whose name matches the argument, or if omitted for the property for which the expression is being evaluated. merge-property-values関数は,名前が引数にマッチする特性の値を返す。又は名前が省略されていた場合は,式が評価される特性の値を返す。 The value returned is the specified value on the last fo:multi-property-set, of the parent fo:multi-properties, that applies to the User Agent state. 返される値は,親fo:multi-propertiesの最後のfo:multi-property-setで,利用者エージェントの状態に適用される指定値である。 If there is no such value, the computed value of the parent fo:multi-properties is returned. このような値が存在しない場合,親fo:multi-propertiesの計算値が返される。 If the argument specifies a shorthand property and if the expression only consists of the merge-property-values function with an argument matching the property being computed, it is interpreted as an expansion of the shorthand with each property into which the shorthand expands, each having a value of merge-property-values with an argument matching the property. 引数が簡略記述特性を指定し,計算された特性にマッチする引数をもつmerge-property-values関数だけで式が構成される場合は,簡略記述が各特性に展開する簡略記述の展開と解釈され,それぞれがその特性にマッチする引数をもつmerge-property-valuesの値をもつ。 It is an error if arguments matching a shorthand property are used in any other way. 簡略記述特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。 Similarly, if the argument specifies a property of a compound datatype and if the expression only consists of the merge-property-values function with an argument matching the property being computed, it is interpreted as an expansion with each component of the compound property having a value of merge-property-values with an argument matching the component. 同様に,式が複合データ型の特性として記述される場合,及び式が計算される特性にマッチする引数をもつmerge-property-values関数だけからなる場合,それはその構成要素にマッチする引数をもつmerge-property-valuesの値をもつ複合特性の各構成要素に展開されて解釈される。 It is an error if arguments matching a property of a compound datatype are used in any other way. 複合データ型の特性にマッチする引数がその他の方法で使用される場合はいずれも,誤りである。

Note:注記

The test for applicability of a User Agent state is specified using the "active-state" property. 利用者エージェントの状態の適用能力に関する検査は,“active-state”特性を使用して,指定される。

It is an error to use this function on formatting objects other than an fo:wrapper that is the child of an fo:multi-properties. fo:multi-propertiesの子であるfo:wrapper以外のフォーマット化オブジェクトにこの関数を使用するのは誤りである。

5.11 Property Datatypes 特性のデータ型

Certain property values are described in terms of compound datatypes, in terms of restrictions on permitted number values, or strings with particular semantics. 複合データ型,許容される数値,又は特定の意味論をもつ文字列によって,記述される特性値も存在する。

The compound datatypes, such as space, are represented in the result tree as multiple attributes. 空間などの複合データ型は,複数の属性として結果木に表示される。 The names of these attributes consist of the property name, followed by a period, followed by the component name. これらの属性の名前は,特性名から構成される。特性名の後ろにはピリオドが続き,その後には構成要素名が続く。 For example a "space-before" property may be specified as: 例えば,“space-before”特性の指定は次であってもよい。

space-before.minimum="2.0pt"
space-before.optimum="3.0pt"
space-before.maximum="4.0pt"
space-before.precedence="0"
space-before.conditionality="discard"

A short form of compound value specification may be used, in cases where the datatype has some <length> components and for the <keep> datatype. データ型に <length> 構成要素が幾つか存在する場合,及びデータ型が <keep> である場合は,簡略形式の複合値規定を使用してもよい。 In the first case the specification consists of giving a <length> value to an attribute with a name matching a property name. 前者の場合,規定は,名前が特性名とマッチする属性に <length> 値を指定する。 Such a specification gives that value to each of the <length> components and the initial value to all the non-<length> components. このような規定は,その値を各 <length> 構成要素に指定し,初期値を <length> 以外のすべての構成要素に指定する。 For example: 次に例を示す。

space-before="4.0pt"

is equivalent to a specification of これは,次の指定と等価である。

space-before.minimum="4.0pt"
space-before.optimum="4.0pt"
space-before.maximum="4.0pt"
space-before.precedence="0"
space-before.conditionality="discard"

Note:注記

Since a <percentage> value, that is not interpreted as "auto", is a valid <length> value it may be used in a short form. “auto”とは解釈されない <percentage> 値は,妥当な <length> 値でないため,それを簡略形式の中で使用してよい。

For the <keep> datatype the specification consists of giving a value that is valid for a component to an attribute with a name matching a property name. データ型が <keep> である場合,規定は,名前が特性名にマッチする属性に,構成要素の妥当な値を提供する。 Such a specification gives that value to each of the components. このような規定は,その値を各構成要素に指定する。 For example: 次に例を示す。

keep-together="always"

is equivalent to a specification of これは,次の指定と等価である。

keep-together.within-line="always"
keep-together.within-column="always"
keep-together.within-page="always"

Short forms may be used together with complete forms; the complete forms have precedence over the expansion of a short form. 完全形式と共に簡略形式を使用してもよい。完全形式は,簡略形式の展開に優先する。 For example: 次に例を示す。

space-before="4.0pt"
space-before.maximum="6.0pt"

is equivalent to a specification of これは,次の指定と等価である。

space-before.minimum="4.0pt"
space-before.optimum="4.0pt"
space-before.maximum="6.0pt"
space-before.precedence="0"
space-before.conditionality="discard"

Compound values of properties are inherited as a unit and not as individual components. 特性の複合値は,個々の構成要素としてではなく,単位として継承される。 After inheritance any complete form specification for a component is used to set its value. 継承の後,構成要素に関する完全形式のどのような指定も,その値を設定するために用いられる。

If the computed value of a corresponding relative property is set from the corresponding absolute property, the latter is used in determining all the components of the former. 対応する相対特性の計算値が対応する絶対特性から設定されるとき,後者は,前者のすべての構成要素を決定するのに用いられる。

Note:注記

For example, assuming a block-progression-direction of "top-to-bottom", in a specification of 次の指定において,“top-to-bottom”のブロック進行方向が仮定される例を考える。

margin-top="10.0pt"
space-before.minimum="4.0pt"

the explicit setting of one of the components of the corresponding relative property will have no effect. 対応する相対特性の構成要素の一つを明示的に設定することは,効果をもたない。

The following defines the syntax for specifying the datatypes usable in property values: 特性値に利用可能なデータ型を指定する構文を以下に定義する。

<integer>

A signed integer value which consists of an optional '+' or '-' character followed by a sequence of digits. 符号付きの整数値。任意の“+”又は“-”文字の後に数字のシーケンスが続くことによって構成される。 A property may define additional constraints on the value. 特性は値に追加の制約を定義してもよい。

Note:注記

A '+' sign is allowed for CSS2 compatibility. “+”記号は,CSS2との互換性のために許容される。

<number>

A signed real number which consists of an optional '+' or '-' character followed by a sequence of digits followed by an optional '.' character and sequence of digits. 符号付きの実数。任意の“+”又は“-”文字に数字のシーケンスが続き,その後に任意の“.”文字と文字のシーケンスが続くことによって構成される。 A property may define additional constraints on the value. 特性は値に追加の制約を定義してもよい。

<length>

A signed length value where a 'length' is a real number plus a unit qualification. 符号付きの長さの値。この場合,“length”は実数に単位修飾を加えたものである。 A property may define additional constraints on the value. 特性は値に追加の制約を定義してもよい。

<length-range>

A compound datatype, with components: minimum, optimum, maximum. minimum,optimum,maximumの構成要素をもつ複合データ型。 Each component is a <length>. 各構成要素は <length> である。 If "minimum" is greater than optimum, it will be treated as if it had been set to "optimum". “minimum”がoptimumより大きい場合,それは“optimum”に設定されたように処理される。 If "maximum" is less than optimum, it will be treated as if it had been set to "optimum". “maximum”がoptimumより小さい場合,それは“optimum”に設定されたように処理される。 A property may define additional constraints on the values, and additional permitted values and their semantics; e.g. 'auto' or <percentage>. 特性は値に追加の制約,追加の許容値及びそれらのセマンティクスを定義してもよい。例えば,“auto”又は <percentage> である。

<length-conditional>

A compound datatype, with components: length, conditionality. length,conditionalityの構成要素をもつ複合データ型。 The length component is a <length>. lengthの構成要素は <length> である。 The conditionality component is either "discard" or "retain". conditionalityの構成要素は,“discard”又は“retain”のいずれかである。 A property may define additional constraints on the values. 特性は値に追加の制約を定義してもよい。

<length-bp-ip-direction>

A compound datatype, with components: block-progression-direction, and inline-progression-direction. block-progression-direction及びinline-progression-directionの構成要素をもつ複合データ型。 Each component is a <length>. 各構成要素は <length> である。 A property may define additional constraints on the values. 特性は値に追加の制約を定義してもよい。

<space>

A compound datatype, with components: minimum, optimum, maximum, precedence, and conditionality. minimum,optimum,maximum,precedence及びconditionalityの構成要素をもつ複合データ型。 The minimum, optimum, and maximum components are <length>s. minimum,optimum及びmaximum構成要素は,<length> である。 The precedence component is either "force" or an <integer>. precedenceの構成要素は,“force”又は <integer> のいずれかである。 The conditionality component is either "discard" or "retain". conditionalityの構成要素は,“discard”又は“retain”のいずれかである。 If "minimum" is greater than optimum, it will be treated as if it had been set to "optimum". “minimum”がoptimumより大きい場合,それは“optimum”に設定されたように処理される。 If "maximum" is less than optimum, it will be treated as if it had been set to "optimum". “maximum”がoptimumより小さい場合,それは“optimum”に設定されたように処理される。

<keep>

A compound datatype, with components: within-line, within-column, and within-page. within-line,within-column及びwithin-pageを構成要素にもつ複合データ型。 The value of each component is either "auto", "always", or an <integer>. 各構成要素の値は,“auto”,“always”又は <integer> のいずれかである。

<angle>

A representation of an angle consisting of an optional '+' or '-' character immediately followed by a <number> immediately followed by an angle unit identifier. 角度の表現は,任意の“+”又は“-”文字の直後に <number> が続き,その直後に角度単位識別子が続く。 Angle unit identifiers are: 'deg' (for degrees), 'grad' (for grads), and 'rad' (for radians). 角度の単位識別子は“deg”(度の省略形),“grad”(グラードの省略形)及び“rad”(ラジアンの省略形)である。 The specified values are normalized to the range 0deg to 360deg. 指定値は,0度から360度までの範囲に正規化される。 A property may define additional constraints on the value. 特性は値に追加の制約を定義してもよい。

<percentage>

A signed real percentage which consists of an optional '+' or '-' character followed by a sequence of digits followed by an optional '.' character and sequence of digits followed by '%'. 符号付きの実パーセンテージ。これは,任意の“+”又は“-”文字の後ろに数字のシーケンスが続き,その後に任意の“.”文字と数字のシーケンス,その後に“%”が続くことによって構成される。 A property may define additional constraints on the value. 特性は値に追加の制約を定義してもよい。

<character>

A single Unicode character valid in accordance with production [2] of [XML] or [XML 1.1]. [XML 1.0]又は[XML 1.1]の生成規則 [2] によって有効な単一のUnicode文字。 For example, "c" or "&#x2202;". 例えば,“c”又は“&#x2202;”。

<string>

A sequence of characters. 文字シーケンス。

Note:注記

Given the allowable Expression Value Conversions (5.9.12 Expression Value Conversions), a property value of type <string> must be a quoted value, an NCName, or a expression that evaluates to a <string>; anything else (e.g., an integer) is an error. 式値変換(5.9.12 式値変換)で許可されているように,<string> 型の特性値は,引用値又はNCName又は <string> に評価される式でなければならない。その他(例えば整数)は誤りである。 An implementation may recover from this error by treating the unevaluated property value as a string. 実装では,文字列として評価されない特性値を扱うことによって,この誤りから回復してもよい。

<name>

A string of characters representing a name. 名前を表示する文字列。 It must conform to the definition of an NCName in [XML Names] or [XML Names 1.1]. [XML Names 1.0]又は[XML Names 1.1]のNCNameの定義に適合しなければならない。

<family-name>

A string of characters identifying a font. フォントを識別する文字列。

<color>

Either a string of characters representing a keyword or a color function defined in 5.10.2 Color Functions. キーワードを表示する文字列,又は,5.10.2 色の関数 で定義される色の関数のいずれかである。 The list of keyword color names is: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, and yellow. キーワード色名のリストは,aqua,black,blue,fuchsia,gray,green,lime,maroon,navy,olive,purple,red,silver,teal,white及びyellowである。

<country>

A string of characters conforming to an ISO 3166 ([ISO3166-1], [ISO3166-2], and [ISO3166-3]) country code. ISO 3166[ISO3166-1][ISO3166-2]及び[ISO3166-3]国名コードに適合する文字列。

<language>

A string of characters conforming to either a [ISO639-2] 3-letter terminology or bibliographic code or a [ISO639] 2-letter code representing the name of a language. [ISO639-2] 3文字の用語学用又は書誌用コード,又は[ISO639-1]言語の名前を示す2文字コードに適合する文字列。

<script>

A string of characters conforming to an ISO 15924 script code. ISO 15924スクリプトコードに適合する文字列。

<id>

A string of characters conforming to the definition of an NCName in [XML Names] or [XML Names 1.1] and is unique within the stylesheet. [XML Names 1.0]又は[XML Names 1.1]NCNameの定義に適合し,スタイルシート内で一意である文字列。

<idref>

A string of characters conforming to the definition of an NCName in [XML Names] or [XML Names 1.1] and that matches an ID property value used within the stylesheet. [XML Names 1.0]又は[XML Names 1.1]NCNameの定義に適合し,スタイルシート内で使用されるid特性値にマッチする文字列。

<uri-specification>

A sequence of characters that is "url(", followed by optional white space, followed by an optional single quote (') or double quote (") character, followed by a URI reference as defined in [RFC2396]IRI reference as defined in [RFC3987], followed by an optional single quote (') or double quote (") character, followed by optional white space, followed by ")". “url(”の後に任意の空白,その後に任意の一重引用符(')又は二重引用符("),更に[RFC2396]で定義されるURI[RFC3987]で定義されるIRI参照が続き,その後に一重引用符(')又は二重引用符("),任意の空白,更に“)”が続く文字のシーケンス。 The two quote characters must be the same and must both be present or absent. 二つの引用符は同じでなければならず,両方共存在するか又は両方共存在しないかでなければならない。 If the URIIRI reference contains a single quote, the two quote characters must be present and be double quotes. URIIRI参照の中に一重引用符がある場合は,引用符が二つ存在しなければならず,更に二重引用符でなければならない。

Note:注記

The definition differs from that in CSS2 in that this Recommendation allows IRIs whereas CSS2 only allows URIs. この規格標準仕様書(TS)の定義ではIRIが許されるが,CSS2ではURIだけが許される点が異なっている。

<shape>

"rect (" <top> <right> <bottom> <left> ")" where <top>, <bottom> <right>, and <left> specify offsets from the respective sides of the content rectangle of the area. “rect(” <top> <right> <bottom> <left> “)”。ここに <top>,<bottom>,<right> 及び <left> は,領域の内容長方形のそれぞれの側からのオフセットを指定する。

<top>, <right>, <bottom>, and <left> may either have a <length> value or 'auto'. <top>,<right>,<bottom> 及び <left> は,<length> 値又は“auto”でもよい。 Negative lengths are permitted. 負の長さも許される。 The value 'auto' means that a given edge of the clipping region will be the same as the edge of the content rectangle of the area (i.e., 'auto' means the same as '0pt'.) 値“auto”は,与えられた切取り区画の辺が領域の内容長方形の辺と同じになることを意味する(すなわち,“auto”は“0pt”と同じを意味する)。

<time>

A <number> immediately followed by a time unit identifier. 時間単位識別子がその直後にくる <number>。 Time unit identifiers are: 'ms' (for milliseconds) and 's' (for seconds). 時間単位識別子は,“ms”(ミリ秒)及び“s”(秒)である。

<frequency>

A <number> immediately followed by a frequency unit identifier. 周波数単位識別子がその直後にくる <number>。 Frequency unit identifiers are: 'Hz' (for Hertz) and 'kHz' (for kilo Hertz). 周波数単位識別子は,“Hz”(ヘルツ)及び“kHz”(キロヘルツ)である。