IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

[9i] bug dans la fonction transform XMLType (XSL) ?


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 120
    Points : 88
    Points
    88
    Par défaut [9i] bug dans la fonction transform XMLType (XSL) ?
    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 :


    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;
    Si quelqu'un pouvait me confirmer ou m'infirmer l'existence de ce bug, et me donner une solution de contournement, je serais preneur!

    Merci d'avance.

    Nicolas.

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Juste pour info, à l'attention des personnes qui rencontreraient les mêmes problèmes, il s'agit d'un bug Oracle connu, qui ne serait résolu qu'à partir de la version 10g release 2.

    Le problème est que la fonction transform fournit des noeuds limités à 64K, et dans le cas d'une sortie non XML, la sortie est elle-même considérée comme un seul noeud, donc limitée à 64K....

    Work-around : englober des parties de la sortie dans des tags XML...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/03/2014, 14h40
  2. bizarre, IE bug dans une fonction
    Par ypomes dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/01/2011, 23h25
  3. gros bug dans GIMP, fonction texte
    Par laurentSc dans le forum Imagerie
    Réponses: 1
    Dernier message: 25/10/2009, 19h09
  4. Réponses: 3
    Dernier message: 05/04/2009, 12h10
  5. Bug dans la fonction "répéter l'en-tête de groupe sur chaque page"
    Par nanouille56 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/10/2006, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo