Re: [xml-dev] genx - consensus items

From
Karl Waclawek <>
To
Date
2004-01-23T15:10:19Z
ID
<002101c3e1c3$03f3af80$9e539696@citkwaclaww2k>
Thread
Re: [xml-dev] genx - consensus items
----- Original Message ----- 
From: "Ed Davies" <>

> 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