日本工業規格(日本産業規格) JIS
X 4179 : 2010
拡張可能なスタイルシート言語(XSL)1.1
Extensible Stylesheet Language (XSL) ersion 1.1
序文
この規格は,2006年12月5日にWorld Wide Web Consortium(W3C)から公表されたExtensible Stylesheet
Language (XSL) ersion 1.1勧告を翻訳し,技術的内容を変更することなく作成した日本工業規格(日本産業規格)である。
なお,この規格で点線の下線を施してある箇所は,原勧告にはない事項である。
0 適用範囲
この規格は,スタイルシートを表現する言語である拡張可能なスタイルシート言語(XSL)の機能及び
構文について規定する。それは,次の二つの部分からなる。
− XML文書を変換するための言語。
− フォーマット化セマンティクスを指定するためのXML語い(彙)。
XSLスタイルシートは,XML文書のクラスの表示を,そのクラスのインスタンスが,フォーマット化
語い(彙)を使用するXML文書にどのように変換されるかを記述することによって指定する。
1 導入及び概要
この規格は,拡張可能なスタイルシート言語(XSL)を定義する。XSLは,スタイルシートを表現する
言語である。任意に構造化されたXML([XML 1.0]又は[XML 1.1])文書又はデータファイルのクラスがあ
るとき,設計者は,XSLスタイルシートを使用して,その構造化された内容をどのように表示するのが望
ましいか,すなわち,ウェブブラウザ若しくはハンドヘルド装置のウィンドウ,又はカタログ,報告書,
パンフレット若しくは書籍における物理的なページの集合,といった表示メディア上に,ソース内容がど
のようにスタイル付けされ,レイアウトされ,ページ付けされるのが望ましいか,に関する設計者の意図
を表現する。
注記 原勧告では,外部文書への参照は[XML 1.1]などといった記述から参照箇所にリンクされてい
る。ただし,この規格では参照箇所へのリンクは記載しない。代わりに,この記法によって附
属書Cの対応する項目を参照する。
1.1 スタイルシートの処理
XSLスタイルシートプロセサ(stylesheet processor)は,XMLの文書又はデータ,及びXSLスタイルシ
ートを受け取って,そのスタイルシートの設計者が意図したXMLソース内容の表示を作成する。この表
示処理には二つの局面が存在する。第1は,XMLのソース木から結果木を構築することであり,第2は,
結果木を解釈して,ディスプレイ上,紙面上,音声,その他のメディア上での表示に適するフォーマット
結果を生成することである。第1の局面を木変換(tree transformation)と呼び,第2の局面をフォーマッ
ト化(formatting)と呼ぶ。フォーマット化の処理は,フォーマッタ(formatter)が実行する。このフォー
マッタは,単にウェブブラウザ内のレンダリングエンジンであってもよい。
――――― [JIS X 4179 pdf 6] ―――――
2
X 4179 : 2010
木変換は,結果木の構造をソース木の構造とは大きく異なるものにすることを可能にする。例えば,元
のソース文書をフィルタ処理した選択として目次を追加できたり,ソースデータをソートされた表形式の
表示に再整理できたりする。結果木を構築するときに,木変換処理は,その結果木をフォーマットするの
に必要な情報も追加する。
フォーマット化は,結果木にフォーマット化セマンティクスを含めることによって可能となる。フォー
マット化セマンティクスは,フォーマット化オブジェクト(formatting objects)のクラスのカタログによっ
て表現される。結果木のノードがフォーマット化オブジェクトである。フォーマット化オブジェクトのク
ラスは,ページ,段落,表などの組版抽象概念を示す。字下げ制御,単語間隔及び文字間隔の制御,ウィ
ドウ及びオーファンの制御,並びにハイフン付けの制御といったフォーマット化特性(formatting properties)
の集合によって,これらの抽象化の表示に関するより精密な制御が与えられる。XSLでは,フォーマット
化オブジェクト及びフォーマット化特性のクラスが,表示の意図を表現するための語い(彙)を与える。
XSL処理モデルは,概念的であることだけを意図している。実装は,これらを別の処理として提供する
ことを必す(須)としていない。さらに,実装は,概念的XSL処理モデルを使用して処理される場合と同
じ結果を生成する場合は,どのような方法でソース文書を処理してもよい。詳細な概念的モデルを描いた
図を図1.1に示す。
図1.1−XSL の二つの処理,木変換及びフォーマット化
1.1.1 木変換
木変換が結果木を構築する。XSLでは,この木は要素及び属性の木(element and attribute tree)と呼ばれ,
主として“フォーマット化オブジェクト”名前空間(以下,fo名前空間という。)の中のオブジェクトを
もつ。この木では,フォーマット化オブジェクトは,XML要素として表現され,XMLの属性及び値のペ
アの集合によって表現される特性をもつ。フォーマット化オブジェクトの内容は,XML要素の内容である。
木変換は,XSLT勧告[XSLT]で規定される。この概念的処理を描いた図を図1.2に示す。
――――― [JIS X 4179 pdf 7] ―――――
3
X 4179 : 2010
図1.2−他の語い(彙)への変換
XSLスタイルシートは,木変換で使用される。スタイルシートは,木構築規則の集合を含む。木構築規
則は,二つの部分をもつ。その一つはソース木の中の要素と一致するパタンであり,もう一つは結果木の
一部を構築するテンプレートである。これによって,類似したソース木構造をもつ広範な分野の文書に対
してスタイルシートを適用することが可能になる。
XSL及びXSLTの実装には,木構築の結果をXML文書として出力できるものもある。これは,フォー
マット化オブジェクト及びフォーマット化特性を含むXML文書を出力することを可能にする。この機能
は,XSLプロセサにとって必要なものではなく,奨励されてもいない。しかし,既知のクライアントのた
めの入力を準備するサーバのように,これが重要となる場合がある。例えば,WAP
(http://www.wapforum.org/faqs/index.htm)サーバが,WAP処理可能なハンドヘルド装置のために特殊化さ
れた入力を準備する方法がこの場合に当たる。クライアントがフォーマット化のオブジェクト及び特性を
受け取ることができることを送信側が知らないか,又は送信された文書がフォーマット化のオブジェクト
及び特性をもつ文書の構築のときに使用されるソース文書への参照を含まないかのいずれかの場合,アク
セス可能性を保つために,ウェブシステムの設計者は,フォーマット化のオブジェクト及び特性を含む文
書の送信を要求(又は使用)する体系を開発しないことが望ましい。
1.1.2 フォーマット化
フォーマット化は,フォーマット化オブジェクト木形式の結果木を解釈し,fo名前空間におけるXML
の要素及び属性の木が構築されたスタイルシートの設計者が意図する表示を生成する。
XSLが対応するフォーマット化オブジェクトの語い(彙),つまりfo:要素型の集合は,設計者に利用可
能な組版抽象概念の集合を表現する。セマンティクスの上では,各フォーマット化オブジェクトは,ペー
ジ付け,レイアウト及びスタイル付けの情報の一部に関する規定を表現する。それらの情報は,結果木全
体をフォーマット化した結果として,そのフォーマット化オブジェクトの内容に適用される。各フォーマ
ット化オブジェクトのクラスは,特定の種類のフォーマット化の振る舞いを表現する。例えば,ブロック
フォーマット化オブジェクトクラスは,段落内容の行への分割を表現する。規定の他の部分は,他のフォ
ーマット化オブジェクトから導かれてもよい。例えば,段落のフォーマット化(ブロックフォーマット化
オブジェクト)は,ブロックフォーマット化オブジェクトの特性の規定にも,フォーマッタがブロックを
配置するレイアウト構造の規定にも依存する。
――――― [JIS X 4179 pdf 8] ―――――
4
X 4179 : 2010
フォーマット化オブジェクトのインスタンスと関連付けられる特性は,そのオブジェクトのフォーマッ
ト化を制御する。例えば“color”などの幾つかの特性は,フォーマット結果を直接指定する。“space-before”
などの他の特性は,特定のフォーマット結果を指定せず,可能なフォーマット結果の集合を制約するだけ
である。フォーマッタは,例えば外観など他の観点から選択を行うこともできる。
フォーマット化は,領域木(area tree)と呼ばれる幾何的領域の木の生成から成る。幾何的領域は,一連
の幾つかのページ(ウェブブラウザは通常,1ページを使用する。)上に位置付けされる。各幾何的領域は,
ページの上に置かれ,その領域に何を表示するかの指定をもっており,さらに,背景,パディング及び境
界をもってもよい。例えば,単一文字のフォーマット化は,文字を視覚的に表示するのに使うグリフを保
持するために十分な大きさの領域を生成し,このグリフがこの領域に表示される。これらの領域は入れ子
になってもよい。例えば,グリフは,行内,ブロック内,ページ内などに位置付けされてもよい。
レンダリングは,領域木,すなわち(領域のページ及びその集まりによる)表示の抽象モデルを取り込
んで,コンピュータ表示画面上のウェブブラウザウィンドウ,紙シートなどの関連メディア上へ表示を行
う。この規格では,レンダリングのセマンティクスは,詳細に記述されない。
フォーマット化の第1段階は,XSLT変換によって得られる要素及び属性の木を“オブジェクト化する”
ことである。木をオブジェクト化することとは,基本的には,木の要素をフォーマット化オブジェクトノ
ードに転じ,属性を特性指定に転じることから構成される。この段階の結果は,フォーマット化オブジェ
クト木(formatting object tree)となる(図1.3参照)。
図1.3−XSL フォーマット化オブジェクト木の構築
オブジェクト化の段階の一部として,結果木に現れる文字は,fo:characterノードによって置換される。
空白文字だけから構成され,対応するフォーマット化オブジェクトがfo:characterノードを子として許容し
ない要素の子であるテキストノードの文字は無視される。対応するフォーマット化オブジェクトが
fo:characterノードを子として許容しない要素内の他の文字は誤りである。
fo:instream-foreign-objectの内容はオブジェクト化されない。その代わりに,fo:instream-foreign-object要
――――― [JIS X 4179 pdf 9] ―――――
5
X 4179 : 2010
素を表現するオブジェクトは,要素及び属性の木の適切なノードを指し示す。同様に,fo:declarationのど
のような非XSL名前空間の子要素もオブジェクト化されない。その代わりに,fo:declaration要素を表現す
るオブジェクトは,要素及び属性の木の適切なノードを指し示す。
フォーマット化の第2段階は,フォーマット化オブジェクト木を洗練化し(refine),洗練化されたフォ
ーマット化オブジェクト木(refined formatting object tree)を生成することである。洗練化の過程は,特性
(property)から特色(trait)への対応付けを扱う。これは,次からなる。
a) 個々の特性への簡略記述の展開。
b) 対応する特性の対応付け。
c) 計算値の決定(式評価を含んでもよい。)。
d) hite-space-treatment特性及びlinefeed-treatment特性の効果の取扱い。
e) 継承。
洗練化の詳細については,箇条5にある。
洗練化の段階を,図1.4に示す。
図1.4−フォーマット化オブジェクト木の洗練化
フォーマット化の第3段階は,領域木の構築である。領域木は,各フォーマット化オブジェクトのセマ
ンティクスに記述されるとおりに生成される。各フォーマット化オブジェクトクラスに適用可能な特色は,
領域の生成方法を制御する。すべてのフォーマット化特性は,すべてのフォーマット化オブジェクトに指
定されてもよいが,各フォーマット化オブジェクトクラスに対しては,フォーマット化特性の部分集合だ
けが,そのクラスのオブジェクトのための特色を決定するのに使われる。
領域生成を,図1.5及び図1.6に示す。
――――― [JIS X 4179 pdf 10] ―――――
次のページ PDF 11
JIS X 4179:2010の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.240 : 情報技術(IT)の応用 > 35.240.30 : 情報,ドキュメンテーション及び出版業務におけるITの応用
JIS X 4179:2010の関連規格と引用規格一覧
- 規格番号
- 規格名称