SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
XML & Java

Your Name
Your Title

Your
Java User Group Lausanne - EPFL Organization (Line #1)
Your Organization (Line #2)
Introduction – Pourquoi avoir choisi ce thème?

●

XML est utilisé presque partout
Exemples

●

Le choix de l'API est difficile et crucial selon le projet
Exemples

●

Niveau?
XML – eXtensible Markup Language

●

Beuh... c'est quoi ce machin?
Où est-ce utilisé ?
Quels sont les problèmes avec ce langage?
Quand est-ce que c'est bien/pas bien?

●

Préparer un exemple (root + 2 enfants, dont 1 mult)
XML – libre, mais...

On ne veut pas recevoir n'importe quoi dans notre
programme.
●

Pourquoi (check)?
Quels sont les divers langages de contraînte?
Description sommaire sur l'exemple proposé

●

Avantages/Défauts des diverses solutions
XML – langages liés

●

XML est pratique... si on utilise les languages associés
Quels sont les divers langages de contraînte?
Description sommaire sur l'exemple proposé

●

Avantages/Défauts des diverses solutions
Java & XML

●

Exploiter XML dans un programme (mapping)
Automatique?
Sinon, quels risques?

●

Choisir une API
Différents modèles et dans quel cas les utiliser
Récapitulatif - The Big Picture
XML meta-langage, permet de définir un language
DTD, Schema contraindre/vérifier un document XML
XPath, XQuery exécuter des requêtes
XSLT transformations pour générer un document B à partir de A
SVG pour faire de zolis dessins (scale, animate...)
SAX basé sur les événements, utilise peu de mémoire
DOM basé sur un modèle, utilise beaucoup de mémoire
StAX mix entre SAX et DOM, essaie de donner les avantages des 2
JDOM, DOM4J API Java basées sur DOM, permettent utilisation Xpath
JAXB API + Compilateur qui génère un modèle de classes
Web Services SOAP protocoles basés sur XML, communication inter-languages (ex: Java-C++)
Pour plus d'infos...
http://www.w3schools.com/schema/schema_howto.asp
http://fr.wikipedia.org/wiki/Scalable_Vector_Graphics
http://java.developpez.com/faq/xml/

Más contenido relacionado

Destacado

Contexto misiones de centro de investigación histórica guillermo furlong
Contexto misiones de   centro de investigación histórica guillermo furlongContexto misiones de   centro de investigación histórica guillermo furlong
Contexto misiones de centro de investigación histórica guillermo furlongsusanabartz
 
Educación en la sociedad del conocimiento
Educación en la sociedad del conocimientoEducación en la sociedad del conocimiento
Educación en la sociedad del conocimientonilzuhu
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Aiza Hernández
 
Enfoquesy modeloseducativos3
Enfoquesy modeloseducativos3Enfoquesy modeloseducativos3
Enfoquesy modeloseducativos3Carol Ulloa Tapia
 
Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)susanabartz
 
Diapositivas sustentacion
Diapositivas sustentacionDiapositivas sustentacion
Diapositivas sustentacionvalegsalazar1
 
Dossier de production definitif
Dossier de production definitifDossier de production definitif
Dossier de production definitifJohanna Lry
 
Contrôle ccx lutte contre fraude 11.02.14 1
Contrôle ccx lutte contre fraude 11.02.14 1Contrôle ccx lutte contre fraude 11.02.14 1
Contrôle ccx lutte contre fraude 11.02.14 1phild68131
 
Cours radon-sept-2013
Cours radon-sept-2013Cours radon-sept-2013
Cours radon-sept-2013AIBQ
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Aiza Hernández
 
las tics en el aula
las tics en el aulalas tics en el aula
las tics en el auladavidmagno
 
Proyecto formacion empresaria_ll
Proyecto formacion empresaria_llProyecto formacion empresaria_ll
Proyecto formacion empresaria_llnuryyy
 
El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...vivianacerquera
 

Destacado (20)

Contexto misiones de centro de investigación histórica guillermo furlong
Contexto misiones de   centro de investigación histórica guillermo furlongContexto misiones de   centro de investigación histórica guillermo furlong
Contexto misiones de centro de investigación histórica guillermo furlong
 
Educación en la sociedad del conocimiento
Educación en la sociedad del conocimientoEducación en la sociedad del conocimiento
Educación en la sociedad del conocimiento
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)
 
My favourite sport
My favourite sportMy favourite sport
My favourite sport
 
Enfoquesy modeloseducativos3
Enfoquesy modeloseducativos3Enfoquesy modeloseducativos3
Enfoquesy modeloseducativos3
 
Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)Problemática yerbatera (segunda parte)
Problemática yerbatera (segunda parte)
 
