Copper PDFはCSSの名前空間のための拡張機能 (CSS Namespace Enhancements) をサポートしており、複数の名前空間が混在するXMLをスタイル付けすることが出来ます。
CSSスタイルシート中で名前空間の接頭辞(prefix)とURIを指定するためには、 @namespace指示子を使って以下のように宣言してください。
/* デフォルトの名前空間のURIをhttp://www.w3.org/1999/xhtmlとする。 */ @namespace "http://www.w3.org/1999/xhtml"; /* 接頭辞rdfのURIをhttp://www.w3.org/1999/02/22-rdf-syntax-ns#とする。 */ @namespace rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
なお、互換性のためにURIの部分はurl(http://www.w3.org/1999/xhtml)という書き方も許されています。
スタイルシートの選択子(selector)で接頭辞を使う場合は、'|'で区切ります。 (':'でないことに注意してください。)
/* <pdf:Description>要素のスタイルを指定する。 */ rdf|Description { display: block; } /* ref:about属性がhttp://foo.com/barであるitem要素のスタイルを指定する。 */ item[rdf|about=http://foo.com/bar] { color: Red; }
選択子の記述方法と、意味は次のとおりです。
Copper PDFは、ページの番号付けのために ページの生成ごとに処理されるページカウンタを用意しています。 ページカウンタは、以下のように@pageルール内の counter-increment プロパティにより宣言します。
@page { counter-increment: page; }
ページカウンタの処理は、ページの内容が処理される直前に行われます。 また、ページカウンタは通常のカウンタと同様に、content プロパティ内でcounter関数により参照可能です。 従って、上記の宣言を行った場合、最初のページで content: counter(page); という宣言が処理されるとき、1が出力されます。
途中でページカウンタをリセットする場合 (例えば、目次が終わった後、本文で改めて番号を振りなおすなど) は、通常のカウンタと同様にcounter-reset を使うことが出来ます。 例えば、pageという名前を1に設定しなおす場合は counter-reset: page 1; と宣言します。