[Home] [By Thread] [By Date] [Recent Entries]



----- Original Message ----- 
From: "Ed Davies" <edavies@n...>

> 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

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member