summaryrefslogtreecommitdiff
path: root/src/parse/language.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2011-03-12 17:16:31 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2011-03-12 17:16:31 +0000
commitbcb95bf5fa2c5cfd2e7c80f211f7fd6db6ce2f9a (patch)
tree74dbe0550203d2267ffab4641d834b435c420353 /src/parse/language.h
parentfeb0de14741e709472952abf5f7101a28a377c07 (diff)
downloadlibcss-bcb95bf5fa2c5cfd2e7c80f211f7fd6db6ce2f9a.tar.gz
libcss-bcb95bf5fa2c5cfd2e7c80f211f7fd6db6ce2f9a.tar.bz2
CSS3 Namespaces
svn path=/trunk/libcss/; revision=11972
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;