III. Publication et Traitement avec XSL

Slides:



Advertisements
Présentations similaires
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Advertisements

1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
DOM Document Object Model. Généralités Standard du W3C Parseur XML – Génération dun arbre dobjet – Construction totale de larbre DOM est spécifié en IDL.
Transformation de documents XML
DTD Sylvain Salvati
Personnalisation des sites SharePoint avec SharePoint Designer 2007
Cours MIAGE Henry Boccon-Gibod 1 XML, langage de structuration documentaire Langage de transformation et langage d'interrogation.
Les espaces de nommage XML par Philippe Poulard 1
Exposé de Système - Informatique et Réseau
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
1 Les technologies XML Cours 6 : Quelques langages XML Janvier Version 1.0 -
Cours 2 : Transformation de documents XML
le langage les éléments
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
version Beta Marie Calberg Ninni Louhelainen SLFN7
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
TP 3-4 BD21.
Manipulation d’XML avec XSL
CREATION DE FEUILLE DE STYLE pour structuré le document XML
Introduction aux Web Services Partie 1. Technologies HTML-XML
XSL-FO THEORIE PRATIQUE.
XML-Family Web Services Description Language W.S.D.L.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Présentation Struts1-JaxB
Introduction à DOM Maroua Bouzid
Développement Rapide dApplications Web avec.NET « Mon premier site »
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Introduction à la programmation (Java)
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Xpath XML Path language par Yves Bekkers
XSLT Langage de transformation darbre par Yves Bekkers.
XML : concours d’acronymes ou futur standard ?
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
1 Couplage dun langage de contrôle de formatage avec un système de formatage existant DEA ISC : 1 avril 2003 Fateh Boulmaiz
31 octobre 2012 Grégory Petit
Les feuilles de style CSS
8 - XML Cours XML.
PHP & My SQL.
Les outils de base : XPath, XSL, XLink, XForms
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
Découverte des Framework : SPRING & JAXB
XML Stylesheet Language
Créer des packages.
Lancement de Microsoft Word
XML dans les Serveurs d'applications
Programmation Web : Introduction à XML
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Publication et Traitement avec XSL
Traitement de texte +.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
 G. Gardarin Les outils de base: Publication avec XML 1. XPATH 2. XSLT 3. XSLFO 4. XLink, XForms, RSS, … 5. XML et la bureautique.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Page 1 © Expert-IT s.a. - Développer des projets en XML Pratique.
Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Publication et Traitement avec XSL
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
Les systèmes de gestion de contenu
Dreamweaver Séance 1.
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
DREAMWEAVER SEANCE 1 Axel JACQUET GM05 – Julien VAN MOORLEGHEM GM05 A2008 Écriture interactive & multimédia Présentation Dreamweaver 8.
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

III. Publication et Traitement avec XSL XPATH XSLT XSL-FO Traitement de documents Conclusion

1. XPath : l'adressage XML XPath Expressions de chemins dans un arbre XML Permet de sélectionner des nœuds par navigation Document XML ? XPath

XPath XML Path Language Expressions de chemins communes à : recommandation W3C pour expressions de chemins acceptée le 16 novembre 1999 version 2 acceptée depuis janvier 2007 Expressions de chemins communes à : XSL Xpointer (liens) XQuery (queries) Xpath permet de rechercher un élément dans un document d'adresser toute sous partie d'un document XPath

XPath - Parcours d'arbre XPath opère sur l'arbre d'un document racine section livre Bonaparte chapitre Neige Les chatiments titre @auteur "Hugo" <livre auteur = "Hugo"> <titre>Les chatiments</titre> <chapitre> <section>Buonaparte </section> <section>Neige</section> </chapitre> … </livre> XPath

XPath - Expression de chemins Une expression de chemins spécifie une traversée de l'arbre du document : depuis un nœud de départ vers un ensemble de nœuds cibles les cibles constituent la valeur du cheminement Un chemin peut être : absolu commence à la racine /étape1/…/étapeN relatif commence à un nœud courant étape1/…/étapeN XPath

Syntaxe et sémantique Cheminement élémentaire direction::sélecteur [predicat] Directions parent, ancestor, ancestor-or-self child, descendant, descendant-or-self preceding, preceding-sibling, following, following-sibling self, attribute, namespace Sélecteur nom de nœud sélectionné (élément ou @attribut) Prédicat [Fonction(nœud) = valeur] XPath

EXEMPLES Sections d'un chapitre Texte du chapitre 1 section 2 /child::livre/child::chapitre/ child::section /livre/chapitre/section Texte du chapitre 1 section 2 /descendant::chapitre[position() = 1] /child::section[position() = 1] /child::text() //chapitre[0]/section[1]/text() Remonter à l’auteur du livre parent::section/ancestor::livre/ child::@auteur ancestor::livre/@auteur racine section livre Bonaparte chapitre Neige Les chatiments titre @auteur "Hugo"

XPath - Synthèse XPath

XPath 2.0 Types des schémas et séquences supportés Elimination des « Result Tree Fragments » Support des groupes de noeuds Introduction de fonctions d'agrégats Support des boucles For et des conditions Support des expressions régulières Documents multiples en entrée et sortie Nouvelles fonctions et opérateurs Intégration de fonctions utilisateurs possible

2. XSLT : la présentation Permet de transformer un document régulier ou irrégulier de XML à XML, XHTML est un cas particulier De XML à présentation (HTML, texte, rtf, pdf, etc.) Un document est un arbre Le processeur XSL parcourt l'arbre et applique les règles de transformations vérifiées (à condition vraie) aux nœuds sélectionnés Un document est produit en sortie XSLT

Format (XML) pour Word, Excel Publications avec XSL Plusieurs formats de publication pour un contenu XSL permet la présentation sur des terminaux variés XSL Processor XML Document Format ( Postcript) Format (XML) application e.Commerce format (WML) Browser (XHTML, DHTML, HTML) Format (XML) pour Word, Excel Stylesheet XSLT

Architectures HTML XML Affichage S E R V E U R Programme XML HTML ASP ou JSP S E R V E U R Programme XML HTML Processeur XSL Affichage Fichier XML XML Affichage Traitement Processeur XSL Base de données XSLT

Transformation par Jscipt côté client <html> <body> <script type="text/javascript"> // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("exemple.xml") // Load XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("exemple.xsl") // Transform document.write(xml.transformNode(xsl)) </script> </body> </html>

Les feuilles de style Une feuille de style XSL est un document XML de racine <xsl:stylesheet> contient une liste de règles de transformation de l'arbre d'entrée en arbre de sortie <xsl:template> Chaque règle (<xsl:template>) précise: Une condition spécifiant le sous-arbre du document d’entrée auquel elle s’applique (match=) Une production spécifiant le résultat de l’application de la règle (contenu) Il s'agit de règles de production classiques If <condtition> then <production> Codées en XML avec espace de nom xsl: XSLT

Exemple de document <?xml version="1.0" ?> <Guide> <Restaurant Categorie="**">  <Nom>Le Romantique</Nom> <Adresse>  <Ville>Cabourg</Ville>   <Dept>Calvados</Dept>   </Adresse>  </Restaurant> <Restaurant Categorie="***">  <Nom>Les TroisGros</Nom> <Ville>Roanne</Ville>   <Dept>Loire</Dept>   </Adresse> </Guide>   XSLT

Exemple de feuille de style XSL <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/xsl"> <xsl:template match="/"> <html><head><B>ESSAI XSL</B></head> <body><xsl:apply- templates/></body></html>  </xsl:template> <xsl:template match="Guide">  <H1>BONJOUR LE GROUPE XML</H1>   <H2>SUIVEZ LE GUIDE</H2>   <xsl:apply-templates />   <xsl:template match="Restaurant"> <P> <I>Restaurant :</I>   <xsl:value-of select="Nom"/></P>  </xsl:template>  </xsl:stylesheet> XSLT

Les règles de production Définition des règles par <xsl:template …> Attributs match: condition de sélection des nœuds sur lesquels la règle s'applique (XPath) name: nom de la règle, pour invocation explicite (en conjonction avec <call-template>) priority: priorité, utilisé en cas de conflit entre deux règles ayant la même condition Exemples <xsl: template match="/"> <xsl: template match="auteur" name="R1" priority="1"> XSLT

La génération du résultat Le contenu de l'élément <xsl:template> est la production: Les éléments du namespace xsl sont des instructions qui copient des données du document source dans le résultat Les autres éléments sont inclus tels quels dans le résultat Instructions pour: Parcourir l'arbre du document source Copier le contenu du document source dans le résultat Parcours de l'arbre: <xsl:apply-templates>, <xsl:for-each> Copie du contenu du nœud sélectionné: <xsl:value-of select= … > XSLT

Résumé des commandes <xsl:template> définir une règle et son contexte <xsl:apply-templates /> appliquer les transformations aux enfants du nœud courant <xsl:value-of select … /> extrait la valeur d'un élément sélectionné à partir du nœud courant <xsl:for-each> définir un traitement itératif <xsl:pi> générer une instruction de traitement <xsl:element> générer un élément <xsl:attribute> générer un attribut <xsl:if> définir un traitement conditionnel   XSLT

Processeurs XSLT Processeurs XSLT conformes à la spécification: Apache Group (www.apache.org): Xalan Oracle XDK (www.oracle.com): XML Parser/ XSLT Proc. MSXML et System.xml (www.microsft.com/xml): packages .NET James Clark (www.jclark.com): XT Saxon XML (saxon.sourceforge.net): XSLT Proc. libXML, libXSLT (Unix C) Browsers Microsoft IE 5 ou plus Netscape depuis la V6 Mozilla Firefox depuis la V1 Opera depuis la V7 XSLT

Quelques éditeurs StylusStudio : www.stylusstudio.com Edit, Map, Debug XSLT Stylesheets Visual, Easy-to-Use Tools for XSLT! EditiX : www.editix.com XSLT Debugger XML XSD XSL SVG XSL-FO MoreMotion : www.moremotion.com Fast XSLT Stylesheet Development With High-End Wysiwyg Editor Oxygen XSLT Editor : www.oxygenxml.com Edit and debug your XSL stylesheets Transform XML using XSLT and FOP Altova Style Vision : www.altova.com Visual stylesheet design from databases XSLT

Editeur XSLT (Sonic)

Mapper XSLT à XSLT (Sonic)

Bilan XSLT XSLT est un langage très puissant de transformation d'un arbre XML en un autre XSLT permet en particulier de publier des données XML sur le Web par transformation en un document XHTML standard XSLT est très utilisé : Pour publier des contenus XML Pour transformer des formats (EAI, B2B) XSLT

3. XSL-FO : le formatage Nommé officiellement XSL Standard depuis octobre 2001 Permet les mises en pages sophistiquées sur écran, papier, ... Génération de PDF ou RTF Applique des objets de mise en forme aux données XML Utilisé notamment pour la PAO XSL-FO

Complémentaire à XSLT Peut s'appliquer aux résultats des feuilles XSLT XSL-FO

Organisation du document Un document FO est formé d'un élément fo:root qui comprend deux parties distinctes une description des modèles de pages fo:layout-master-set une description du contenu fo:page-sequence Le contenu comporte : Des flux contenant les données mêmes du document Des éléments statiques dont le contenu se répète sur les pages (en-têtes courants, no de page, etc.) XSL-FO

Structure de la feuille fo:root <?xml version="1.0" encoding="ISO-8859-1"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4"> <!-- Template de page ici --> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <!-- Contenu de la page ici --> </fo:page-sequence> </fo:root> Définition des masques de pages (1 à N) Définition des contenus de chaque page XSL-FO

Modèle de page Page découpée en régions Les régions ont des marges Fixées par des attributs dans le masque de page Les flux de données sont envoyés les régions XSL-FO

Objets de formatage Les objets de formatage sont multiples : <fo:block> utilisé pour les blocs de textes, paragraphes, titres… <fo:display-rule> ligne de séparation <fo:external-graphic> zone rectangulaire contenant un graphisme (SVG) Ils possèdent de nombreuses propriétés Pour un block on peut définir la marge gauche et droite l’espace avant et après le paragraphe la couleur du texte ………... XSL-FO

XSL-FO: hello World <?xml version="1.0" encoding="iso-8859- 1"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/F ormat"> <fo:layout-master-set> <fo:simple-page-master master- name="my-page"> <fo:region-body margin="2 cm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="my- page"> <fo:flow flow-name="xsl-region-body"> <fo:block>Hello, world!</fo:block> </fo:flow> </fo:page-sequence> </fo:root> Element Root Permet de définir le namespace XSL-FO Layout master set Permet de déclarer une ou plusieurs page masters (masque) et page sequence masters pour définir la structure des pages (ici une de 2 cm de marges) Page sequence Les pages sont groupées en séquences et structurées selon la référence au masque. Flow C'est le container du texte utilisateur dans le document. Le nom du flot lit le texte à une zone de la page définie dans le masque. Block C'est le bloc de formatage qui inclut un paragraphe de texte pouvant être produit pas XSLT. XSL-FO

