Re: XPATH evaluation

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: XPATH evaluation
Дата
Msg-id 4DFB6E25.1000002@dunslane.net
обсуждение исходный текст
Ответ на Re: XPATH evaluation  (Radosław Smogura <rsmogura@softperience.eu>)
Ответы Re: XPATH evaluation  (Florian Pflug <fgp@phlo.org>)
Re: XPATH evaluation  (Nicolas Barbier <nicolas.barbier@gmail.com>)
Re: XPATH evaluation  (Radosław Smogura <rsmogura@softperience.eu>)
Список pgsql-hackers

On 06/17/2011 10:55 AM, Radosław Smogura wrote:
> Andrew Dunstan<andrew@dunslane.net>  Friday 17 of June 2011 15:47:04
>> 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 interpreted e.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
> Indeed, Infoset Spec, and XML Canonization Spec treats<foo></foo>  same, as
> <foo/>  - my wrong, but XML canonization preservs whitespaces, if I remember
> well, I think there is example.
>
> In any case if I will store image in XML (I've seen this), preservation of
> white spaces and new lines is important.

If you store images you should encode them anyway, in base64 or hex.

More generally, data that needs that sort of preservation should
possibly be in CDATA nodes.

cheers

andrew




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Jaime Casanova
Дата:
Сообщение: Re: [v9.2] Start new timeline for PITR
Следующее
От: Radosław Smogura
Дата:
Сообщение: Re: XPATH evaluation