JAVA XML : Maîtriser les API SAX, DOM et XLST

Présentation de la formation

XML est aujourd’hui incontournable au sein des Systèmes d’Information et Architectures Java EE. Utilisé comme format standard d’échange de données, normalisé par le W3C, le document XML est présent partout dans les applications, bases de données et est au coeur des échanges EAI.

Cette formation permet aux participants d’acquérir les compétences nécessaires pour utiliser, de façon approfondie, les utilisations de XML dans des applications Java. Les principales APIs sont présentées en détails et les cas d’utilisation de XML sont illustrés, à chaque fois, par des travaux pratiques.

Pour le développeur d’applications Java EE, la maîtrise des API, permettant de manipuler ces formats XML, DOM, SAX, XSLT, fait partie des compétences nécessaires sur un projet. Bien comprendre les différences, les points forts et les points faibles entre ces API est important pour éviter les problèmes de performances que l’on peut rencontrer sur ces API complexes.

Connaître les API alternatives comme le Streaming XML avec STAX ou des API plus simples comme JDOM et DOM4J permet de considérer des alternatives en connaissance de cause si nécessaire.

Programme de la formation

Objectifs pédagogiques

  • Comprendre le positionnement d’XML dans une architecture Java EE
  • Connaître les différences d’utilisation entre SAX et DOM
  • Savoir développer un parsing SAX avec événements et méthodes callback
  • Savoir mettre en oeuvre un arbre DOM pour lire et écrire dans un document
  • Savoir mettre en oeuvre une transformation XSLT avec TRAX
  • Savoir mettre en oeuvre les factories d’accès de JAXP et TRAX
  • Savoir générer un document PDF avec XSL-FO et le parseur FOP
  • Avoir des notions sur les technologies alternatives pour le parsing XML : JDOM, DOM4J, STAX, COCOON

Pré-requis

  • Avoir suivi la formation GKJAVA et GKJAVA2 ou posséder les connaissances équivalentes.

Contenu de la formation

Positionnement d’XML dans les architectures Java EE XML

  • Les standards pour la manipulation des documents XML : XML, XSL, DTD, Schéma
  • Construire un document XML bien formé : les règles syntaxiques d’écriture
  • Construire un document valide : Vérifier la grammaire avec des DTD ou un Schéma
  • Transformer le document XML avec des feuilles XSLT :  les règles de transformation
  • Positionnement de XML dans le système d’information
  • XML pour les échanges normalisés de données entre les applications : intégration EAI
  • XML et la publication des données dans différents formats : HTML, PDF, autres
  • La problématique du mapping des données relationnelles SGBDR avec le document XML
  • La problématique du mapping des formats objet avec le document XML
  • Contraintes de performances et bonnes pratiques d’utilisation des formats XML dans un SI
  • Les API JAVA pour la manipulation des documents XML
  • LesAPI de parsing XML : SAX, DOM, JDOM
  • Les parseurs Java XML : Xerces et Xalan
  • Les API et frameworks de transformation XSLT : TRAX, COCOON
  • Les API de mapping OO – XML : JAXB, CASTOR
  • Les API de mapping XML – SGBDR

Parsing SAX des Documents XML

  • Présentation des API SAX et JAXP
  • L’API SAX : l’approche par événements et méthodes callbacks
  • Les principales interfaces de l’API : ContentHandler, DTDHandler, EntityResolver, ErrorHandler
  • Couche d’abstraction JAXP fournie par SUN pour accéder au parseur SAX
  • Les fonctionnalités de parsing SAX

Parsing du Document avec le helper DefaultHandler

  • Parsing des espaces de nommage et des entités DTD
  • Validation du document avec une DTD ou un Schéma XML
  • Gestion des erreurs avec l’interface ErrorHandler
  • Utilisation des XMLFilters pour modifier le flux d’événements SAX

Comparaison avec le Streaming XML

  • Présentation de la nouvelle API STAX de SUN
  • Présentation des principales API de Streaming

Parsing DOM des Documents XML

  • Présentation des API DOM et JAXP
  • Présentation de l’API DOM : charger le document dans un arbre objet
  • Comparaison DOM et SAX : utilisation pertinente de chaque API
  • Présentation des principales interfaces de l’API : les interfaces Node, Document, Element
  • Couche d’abstraction JAXP fournie par SUN pour accéder au parseur DOM

 

Les fonctionnalités de parsing DOM

  • Accès aux Nodes avec les fonctions arbrescentes : Node, NodeList, Element, Text, Attr
  • Accéder aux nodes dans le document avec des expressions XPATH
  • Création de nouveaux nodes et assemblage sur l’arbre avec Document
  • La gestion des événements sur un arbre DOM : Event et EventListener
  • Persistance des modifications faites sur l’arbre

Comparaison avec les autres technologies d’arbres et de Mapping DOM

  • Comparaison avec JDOM : avantages et inconvénients
  • Comparaison avec DOM4J : avantages et inconvénients
  • API JAXB : Mapping d’un document XML sur un arbre DOM

 

Transformation XSLT sur un Document XML

  • Présentation de XSL et de l’ API TRAX
  • Rappels sur les feuilles de style XSL et le langage XPATH
  • Présentation de l’API TRAX : encapsuler organiser l’accès au parseur XSLT XALAN

 

Les fonctionnalités du parseur XSLT

  • Mise en place de transformations XSLT avec différentes Source et Result : SAX, DOM, Stream
  • Mise en place de transformations XSLT avec paramètres sur le moteur TRAX
  • Mise en place de feuilles XSLTC compilées
  • Validation de grammaire intégrée et gestion des erreurs

 

Génération de documents PDF avec XSL-FO

  • Présentation du standard XSL-FO et des principales balises
  • Présentation du parseur FOP et interaction avec les parseurs XSLT
  • Pipeline de transformation XSL, XSLT, XSL-FO

 

Comparaison avec le framework COCOON

  • Présentation du framework COCOON : automatiser les transformations XSLT
  • Mise en place de pipelines de transformations automatiques

Méthodes & moyens

Explications théoriques suivies de pratiques guidées puis mises en autonomie

  • 1 vidéoprojecteur par salle
  • 1 ordinateur par stagiaire

Profil du formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique.

Devis

    captcha

    Infos Pratiques

    Durée : 3 jours
    Prix : A définir
    Lieu: A définir

    Contactez Nous

      captcha

      Formations Planifiées Prochainement

      Comments are closed.