XMLTRANSFORM заменяет amp; на #38;

iluxer
Дата: 09.03.2011 18:03:25
При применении 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
Zloxa
Дата: 09.03.2011 18:22:23
10.2.0.3.0 не заменяет
-2-
Дата: 09.03.2011 18:52:36
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>  

iluxer
Дата: 09.03.2011 20:47:33
Ясно, спасибо, выходит поведение этой штуки от версии зависит
Этот баг проявляется на 11g (11.1.0.6.0)