katana は、Gumbo に触発されているため、Gumbo と同じいくつかの目標と機能を備えています。
目標と機能:
他の言語で簡単にラップできるシンプルな API。
可変性。 Katana は、スタイル シートを解析ツリーに変換し、その解析ツリーを一度に解放するように意図的に設計されています。解析ツリーの外部にノードやサブツリーを永続的に保存したり、プログラム内で任意のスタイルの変更を実行したりするようには設計されていません。この機能が必要な場合は、Katana 解析ツリーを、プログラムを操作する前に、プログラムの特定のニーズにより適した変更可能なスタイル表現に変換することをお勧めします。
CSS 構文に完全準拠。
#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