Diapositivas sustentacion
Diapositivas sustentacionDiapositivas sustentacion
Diapositivas sustentacion
 
Presentación muda
Presentación mudaPresentación muda
Presentación muda
 
Dossier de production definitif
Dossier de production definitifDossier de production definitif
Dossier de production definitif
 
Face parts
Face partsFace parts
Face parts
 
Contrôle ccx lutte contre fraude 11.02.14 1
Contrôle ccx lutte contre fraude 11.02.14 1Contrôle ccx lutte contre fraude 11.02.14 1
Contrôle ccx lutte contre fraude 11.02.14 1
 
Cours radon-sept-2013
Cours radon-sept-2013Cours radon-sept-2013
Cours radon-sept-2013
 
Carnestoltes 2015 PRIMER
Carnestoltes 2015 PRIMERCarnestoltes 2015 PRIMER
Carnestoltes 2015 PRIMER
 
Formations tertiaires Brest
Formations tertiaires BrestFormations tertiaires Brest
Formations tertiaires Brest
 
Homo videns
Homo vidensHomo videns
Homo videns
 
Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)Asignacion 3(aiza aponte)
Asignacion 3(aiza aponte)
 
las tics en el aula
las tics en el aulalas tics en el aula
las tics en el aula
 
Test
TestTest
Test
 
Proyecto formacion empresaria_ll
Proyecto formacion empresaria_llProyecto formacion empresaria_ll
Proyecto formacion empresaria_ll
 
El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...El profesional en ciencia de la información y la documentación, bibliotecolog...
El profesional en ciencia de la información y la documentación, bibliotecolog...
 

Similar a XML & Java - Raphaël Tagliani - March 2008

Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcoursedu
 
Langages de programmation
Langages de programmationLangages de programmation
Langages de programmationdecoderlecode
 
Soutenance séminaire bibliographique
Soutenance séminaire bibliographiqueSoutenance séminaire bibliographique
Soutenance séminaire bibliographiqueMaxime ALAY-EDDINE
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
Traitement Automatique Langade Naturel -TP1.pdf
Traitement Automatique Langade Naturel -TP1.pdfTraitement Automatique Langade Naturel -TP1.pdf
Traitement Automatique Langade Naturel -TP1.pdfjkebbab
 
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...JUSTINDAVONDAMBAT
 
Critères d’évaluation des langages de programmation
Critères d’évaluation des  langages de programmationCritères d’évaluation des  langages de programmation
Critères d’évaluation des langages de programmationAHMEDBELGHITH4
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Jean-Pierre Lambert
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmationSageKataliko1
 
GenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAGGenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAGSally Laouacheria
 

Similar a XML & Java - Raphaël Tagliani - March 2008 (20)

python
pythonpython
python
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
 
Langages de programmation
Langages de programmationLangages de programmation
Langages de programmation
 
Apprentissage du java
Apprentissage du javaApprentissage du java
Apprentissage du java
 
Asd
AsdAsd
Asd
 
Ktab asd
Ktab asdKtab asd
Ktab asd
 
Soutenance séminaire bibliographique
Soutenance séminaire bibliographiqueSoutenance séminaire bibliographique
Soutenance séminaire bibliographique
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Traitement Automatique Langade Naturel -TP1.pdf
Traitement Automatique Langade Naturel -TP1.pdfTraitement Automatique Langade Naturel -TP1.pdf
Traitement Automatique Langade Naturel -TP1.pdf
 
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
Sinitier_a_la_programmation_et_a_loriente_objet__avec_des_exemples_en_C_C_C_J...
 
Critères d’évaluation des langages de programmation
Critères d’évaluation des  langages de programmationCritères d’évaluation des  langages de programmation
Critères d’évaluation des langages de programmation
 
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)Introduction aux spécifications exécutables (dit aussi atdd, bdd)
Introduction aux spécifications exécutables (dit aussi atdd, bdd)
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
Coder propre !
Coder propre !Coder propre !
Coder propre !
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
algo & prog python.pptx
algo & prog python.pptxalgo & prog python.pptx
algo & prog python.pptx
 
GenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAGGenAI dans les professional services - LLM vs RAG
GenAI dans les professional services - LLM vs RAG
 
Intro algo prog
Intro algo progIntro algo prog
Intro algo prog
 
C#
C#C#
C#
 

Más de JUG Lausanne

Introduction aux algorithmes génétiques
Introduction aux algorithmes génétiquesIntroduction aux algorithmes génétiques
Introduction aux algorithmes génétiquesJUG Lausanne
 
