メモ代わり。てきとーに。 いや、ですからてきとーですって。 2年前ぐらいにPythonあたりでメールくれた方、ごめんなさい。メール紛失してしまい無視した形になってしまいました。。。

2008年5月18日日曜日

[mod_chxj] CSS変換部データ構造考え中

個人的メモ。

CSS変換部のデータ構造は


/**
* CSS property.
*/
typedef struct __css_property_t {
struct __css_property_t *next;
struct __css_property_t **ref;
char *name;
char *value;
} css_property_t;


/**
* CSS selector.
*/
typedef struct __css_selector_t {
struct __css_selector_t *next;
struct __css_selector_t **ref;
/* has tag or/and class or/and id */
char *name;
css_property_t *head;
css_property_t *tail;
} css_selector_t;

/**
* CSS stylesheet.
* Manager of css_selector_t.
*/
typedef struct __css_stylesheet_t {
css_selector_t *head;
css_selector_t *tail;
} css_stylesheet_t;

/**
* CSS current_stylesheet.
*/
typedef struct __css_current_stylesheet_t {
struct __css_property_t *head;
struct __css_property_t *tail;
struct __css_current_stylesheet_t *next;
struct __css_current_stylesheet_t **ref;
} css_current_stylesheet_t;

/**
* CSS current_stylesheet_stack_t.
*/
typedef struct __css_current_stylesheet_stack_t {
css_current_stylesheet_t *head;
css_current_stylesheet_t *tail;
} css_current_stylesheet_stack_t;

 


な感じかな。
足りないところがありそう。
ちなみに**refは馬鹿の一つ覚えの例。

.

0 コメント: