純粋な C 言語で実装された CSS パーサー: katana_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:45:41
オリジナル
1817 人が閲覧しました

katana は、Gumbo に触発されているため、Gumbo と同じいくつかの目標と機能を備えています。

目標と機能:

他の言語で簡単にラップできるシンプルな API。

    比較的軽量で、外部依存性がありません。
  • フラグメント解析のサポート。
  • 非目標:

可変性。 Katana は、スタイル シートを解析ツリーに変換し、その解析ツリーを一度に解放するように意図的に設計されています。解析ツリーの外部にノードやサブツリーを永続的に保存したり、プログラム内で任意のスタイルの変更を実行したりするようには設計されていません。この機能が必要な場合は、Katana 解析ツリーを、プログラムを操作する前に、プログラムの特定のニーズにより適した変更可能なスタイル表現に変換することをお勧めします。

  • ウィッシュリスト:

CSS 構文に完全準拠。

    ハッキング可能なダンプまたは印刷。
  • 堅牢で不良入力に対する耐性があります。
  • フル機能のエラーレポート。
  • 追加のパフォーマンスの改善。
  • 公式 W3C テストスイートでテスト済み。
例代:

#include "katana.h" int main() {  const char* css = "selector { property: value }";  KatanaOutput* output = katana_parse(css, strlen(css), KatanaParserModeStylesheet);  // Do stuff with output, eg. print the input style  katana_dump_output(output);  katana_destroy_output(output);}
ログイン後にコピー

项目主页:

http://www.open-open.com/lib/view/home/1429781099479

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート