Here are some notes on implementation, as of Woodstox 4.0.

Namespace handling:

* Internally there is inconsistencies regarding storing of "no prefix" 
  and "no namespace URI", due to long and confusing history of how
  these should be returned. The planned division for handling this
  consistently in future is as follows:
  - "No prefix" is to be stored as NULL entries in all applicable
    arrays.
    + Conversion to "" that Stax API is to return is to be done not
      by internal components (InputElementStack, AttributeCollector),
      but by front-end (BasicStreamReader).
    + Event objects are to store values as they are to be returned
      via api, i.e. as "".
  - "No namespace" is to be stored as NULL internally
    + Conversion to "" that Stax API is to return is to be done not
      by internal components (InputElementStack, AttributeCollector),
      but by front-end (BasicStreamReader).
    + Event objects are to store values as they are to be returned
      via api, i.e. as "".
