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

Format d'échange (XML, JSON...) Java Discussion :

Manipuler le XML envoyé par Saxon


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 167
    Points : 69
    Points
    69
    Par défaut Manipuler le XML envoyé par Saxon
    Bonjour,

    Je transforme un XML via XSLT en utilisant le moteur Saxon9.
    L'avantage que j'ai trouvé à Saxon, c'est qu'il offre un mécanisme qui permet d'invoquer une méthode statique Java durant la transformation XSLT : http://www.saxonica.com/documentatio...icmethods.html

    Je me suis donc servi de ce mécanisme, et j'ai développé la méthode statique suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public static org.w3c.dom.Node formatAixmGeometry(XPathContext c) {
      Item item = c.getCurrentIterator().current();
      if (item instanceof NodeInfo) {
        NodeInfo node = (NodeInfo) item;
        // TODO
      }
    }
    La variable "node" ci-dessus contient le noeud XML courant (celui sur lequel je me trouvais quand j'ai invoqué la méthode depuis mon XSLT).

    Maintenant, je souhaiterais modifier le contenu de ce noeud (ajouter des noeuds fils, supprimer d'autres noeuds fils, modifier des valeurs,...) et retourner le noeud modifié en fin de méthode.

    Le problème, c'est que je ne trouve pas de moyen de le faire avec l'API Saxon, et je ne trouve pas non plus de moyen d'utiliser DOM sur ces objets Saxon.

    Pouvez-vous m'aider ?

    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ça ne me semble pas très précis de modifier le document que tu es en train de lire. Normalement tu ne devrais toucher que le document que tu es en train d'écrire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Bonjour,

    il est vrai que la documentation du site Saxon ne semble pas en dire long sur le sujet.
    Au passage, il y a Xalan fait aussi ca.

    Sinon, as tu déjà trouvé cette page : Sample Saxon Applications
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

Discussions similaires

  1. Récupérer le XML envoyé et reçu par un webservice.
    Par arnolem dans le forum Services Web
    Réponses: 4
    Dernier message: 30/09/2010, 10h57
  2. Envoyer par mail un document Rave Report
    Par Wilco dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/10/2004, 10h55
  3. [XML] comment récupérer un arbre xml posté par http ?
    Par tomperso dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 02/07/2004, 10h29
  4. Réponses: 4
    Dernier message: 18/09/2003, 10h06
  5. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 09h53

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