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


W3C


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

W3Cワーキングドラフト 1999年4月7日


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

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


概要

この仕様書は、XML文書のプロローグに xml-stylesheet というターゲットの1個以上の処理命令を組み込むことにより、スタイルシートをその文書に結びつけることを可能にするものである。

この文書の位置づけ

この文書はW3Cのワーキングドラフトである。これがワーキングドラフト(作業草稿)または勧告案である間は、変更に服する。この文書は、何時にても他のW3C文書によって更新され、置換され、または廃止されることがある。W3Cワーキングドラフトを参照資料として利用したり、「進行中の作業」以外のものとして引用することは不適切である。

この仕様書は以前は勧告として提案されていたが、検討のために取り置かれていた時間内に受領した検討の量が少なすぎると思われるので、結局ワーキングドラフトの状態に戻されたものである。新しい検討期間は1999年4月末頃に始まるだろう。

この作業は、W3C XML アクティビティの一部である。

目次

1. xml-stylesheet 処理命令

付録

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

1. xml-stylesheet 処理命令

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

xml-stylesheet 処理命令は開始タグと同じように解析されるが、定義済み実体(entity)以外の実体を参照してはならないという例外がある。

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

xml-stylesheet 処理命令


[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 処理命令は、XML文書のプロローグの中ならばどこででも許される。XMLの文法は、プロローグの中で処理命令が許される場所を制約している。xml-stylesheet 処理命令は、その他の処理命令と同じく、これらの制約に服する。

以下の疑似属性が定義される。

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" が規定されていれば、その処理命令は <LINK REL="stylesheet"> の代わりに <LINK REL="alternate stylesheet"> の意味論を持つ。

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

こちらは、対応する処理命令つきの、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 処理命令も、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勧告. http://www.w3.org/TR/REC-html40 を見ること。
RFC2068
R. Fielding, J. Gettys, J. Mogul, H. Frystyk Nielsen, 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勧告. http://www.w3.org/TR/1998/REC-xml-19980210 を見ること。

B. 理屈 (非規範的)

処理命令を利用すると、主たる文書構造をアプリケーション特有の処理情報で汚染することが避けられる。これは、処理命令のねらいである。

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

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


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