parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

элементарно

Misha v.3 21.10.2004 15:07 / 21.10.2004 15:11

<item value="$table.value"/>
и
<item value="Johnson&Johnson"/>
несмотря на то, что в $table.value содержатся такие-же буквы - разные вещи из-за того, что значение в $table.value пришло из БД, т.е. там буквы грязные. это равносильно написанию:
<item value="^taint[Johnson&Johnson]"/>
именно поэтому при конструировании xdoc символ & преобразуется, ибо согласно документации и нашим длиннющим объяснениям:
$xdoc[^xdoc::create{$xml}]
эквивалентно этому:
$xdoc[^xdoc::create{^untaint[xml]{$xml}}]
а ^untaint[xml]{} как раз найдет грязные буквы и в момент вызова xdoc:create заменит их.

P.S. принципиальное отличие - откуда взялись данные. аналогично когда вы в запрос подставляете WHERE name = '$form:name' вы не боитесь что кто-то введет в форме ' и развалит ваш запрос. по моему вам надо ещё раз перечитать доку/коммент/пример про taint/untaint