Version PDF
Transcription
Version PDF
Introduction au XML Table des matières 1 XML : Une première définition 1 2 Historique d’XML 1 2.1 SGML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.2 HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 XML : eXtensible Markup Language 2 4 Un exemple XML complet 3 5 Utilisation du XML 4 5.1 XML pour vérifier un document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.2 Production de documents électroniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.3 XML et le WEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.4 Chaı̂ne de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1 XML : Une première définition XML (eXtensible Markup Language) permet de représenter des données semi-structurées sous la forme d’un arbre en mémoire et d’un document. Sérialisation Analyse 2 2.1 <doc> <doc> <personne> <personne> <nom>A</nom> <nom>A</nom> <adresse>...</adresse> <adresse>...</adresse> </personne> </personne> <ville>...</ville> <ville>...</ville> <pays>....</pays> <pays>....</pays> </doc> </doc> Historique d’XML SGML 1986 - SGML (Standard Generalized Markup Language). Un format texte enrichi de balises qui apportent une sémantique : 1 <!doctype linuxdoc system> <article> <title>SGML-Tools User’s Guide <date>1.0 ($Revision: 1.14 $), 10 November 1997 <abstract>This document is a user’s guide</abstract> <sect>Installation <p>You can get <tt/sgml-tools-1.0.x.tar.gz/ • • • • • • 2.2 Les rédacteurs travaillent sur le sens et pas la forme. Description de la structure d’un document (définition d’un jeu de balises). Vérification de la validité des documents. Portabilité des documents. Production de plusieurs cibles (ps, rtf, pdf, html, doc...). Disponibilité de nombreux outils. HTML 1990 - HTML (Hyper Text Markup Language) : • Développé et normalisé par le W3C (World Wide Web Consortium) ( http://www.w3c.org ). • Choix à priori d’un ensemble de balises : <body> , <table> , etc. • La structure du document est implicite (il faut connaı̂tre les normes). • Avantages : format texte portable et simple. Discussion critique : • Demandes continuelles de modifications (versions 3.0, 4.01, 5, etc.). • Mélange de balises sémantiques ( <address> , <title> , <h1> ) et de balises de mise en forme ( <b> , <i> , <font> ). Une première réponse : Feuille de style (CSS1 en 1996 et CSS2 en 1998 normalisés par le W3C, puis CSS3, ...). • Système de liens trop simple. 3 XML : eXtensible Markup Language • 1997 : L’adaptation de SGML aux besoins du WWW donne XML. Objectif 1 : Séparer la structure, les données et la mise en forme. 2 Document Type Definition DTD Informations XML XSL • Objectif 2 : Assurer la portabilité des données. +- Machine A -------+ +- Machine B -------+ | | | | | Appli. A : XML ------> réseau ------> XML : Appli. B | | | | | +-------------------+ +-------------------+ 4 Un exemple XML complet Le document produits.xml (eXtensible Markup Language) et sa DTD : <?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE stock SYSTEM "produits.dtd"> <stock> <produit> <nom> Livre </nom> <prix monnaie="Euros"> 50 </prix> </produit> <produit> <nom> CD </nom> </produit> </stock> <!ELEMENT stock <!ELEMENT produit <!ELEMENT nom (produit+)> (nom,prix?)> (#PCDATA)> <!ELEMENT prix <!ATTLIST prix (#PCDATA)> (Dollars|Euros) #IMPLIED > monnaie Le fichier produits.xsl (eXtensible Style Language) : 3 CSS Feuilles de style <?xml version="1.0" encoding="iso-8859-1" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="html"/> <xsl:template match="stock"> <html><body> <h1>Stock de la société</h1> <xsl:apply-templates/> </body></html> </xsl:template> <xsl:template match="produit"> <h2>Produit <xsl:value-of select="nom"/></h2> <xsl:apply-templates select="prix"/> </xsl:template> <xsl:template match="prix"> <p>Prix : <xsl:value-of select="."/> en <xsl:value-of select="@monnaie"/></p> </xsl:template> </xsl:stylesheet> le traitement des fichiers produits.xml , produits.dtd , produits.xsl donne le fichier produits.html suivant : <html> <body> <h1>Stock de la société</h1> <h2>Produit <p>Prix : Livre </h2> <h2>Produit 50 en Euros</p> CD </h2> </body> </html> 5 Utilisation du XML • XML pour communiquer : XML application 1 application 2 • Quelques exemples : 4 . . . . protocole de transmission (XML-RPC, SOAP), définition de normes (XHTML, SMIL, XML-FO, SVG), Bases de données semi-structurée, Fichiers de configuration (JSP, EJB, ...), • Avantages : portabilité, extensibilité, réutilisation d’outils, 5.1 XML pour vérifier un document • XML pour vérifier la conformité : DTD Oui Validation XML Non • Avantages : . . . . 5.2 Validité assurée Intégration facilitée Aide à la rédaction Normalisation Production de documents électroniques • Production de documents XML : DTD XML XML HTML PS FO PDF Text DVI Processeur XSL XSL • On peut ajouter des sorties WML, XHTML ou des langages normalisés définis à partir d’XML. 5.3 XML et le WEB • Production de documents à la demande : 5 Serveur Client DTD HTML, XHTML, WML, texte XML XSL Serveur Client DTD XML XSL 5.4 Chaı̂ne de traitement • Intégration de plusieurs sources de données dans une chaı̂ne de traitement XML : S.G.B.D.R. XML Filtre B.D. XML Production Extraction HTML, WML, XML XSL Publication 6 XML