Développer un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rienDévelopper un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rienJUG Lausanne
 
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidReverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidJUG Lausanne
 
Exemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et SparkExemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et SparkJUG Lausanne
 
Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012JUG Lausanne
 
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012JUG Lausanne
 
CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011JUG Lausanne
 
Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011JUG Lausanne
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...JUG Lausanne
 
OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010JUG Lausanne
 
Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010JUG Lausanne
 
Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010JUG Lausanne
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010JUG Lausanne
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010JUG Lausanne
 
Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010JUG Lausanne
 
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009JUG Lausanne
 
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009JUG Lausanne
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009JUG Lausanne
 
Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009JUG Lausanne
 
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009JUG Lausanne
 

Más de JUG Lausanne (20)

Introduction aux algorithmes génétiques
Introduction aux algorithmes génétiquesIntroduction aux algorithmes génétiques
Introduction aux algorithmes génétiques
 
Développer un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rienDévelopper un moteur d'exécution symbolique en partant de rien
Développer un moteur d'exécution symbolique en partant de rien
 
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidReverse engineering Java et contournement du mécanisme de paiement inapp Android
Reverse engineering Java et contournement du mécanisme de paiement inapp Android
 
Exemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et SparkExemple d'IOT et ML avec Android, Cassandra et Spark
Exemple d'IOT et ML avec Android, Cassandra et Spark
 
Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012Play! chez Zaptravel - Nicolas Martignole - December 2012
Play! chez Zaptravel - Nicolas Martignole - December 2012
 
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012
 
CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011CloudBees - Sacha Labourey - May 2011
CloudBees - Sacha Labourey - May 2011
 
Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011Apache Camel - Stéphane Kay - April 2011
Apache Camel - Stéphane Kay - April 2011
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
 
OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010OpenDS - Ludovic Poitou - December 2010
OpenDS - Ludovic Poitou - December 2010
 
Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010Spring Batch - Julien Jakubowski - November 2010
Spring Batch - Julien Jakubowski - November 2010
 
Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010Infinispan - Galder Zamarreno - October 2010
Infinispan - Galder Zamarreno - October 2010
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010
 
Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010Introduction à Scala - Michel Schinz - January 2010
Introduction à Scala - Michel Schinz - January 2010
 
Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009Introduction Groovy / Grails - Cyril Picat - December 2009
Introduction Groovy / Grails - Cyril Picat - December 2009
 
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
Initiation aux tests fonctionnels - Philippe Kernevez - October 2009
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009
 
Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009Maven2 - Philippe Kernevez - March 2009
Maven2 - Philippe Kernevez - March 2009
 
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
Introduction à Google Web Toolkit (GWT) - Philippe Kernevez - February 2009
 

XML & Java - Raphaël Tagliani - March 2008

  • 1. XML & Java Your Name Your Title Your Java User Group Lausanne - EPFL Organization (Line #1) Your Organization (Line #2)
  • 2. Introduction – Pourquoi avoir choisi ce thème? ● XML est utilisé presque partout Exemples ● Le choix de l'API est difficile et crucial selon le projet Exemples ● Niveau?
  • 3. XML – eXtensible Markup Language ● Beuh... c'est quoi ce machin? Où est-ce utilisé ? Quels sont les problèmes avec ce langage? Quand est-ce que c'est bien/pas bien? ● Préparer un exemple (root + 2 enfants, dont 1 mult)
  • 4. XML – libre, mais... On ne veut pas recevoir n'importe quoi dans notre programme. ● Pourquoi (check)? Quels sont les divers langages de contraînte? Description sommaire sur l'exemple proposé ● Avantages/Défauts des diverses solutions
  • 5. XML – langages liés ● XML est pratique... si on utilise les languages associés Quels sont les divers langages de contraînte? Description sommaire sur l'exemple proposé ● Avantages/Défauts des diverses solutions
  • 6. Java & XML ● Exploiter XML dans un programme (mapping) Automatique? Sinon, quels risques? ● Choisir une API Différents modèles et dans quel cas les utiliser
  • 7. Récapitulatif - The Big Picture XML meta-langage, permet de définir un language DTD, Schema contraindre/vérifier un document XML XPath, XQuery exécuter des requêtes XSLT transformations pour générer un document B à partir de A SVG pour faire de zolis dessins (scale, animate...) SAX basé sur les événements, utilise peu de mémoire DOM basé sur un modèle, utilise beaucoup de mémoire StAX mix entre SAX et DOM, essaie de donner les avantages des 2 JDOM, DOM4J API Java basées sur DOM, permettent utilisation Xpath JAXB API + Compilateur qui génère un modèle de classes Web Services SOAP protocoles basés sur XML, communication inter-languages (ex: Java-C++)