Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 XMLTRANSFORM заменяет amp; на #38;  [new]
iluxer
Member

Откуда:
Сообщений: 48
При применении XMLTRANSFORM amp; заменяется на #38;
Это очень сильно мешает. С другими спецсимволами также.
Из-за чего это происходит?
Интересно, это глюк функции, глюк XLS или что-то где-то не указано ?

SELECT XMLTRANSFORM(XMLTYPE('<test>Johnson '||CHR(38)||'amp; Johnson</test>
                     ')
                   , XMLTYPE('<?xml version=''1.0''?>
                              <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
                              <xsl:template match="/">
                                  <test><xsl:value-of select="test"/></test>                                    
                              </xsl:template>
                              </xsl:stylesheet>                                                                    
                   ')).GetStringVal() 
FROM dual
9 мар 11, 18:03    [10345359]     Ответить | Цитировать Сообщить модератору
 Re: XMLTRANSFORM заменяет amp; на #38;  [new]
Zloxa
Member

Откуда: СССР ☭
Сообщений: 1033
10.2.0.3.0 не заменяет
9 мар 11, 18:22    [10345496]     Ответить | Цитировать Сообщить модератору
 Re: XMLTRANSFORM заменяет amp; на #38;  [new]
-2-
Member

Откуда:
Сообщений: 15330
SQL> set scan off
SQL> SELECT XMLTRANSFORM(XMLTYPE('<test>Johnson & Johnson</test>
                     ')
                   , XMLTYPE('<?xml version=''1.0''?>
                              <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
                              <xsl:template match="/">
                                  <test><xsl:value-of select="test"/></test>                                    
                              </xsl:template>
                              </xsl:stylesheet>                                                                    
                   ')).GetStringVal() хмл
FROM dual;

ХМЛ                                 
------------------------------------
                                    
<test>Johnson & Johnson</test>  

9 мар 11, 18:52    [10345635]     Ответить | Цитировать Сообщить модератору
 Re: XMLTRANSFORM заменяет amp; на #38;  [new]
iluxer
Member

Откуда:
Сообщений: 48
Ясно, спасибо, выходит поведение этой штуки от версии зависит
Этот баг проявляется на 11g (11.1.0.6.0)
9 мар 11, 20:47    [10346016]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить