On 06/17/2011 05:41 AM, Florian Pflug wrote:
> On Jun17, 2011, at 11:09 , Radosław Smogura wrote:
>> 1.
>> SELECT (XPATH('/root/*', '<root xmlns:o="http://olacle.com/db"
xmlns:p="http://postgresql.org/db"><o:db><a><b></b></a></o:db><p:db></p:db></root>'));
>> Produces:
>> "{"<o:db>
>> <a>
>> <b/>
>> </a>
>> </o:db>",<p:db/>}"
>> In above<b></b> was reduced to<b/> this is different infoset then input, and those notations are differently
interpretede.g. by XML Binding& WebServices. The 1st one will may be mapped to empty string, and 2nd one to to null.
> Oh, joy :-(
I thought these were basically supposed to be the same.
The XML Information Set for example specifically excludes:
The difference between the two forms of an empty element: |<foo/> |
and |<foo></foo>|.||||
|
See <http://www.w3.org/TR/2004/REC-xml-infoset-20040204/> Appendix D.
Note that this implies that <foo></foo> does not have content of an
empty string, but that it has no content.
|
cheers
andrew