FAQ

FAQ -- よくある質問とその答え

HTML_CSS の FAQ

1. 全般的な質問
1.1. 使用料は?
1.2. サポートはありますか?
1.3. バグを見つけました。どうしたらいいですか?
1.4. CSS って何ですか?
1.5. PEAR って何ですか?
2. ○○するには
2.1. PEAR なしで HTML_CSS を使うことはできますか?
2.2. あるセレクタのプロパティの値が知りたいのですが、そのプロパティが存在しない可能性もあります。

1. 全般的な質問

1.1. 使用料は?

自由にダウンロードして使用することができます。 しかし、著作権に関する注意書きは削除しないでください。 ライセンス を確認ください。

1.2. サポートはありますか?

はい。ただし、このドキュメントを読んでも答えが見つからない場合に限ります。 また、サポートをするためにはある程度の情報 (使用しているプラットフォームが Window か *nix か Mac か、 PHP のバージョン、インストールしている PEAR パッケージなど) が必要です。場合によってはあなたの書いたスクリプトそのものも必要かもしれません。

1.3. バグを見つけました。どうしたらいいですか?

PEAR のバグトラッカーで報告してください。

1.4. CSS って何ですか?

CSS ( Cascading Style Sheets の短縮形) は、ウェブドキュメントにスタイル (フォントや色、文字間隔など) を指定するためのシンプルな仕組みです。

HTML_CSS は、スタイルシート宣言を操作するメソッドを提供する PEAR パッケージです。

バージョン 1.0.0 では、スタールシートの検証用のメソッドはまだ提供していません。

1.5. PEAR って何ですか?

PEAR ( PHP Extension and Application Repository の短縮形) は、再利用可能な PHP コンポーネントのフレームワーク、 そしてその配布システムのことです。

PEAR マニュアルPEAR FAQ も忘れずに読んでください。

2. ○○するには

2.1. PEAR なしで HTML_CSS を使うことはできますか?

できます。まずは PEAR::HTML_Common のバージョン 1.2 以降をダウンロードします。

その中身 (Common.php ファイル) を、CSS.php が存在する HTML/ ディレクトリと同じ場所にコピーします。

そして最後に、独自のエラーハンドラを作成するか、エラーハンドラを無効にします。詳細は エラーハンドラ を参照ください。

2.2. あるセレクタのプロパティの値が知りたいのですが、そのプロパティが存在しない可能性もあります。

1.1.0 より前のリリースでは、それはできません。なぜなら HTML_CSS::getStyle() はそのプロパティが存在することを前提としているからです。 存在しなければ HTML_CSS_ERROR_NO_ELEMENT_PROPERTY を返します。

バージョン 1.1.0 では、これを実現するために新たな関数 HTML_CSS::grepStyle() を用意しています。

01: <?php
02: require_once 'HTML/CSS.php';
03:
04: function myErrorHandler()
05: {
06:     return PEAR_ERROR_PRINT;  // つねにすべてのエラーメッセージを表示します
07: }
08:
09: $styles = '
10: h1, h2, h3, h4 { padding: 1em; }
11: .highlight p, .highlight ul { margin-left: .5em; }
12: #main p, #main ul { padding-top: 1em; }
13: ';
14:
15: $prefs = array(
16:     'push_callback' => 'myErrorHandler',
17: );
18: $attribs = null;
19:
20: $css = new HTML_CSS($attribs, $prefs);
21: $css->parseString($styles);
22:
23: $css->getStyle('.highlight p', 'color');
24:
25: $styles = $css->grepStyle('/highlight/', '/^color$/');
26: echo '<pre>'; var_dump($styles); echo '</pre>';
27: ?>

4-7 行目、15-17 行目、そして 20 行目

独自のエラーハンドラを定義し、 23 行目で HTML_CSS::getStyle() がエラーを発生させたときに (メッセージを表示したうえで) スクリプトを続行させるようにしています。

9-13 行目、そして 21 行目

使用するスタイルシートは次のようになります。
h1, h2, h3, h4 { padding: 1em; }
.highlight p, .highlight ul { margin-left: .5em; }
#main p, #main ul { padding-top: 1em; }

23 行目、そして 25 行目

HTML_CSS::getStyle() がエラーを発生させ (独自のエラーハンドラがそれを表示し) ますが、 25 行目ではエラーなしで空の配列を返します。

理由: color というプロパティは .highlight p クラスセレクタには存在しないからです。