In ABL SAX, namespace processing affects the behavior of:
The StartElement and EndElement callbacks
Attribute data
The following table describes the effect of namespace processing on the StartElement and EndElement callbacks.
Table 11. Effect of namespace processing on StartElement and EndElement
Where namespace processing is enabled
Where namespace processing is suppressed
If an element's name has a namespace prefix:
namespaceURI is the URI associated with the prefix
localName is the name as given in the XML document, without the prefix
qName is the name as given in the XML document
Whether or not an element's name has a namespace prefix:
namespaceURI is empty
localName is empty
qName is the name as given in the XML document (including the prefix, if one exists)
If an element's name has no prefix, then:
namespace URI is empty
localName is the name as given in the XML document
qName is the name as given in the XML document
If there is a default namespace in effect and an element name has no prefix, then:
namespaceURI is the URI of the default namespace
localName is the name as given in the XML document
qName is the name as given in the XML document (there is no prefix, since the default namespace does not specify a prefix)
The following table describes the effect of namespace processing on attribute data.
Table 12. Effect of namespace processing on attribute data
Where namespace processing is enabled
Where namespace processing is suppressed
The behavior is identical to element name behavior, except that a default namespace does not apply to attribute names, so an attribute with no prefix will never have a value for its namespaceURI.
Whether or not an attribute's name has a namespace prefix:
namespaceURI is empty
localName is empty
qName will be the name as given in the XML document (including any prefix)
For more information on namespace processing, see the reference entry for the SUPPRESS-NAMESPACE-PROCESSING attribute in OpenEdge Development: ABL Reference.