Details
Description
The XML specification allows an element to carry an xml:id attribute without the xml namespace being declared explicitly. In fact, if the xml namespace is declared, it must match http://www.w3.org/XML/1998/namespace. When the namespace is not declared explicitly, it appears that the guththila parser discards the incoming xml:id attributes without including them in the om.
For example, I receive a response message from a service that begins:
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:fw="http://frameware.xcentrisity.com/services/">
<env:Body>
<fw:getExemplarResponse responseMessage="master exemplar provided." name="customer" supportedMethods="browse browseNext browsePrevious create update delete retrieve">
<exemplar handle="master">
<cr-customer-record xml:id="Q375" type="xsd:string">
<cr-customer-id xml:id="Q376" type="xsd:string">
</cr-customer-id>
...
When linked with libxml, the client code sees two attributes, a type attribute and an xml:id attribute, attached to the element nodes. When linked with the guththila parser, only the type attribute is present.