Fonctionnalités Pages portrait ou paysage Pages recto-verso Page de tailles variées Marges multiples Colonnes multiples Entête et pieds de page Caractères unicode Formatage multi-langages Tables des matières générées Multiple directions d'écritures Numérotation des pages Graphiques et SVG Tables, avec entêtes, lignes et colonnes fusionnables Listes Zones flottantes Tris à l'édition Notes de bas de pages XSL-FO

Les processeurs XSL-FO FOP (Apache Group) Open Source Formating Object Processor Génère du PDF http://www.apache.org JFOR (Sourceforge) Open Source Génère du RTF http://sourceforge.net/projects/jfor XSL Formatter Antenna House http://www.antennahouse.com RenderX Génère du PDF http://www.renderx.com StyleVision Altova http://www.altova.com/products_xsl.html Scriptura InventiveDesigners http://www.inventivedesigners.com/scriptura Autres Arbortext, Adobe, Xinc, XMLPDF, APOC, XSL-FO to TeX XSL-FO

Bilan XSL XML = format pour la production de publications échangeables sur le web : production d’une source unique en XML ; XSLT = génération automatique de présentations multiples ; XSL-FO = génération de présentations soignées avec pages maîtres et blocs formatés. XSL peut être vu comme le langage de programmation de XML … Questions ? XSL

4. XML: le traitement par programme XML Schema (ou DTD) Manipulation de l'arbre XML <ville>Paris</ville> <pays>France</pays> <temp echelle="C">18</temp> Format interne Structures de données XML DOM Parser Bien formé Valide événements – call back <ville>Paris</ville> SAX XSL Stylesheet Mal formé/Invalide XSLT XSLFO (X)HTML <city>Paris</city> <temp degree="F">65</temp> WML XML PDF RTF, Word Parser

L'interface DOM Standard du W3C fait pour HTML et XML Structure d'objets pour représenter un document Résultat d'un "parser" Arbre d'objets reliés entre eux Interface objet pour naviguer dans un document Orientée objet Peut être utilisée en: Java, C++ C#, VB Python, PHP Parser

Principaux parseurs API générique J2EE JAXP J2EE (Sun JDK) Oracle Document XML API générique J2EE JAXP J2EE (Sun JDK) Oracle SDK Oracle Microsoft MSXML Apache (Java, C++) Xerces Parseur DOM Arbre DOM API DOM Application Parser

Exemple d'arbre DOM <Guide> </Guide> Document Racine du document NodeList <Guide> Element NodeList <Restaurant> <Bar> <Guide> <Restaurant id="R1">Le meilleur restaurant</Restaurant> <Bar/> </Guide> Element Element NamedNodeMap Attr Id="R1" NodeList Text Le meilleur restaurant Parser

Quelques interfaces de base Document createElement (Nom_Element): créer un élément avec le nom spécifié en paramètre. createComment (commentaire): créer une ligne de commentaires dans le document. createAttribute (Nom_Attribut): créer un attribut avec le nom pris en paramètre. getElementsByTagName (nom_Tag): retourne tous les descendants des éléments correspondants au Nom_Tag. Nœud insertBefore (Nouveau_Noeud, Noeud_Reference): insère un nouveau nœud fils avant le " nœud référence" déjà existant. replaceChild (Nouveau_Noeud, Ancien_Noeud): remplace le nœud "Ancien_Noeud" par le nœud "Nouveau_Noeud". removeChild (Nœud): supprime le nœud entré en paramètre de la liste des nœuds. appendChild (Nouveau_Noeud): Ajoute un nouveau nœud a la fin de la liste des nœuds. hasChildNodes(): Retourne vrai si le nœud possède un enfant Parser

Autres interfaces Interfaces fondamentales Interfaces étendues XML DOMImplementation Document Comment DocumentFragment Element Attr(ibute) NamedNodeMap CharacterData Text Interfaces étendues XML ProcessingInstruction DocumentType CDATASection Notation Entity EntityReference Parser

