diff options
Diffstat (limited to 'src/parse/language.h')
-rw-r--r-- | src/parse/language.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/parse/language.h b/src/parse/language.h index 39b7222..0f1985c 100644 --- a/src/parse/language.h +++ b/src/parse/language.h @@ -19,6 +19,14 @@ #include "parse/propstrings.h" /** + * CSS namespace mapping + */ +typedef struct css_namespace { + lwc_string *prefix; /**< Namespace prefix */ + lwc_string *uri; /**< Namespace URI */ +} css_namespace; + +/** * Context for a CSS language parser */ typedef struct css_language { @@ -28,8 +36,9 @@ typedef struct css_language { parserutils_stack *context; /**< Context stack */ enum { - BEFORE_CHARSET, - BEFORE_RULES, + CHARSET_PERMITTED, + IMPORT_PERMITTED, + NAMESPACE_PERMITTED, HAD_RULE } state; /**< State flag, for at-rule handling */ @@ -37,6 +46,10 @@ typedef struct css_language { /** Interned strings */ lwc_string *strings[LAST_KNOWN]; + lwc_string *default_namespace; /**< Default namespace URI */ + css_namespace *namespaces; /**< Array of namespace mappings */ + uint32_t num_namespaces; /**< Number of namespace mappings */ + css_allocator_fn alloc; /**< Memory (de)allocation function */ void *pw; /**< Client's private data */ } css_language; |