スタイルシートをXML文書に結びつける Version 1.0


W3C

PR-xml-stylesheet-19990114


スタイルシートをXML文書に結びつける
Version 1.0

W3C勧告提案 1999年1月14日


このバージョン(原文): http://www.w3.org/TR/1999/PR-xml-stylesheet-19990114
最新のバージョン: http://www.w3.org/TR/PR-xml-stylesheet
以前のバージョン: http://www.w3.org/TR/1998/WD-xml-stylesheet-19981001
編集者: James Clark ()

著作権  ©  1998 W3C (マサチューセッツ工科大学, フランス国立情報処理自動化研究所, 慶應義塾大学). すべての権利が留保されている。W3Cの免責(liability), 商標(trademark, 文書利用(document use), ソフトウェア使用許諾(software licensing)規則が適用される。

この文書の位置づけ

この文書は、W3C勧告提案 (Proposed Recommendation) であり、現在W3Cの会員による検討を受けているところである。

この仕様書に関する検討コメントは、1999年2月11日までに <www-xml-stylesheet-comments@w3.org> まで送られたい。公開のコメントのアーカイブが利用可能である。W3C会員は公式のコメントを、W3Cスタッフにしか見えないように <w3c-xml-stylesheet-review@w3.org> まで送ってもよい。

この仕様書は 1998年10月1日づけの公開ワーキングドラフトのリビジョンである。ワーキンググループは、この仕様書に対するこれ以上の本質的な変更はないと考え、勧告提案の検討期間中この仕様書をテストするために活発な実装を奨励する。ワーキンググループは、スタイルシートをXML文書へリンクするための追加的な機構が将来の仕様書において定義されることを期待する。

勧告提案としての公開は、W3C会員組織による裏書きを意味するものではない。これはまだドラフト文書であって、何時にても他の文書によって更新され、置換され、または廃止される場合がある。W3Cドラフトを「進行中の作業」以外のものとして引用することは不適切である。ドラフトの位置づけについては technical reports page を参照すること。

この作業は、W3C XML活動の一部である。

概要

この文書は、xml-stylesheet というターゲットをもつ1つ以上の処理命令(PI)を文書のプロローグ部分に組み込むことにより、スタイルシートをXML文書に結びつけられるようにする。

目次

1. xml-stylesheet PI

付録

A. 参照資料
B. 理屈(非規範的)

1. xml-stylesheet PI

スタイルシートは、ターゲットが xml-stylesheet であるPIを使うことにより、XML [XML10] 文書に結びつけることができる。このPIは、HTML 4.0 の <LINK REL="stylesheet">[HTML40] の挙動に従う。

xml-stylesheet PIは開始タグと同じように解析されるが、定義済み実体以外の実体が参照されてはならないという例外がある。

以下の基礎文法は、XML勧告 [XML10] における基礎文法と同じ表記法を使って与えられる。基礎文法内のここで定義されない記号は、XML勧告の中で定義される。

xml-stylesheet PI


[1] StylesheetPI ::= '<?xml-stylesheet' (S PseudoAtt)* S? '?>'
[2] PseudoAtt ::= Name S? '=' S? PseudoAttValue
[3] PseudoAttValue ::= '"' ([^"<&] | CharRef | PredefEntityRef)* '"'
      | "'" ([^'<&] | CharRef | PredefEntityRef)* "'"
[4] PredefEntityRef ::= '&amp;' | '&lt;' | '&gt;' | '&quot;' | '&apos;'

PseudoAttValue では、CharRef または PredefEntityRef は、通常のXMLアトリビュート値におけるのと同じ方法で解釈される。擬似アトリビュートの実際の値は、各参照がその参照するキャラクタによって置き換えられた後の値である。この置換は、XMLプロセッサにより自動的に実行されるものではない。

xml-stylesheet PIは、XML文書のプロローグ部分のどこででも許される。XMLの文法は、プロローグ部分の中でPIが許される箇所を制約する。xml-stylesheet PIは、他のPIと同じようにこれらの制約に服する。

以下の擬似アトリビュートが定義される。

href CDATA #REQUIRED
type CDATA #REQUIRED
title CDATA #IMPLIED
media CDATA #IMPLIED
charset CDATA #IMPLIED
alternate (yes|no) "no"

擬似アトリビュートの意味論は、HTML 4.0 の <LINK REL="stylesheet"> についてと全く同じであるが、alternate 擬似アトリビュートという例外がある。alternate="yes" が指定されれば、PIは <LINK REL="stylesheet"> の代わりに <LINK REL="alternate stylesheet"> の意味論をもつ。

HTTP [RFC2068], section 19.6.2.4 は、Link ヘッダを用いてスタイルシートをXML文書に結びつけることを認めている。HTTPの Link ヘッダによって指定されるリンクは、xml-stylesheet PIによって指定されるリンクよりも前に発生するものとみなされる。これは、HTML 4.0(section 14.6)においてと同じである。

こちらは、対応するPIつきの HTML 4.0 からの例である。

<LINK href="mystyle.css" rel="stylesheet" type="text/css">
<?xml-stylesheet href="mystyle.css" type="text/css"?>

<LINK href="mystyle.css" title="Compact" rel="stylesheet" type="text/css">
<?xml-stylesheet href="mystyle.css" title="Compact" type="text/css"?>

<LINK href="mystyle.css" title="Medium" rel="alternate stylesheet" type="text/css">
<?xml-stylesheet alternate="yes" href="mystyle.css" title="Medium" type="text/css"?>

複数の xml-stylesheet PIも、LINK REL="stylesheet" と全く同じ意味論をもって許される。たとえば、

<LINK rel="alternate stylesheet" title="compact" href="small-base.css" type="text/css">
<LINK rel="alternate stylesheet" title="compact" href="small-extras.css" type="text/css">
<LINK rel="alternate stylesheet" title="big print" href="bigprint.css" type="text/css">
<LINK rel="stylesheet" href="common.css" type="text/css">

であれば、これと等価ということになる。

<?xml-stylesheet alternate="yes" title="compact" href="small-base.css" type="text/css"?>
<?xml-stylesheet alternate="yes" title="compact" href="small-extras.css" type="text/css"?>
<?xml-stylesheet alternate="yes" title="big print" href="bigprint.css" type="text/css"?>
<?xml-stylesheet href="common.css" type="text/css"?>

A. 参照資料

HTML40
World Wide Web Consortium. HTML 4.0 Specification. W3C Recommendation. http://www.w3.org/TR/REC-html40 を見ること。
RFC2068
R. Fielding, J. Gettys, J. Mogul, H. Frystyk Nielsen, and T. Berners-Lee. Hypertext Transfer Protocol -- HTTP/1.1.. IETF RFC 2068. http://info.internet.isi.edu/in-notes/rfc/files/rfc2068.txt を見ること。
XML10
World Wide Web Consortium. Extensible Markup Language (XML) 1.0. W3C Recommendation. http://www.w3.org/TR/1998/REC-xml-19980210 を見ること。[拙訳あり]

B. 理屈(非規範的)

PIの利用は、主文書の構造をアプリケーション特有の処理情報で汚染することを避ける。これは、PIの設計が目指すところである。

主要なブラウザベンダーからの次のリリースに間に合うように完成できるスタイルシートリンクの仕様書について、緊急の必要性があった。実証済みの既存の機構に密接に基づいた単純な機構を選ぶことによってのみ、仕様書を時間内に完成してこの必要に沿うことができたのである。

このバージョンの仕様書のために選ばれた機構は、将来のバージョンのために計画される追加的な機構に関する制約ではない。これらがPIを使うという制約や、ソース文書にリンク情報を組み込むという制約さえもないのである。


どら猫本舗 (webmaster@doraneko.org)