Bonjour à tous,
Depuis quelques jours, je me prends la tête sur (je suppose que c'en est un) un bug de la fonction transform fournie par Oracle, servant à appliquer un XSL sur un XML (on fait donc du XSLT).
Il se passe que lorsque le clob généré est trop gros (qui est généré par l'application du XSL au XML), il semble violemment tronqué, et il n'en reste que la fin. Je me demande s'il ne serait pas limité à 64K, et que le clob obtenu serait de la taille :
Taille réelle MOD 64 K
Par exemple si le clob de sortie devait faire 80 K, il n'en restera plus que les 16K de la fin...
Voici ce que fait ma fonction, elle prend deux clobs en entrée (un XML et un XSL), et ressort un clob en sortie :
Si quelqu'un pouvait me confirmer ou m'infirmer l'existence de ce bug, et me donner une solution de contournement, je serais preneur!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 FUNCTION CLC_TFOXML (P_XML CLOB ,P_XSL CLOB ) RETURN CLOB IS v_return CLOB := ''; BEGIN v_return := XMLTYPE(p_xml).transform(XMLTYPE(p_xsl)).getclobval(); END clc_tfoxml;
Merci d'avance.
Nicolas.
Partager