summaryrefslogtreecommitdiff
path: root/src/parse/language.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/language.h')
-rw-r--r--src/parse/language.h17
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;