Namespaces
There are two aspects to namespace support:
*First, the generated marshaler and unmarshaler read and write namespace-qualified XML according to the schema definitions.
*Second, HydraExpress uses namespaces to generate classes in a scope that is unique to the defined namespace.
For the former, HydraExpress passes rwsf::XmlName instances to the reader and writer for all fully qualified names. The header file for a complex type contains static constant rwsf::XmlName instances for the name of the complexType as well as any child elements and attributes that it defines. If the targetNamspace attribute on the XML Schema is present, this is the URI used for any namespace qualified structures:
*Types are always namespace qualified.
*Top-level elements (i.e., elements that occur directly under the schema declaration) are always namespace qualified.
*Other elements are namespace qualified if either:
*The element declaration in the schema defines the form attribute as qualified.
*The element declaration does not define the form attribute, and the schema declaration defines the elementFormDefault attribute as qualified.
*Attributes are namespace qualified if either:
*The attribute declaration in the schema defines the form attribute as qualified.
*The attribute declaration does not define the form attribute, and the schema declaration defines the attributeFormDefault attribute as qualified.
Otherwise, elements and attributes are not to be namespace qualified, and only the local name is used.