[
Lists Home |
Date Index |
Thread Index
]
----- Original Message -----
From: "Ed Davies" <edavies@nildram.co.uk>
> Perhaps StartStartTag or StartTagOpen or whatever can return an opaque
> element reference (could be a pointer to an internal structure or simply
> a nesting stack level count) which is then passed to StartTagClose and EndTag
> to allow early detection of mismatches. A bit more lightweight than
> passing the element name + namespace gubbins and maybe having to do
> string compares.
One could use the same approach for namespaces:
- genxDeclarePrefix takes prefix and uri and returns an opaque reference
(call just before genxStartTag at desired level)
- whereever you need this prefix mapping, just pass the reference to the
API (genxStartTag, genxAttribute) instead of separate uri/prefix pointers
- to undeclare a prefix, call genxDeclarePrefix with a NULL uri
(legal for default namespaces in version 1.0, legal for all namespaces in 1.1)
- to have a prefix auto-generated, call genxDeclarePrefix with a NULL prefix
(but a non-NULL uri)
- to have a default namespace declared, call genxDeclarePrefix
with the prefix "xmlns" (which is not a legal prefix)
Karl
|