Exemple d'utilisation Document: <nom ville ="Paris"> Public class ExempleDOM public static main (String argc[]) throws IOException, DOMExcetion {XMLDocument xmlDoc = new XmlDocument(); // creation des nœuds ElementNode nom = (ElementNode) xmlDoc.createElement("nom"); ElementNode prenom = (ElementNode) xmlDoc.createElement("prenom"); ElementNode nomfam = (ElementNode) xmlDoc.createElement("nomfam"); // creation de l'arbre xmlDoc.appendChild(nom); nom.appenChild(prenom); prenom.appendChild(xmlDoc.createTextNode("Jean"); nom.appenChild(nomfam); nomfam.appendChild(xmlDoc.createTextNode("Dupont"); // positionnement d'un attribut nom.setAttribute("ville", "Paris"); // sortie System.exit(0); } } Document: <nom ville ="Paris"> <prenom> Jean </prenom> <nomfa> Dupont </nomfa> </nom> Parser

Bilan DOM Une interface objet standard Performance limitée DOM 2.0 Navigation dans l'arbre XML Traitements spécifiques Performance limitée Place mémoire importante Traitement à la fin de l'analyse DOM 2.0 API indépendante de la structure mémoire DOM Level 3 : XPath Support direct de XPath Définition d'un XPath Evaluator Events Modèle d'événements Associés à un nœud Propagés dans l'arbre Style Accès aux styles Mapping complet Load and Save Stockage de l’arbre Parser

L'interface SAX SAX (Simple API for XML) Types d'événement : modèle simplifié d'événements développé par un groupe indépendant. Types d'événement : début et fin de document ; début et fin d'éléments ; attributs, texte, … . Nombreux parseurs publics XP de James Clark, Aelfred, Saxon MSXML3 de Microsoft Xerces de Apache JAXP de SUN Parser

Principe de fonctionnement Méthodes utilisateur Evénement startDocument Parser Document XML Stream XML Evénement startElement …. Evénement endDocument Content Handler Parser

Les méthodes essentielles XMLReader setContentHandler setErrrorHandler parse ContentHandler startDocument endDocument startElement endElement characters ErrorHandler fatalError error warning Parser

Exemple SAX et DOM startDocument () startElement (personne) startElement (nom) characters (Cover) endElement (nom) startElement (prenom) characters (Harry) endElement (prenom) startElement (adresse) startElement (rue) characters (Stendhal) endElement (rue) startElement (ville) characters (Paris) endElement (ville) endElement (adresse) endElement (personne) endDocument () <personne> <nom> Cover </nom> <prenom> Harry </prenom> <adresse> <rue> Stendhal </rue> <ville> Paris </ville> </adresse> </personne> personne nom prenom adresse rue ville #text: Cover #text: Paris #text: Stendhal #text: Harry Parser

DOM versus SAX DOM utilise SAX pour la construction de l’arbre d’un document XML SAX est plus léger que DOM Au-dessus de DOM, il est possible d  ’implémenter un « method caller » ... Parser

Integration : API JAXP Java API for XML Parsing Objectif JAXP est une d'API standard J2EE permettant d'effectuer des traitements XML qui englobe : SAX (SAX 2.0) DOM (DOM Level 2) la manipulation de transformations XSLT Objectif Fournir une couche d’abstraction permettant d’utiliser n’importe quel analyseur SAX/DOM ou processeur XSL JAXP 1.3 est inclus dans le JDK de Sun Java WSDP 2.0, Java SE 5.0, disponible sur Java.Net Parser

Le mapping objet (Data Binding- JAXB) Définition Mapping entre un document XML et un graphe d’objets métier C++ ou Java Développements manuels Interface générée à l’aide d’outils de Data Binding Objets C++ Objets Java Objets Java Parsing Xerces C++ Parsing XDK Java Binding Java XML XML XML Mapping 49

Principes Compilation du schéma en classes Java Traduction des documents en objets Possibilité de publier les objets en XML compile Schema Classes instance of conforms unmarshal Objects Documents marshal Mapping

Avantages L’activité de développement "parsing" est réduite Gain en coût de développement des interfaces Les applications peuvent se concentrer sur le fonctionnel Les développeurs n'ont pas à se soucier du mapping XML Les Systèmes Techniques sont simplifiés Capitalisation sur l’interface (utilisation, évolution, …) Gain en terme de fiabilité (fin de l’utilisation de parseurs variés, parfois écrits à la main) Les performances de l’interface sont optimisées Les outils de mapping sont intégrés aux serveurs J2EE = JAXB .NET = mapper Mapping

5. Conclusion Un ensemble d’outils pour traiter du XML: Questions ? Processeurs XSLT/XSLFO Analyseurs validants Intégrés aux serveurs d’applications J2EE = JAXP .NET = MSXML En évolution permanente Questions ?