Oracle中的XSL转换使用XMLTYPE.TRANSFORM返回一个片段,需要文档

时间:2011-03-29 13:30:45

标签: xml oracle xslt xmltype

这应该是一个简单的...

在Oracle中我使用XMLTYPE.TRANSFORM(myxml,myxsl)来执行转换。

返回的XMLTYPE是一个片段(即没有XML文档声明)。我要求输出是一个文档(即使用<?XML version="1.0" ?>声明)。

使用独立工具,我的trasform工作正常。

任何帮助将不胜感激..

2 个答案:

答案 0 :(得分:1)

我最后通过将声明字符串添加到CLOB输出来解决这个问题,如下所示:return ('<?xml version="1.0" encoding="UTF-8"?>' || xmltype.GETCLOBVAL(L_RESULT));

答案 1 :(得分:0)

您可以使用sys_xmlgen:
select sys_xmlgen(xmlforest(a.value, a.value2)) from
(select 'value' value, 2 value2 from dual) a