2.4. XML : EXTENSIBLE MARKUP LANGUAGE 2.4.1 Définition XML est un métalangage d

2.4. XML : EXTENSIBLE MARKUP LANGUAGE 2.4.1 Définition XML est un métalangage de balisage (descendant du langage SGML), conçu vers 1997 afin de faciliter l'échange de données via le Web. XML utilise une structuration par balisage des éléments du contenu. Il définit un format universel, simple et ouvert. 2.4.2 Les applications utilisant XML Applications Pages web XHTML Documents OpenDocument, OpenXML Images vectorielles SVG expressions mathématiques MathML présentations multimedia SMIL syndication Atom, RSS représentation de connaissances RDF, OWL Technologies utilisées manipulation des éléments DOM, XPath transformation XLST mise en forme CSS, XSLT-FO validation DTD, XML Schema interrogation XQuery 2.4.3 Structuration des éléments en XML Le document XML est structuré en éléments dont la hiérarchie est sous forme d’une arborescence. On distingue trois types d’éléments : - Elément racine (principal) : regroupe l’ensemble des éléments. - Eléments terminaux : correspondent aux données élémentaires. - Eléments intermédiaires : regroupant un ou plusieurs sous éléments qui peuvent contenir éventuellement des données. Exemple : soit la structure « bibliographie » qui décrit la listes des références d’un ouvrage, l’arborescence associée est la suivante : La structure XML correspondante est la suivante : <?xml version="1.0" encoding="UTF-8" ?>//entête ou prologue <!-- bibliographie.xml - Michel Cartereau - 12 XII 2009 --> //commentaire <bibliographie> <reference id-ref="Brillant 2007" type-ref="livre"> <titre>XML cours et exercices</titre> <auteur> <nom>Brillant</nom> <prenom>Alexandre</prenom> </auteur> <annee>2007</annee> </reference> <reference id-ref="North Hermans 2000" type-ref="livre"> <titre>Teach Yourself XML in 21 Days</titre> <auteur> <nom>North</nom> <prenom>Simon</prenom> </auteur> <auteur> <nom>Hermans</nom> <prenom>Paul</prenom> </auteur> <annee>2000</annee> </reference> <reference id-ref="W3C XML" type-ref="site"> <titre>Normalisation de XML par le W3C</titre> <adresse>http://www.w3.org/standards/xml/</adresse> </reference> </bibliographie> Le fichier doit être enregistré sous l’extension .xml 2.4.4 Visualisation d’un fichier .xml Un document .xml peut être visualisé simplement sous forme d’une arborescence avec un navigateur comme on peut lui associer une feuille de style pour améliorer l’affichage. L’association d’une feuille de style .css se fait en ajoutant la ligne suivante après la partie prologue : <?xml-stylesheet type="text/css" href="bibliographie.css"?> /*contenu de la feuille de style bibliographie.css*/ reference { display: block; margin: 0.5px; border: thin solid gray; padding: 0.5px; } titre { font-weight: bold; display: block; } auteur, annee, adresse { display: list-item; list-style: circle; margin-left: 1px; } 2.4.5 Vérification d’un document .xml Les traitements automatiques (affichage, transformation,..) sont conçus pour s’appliquer à des documents .xml correctes. On distingue deux niveaux de vérification : - Le premier niveau sert à la bonne écriture du fichier .xml, en respectant les règles d’écriture des balises et de contenu selon les normes définit par le W3C. (un seul élément racine, mêmes noms des balises d’ouverture/fermeture) - Le deuxième niveau consiste à définir les types de données et les relations entre éléments. Pour ce faire on doit exprimer les contraintes dans un formalisme spécifique dit DTD (Document Type Definition). 2.4.6 DTD Le formalisme DTD définit des éléments et des attributs d’éléments : -Définition d’un élément structure : < !ELEMENT nom_element (liste des sous éléments)> Exemple : <!ELEMENT bibliographie (reference)* > <!ELEMENT reference (titre, auteur*, adresse?, annee?) > Est lu : un titre, un ou plusieurs auteurs, une adresse facultative, puis une année de publication facultative. -Définition d’un élément de données : < !ELEMENT nom_element (#PCDATA)> Exemple : <!ELEMENT titre (#PCDATA)> -Définition d’attributs : < !ATTLIST nom_element nom_attribut CDATA #REQUIRED ou #IMPLIED> Exemple : <!ATTLIST reference id-ref CDATA #REQUIRED> <!ATTLIST reference type-ref (livre | site) #REQUIRED> -Règles de notation : - une séquence de termes : (terme1, terme2 ...) - une alternative de termes : (terme1 | terme2 ...) - une présence optionnelle (0 ou 1 fois) : ? - 0 ou plusieurs fois : * - 1 ou plusieurs fois : + - Elémént contenant du texte : (#PCDATA) - Attribut contenant du texte : CDATA - Valeur d’attributs : Obligatoire #REQUIRED ou facultative #IMPLIED Exemple d’un fichier .DTD <!ELEMENT bibliographie (reference)*> <!ELEMENT reference (titre, auteur*, adresse?, annee?)> <!ATTLIST reference id-ref CDATA #REQUIRED> <!ATTLIST reference type-ref (livre | site) #REQUIRED> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (nom, prenom?) > <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT adresse (#PCDATA)> <!ELEMENT annee (#PCDATA)> - Indication d’un .DTD Nous pouvons indiquer un DTD externe en ajoutant la ligne suivante après la partie prologue du fichier .xml : <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE bibliographie SYSTEM "bibliographie.dtd"> Nous pouvons utiliser un DTD interne au fichier .xml : <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE bibliographie [ <!ELEMENT bibliographie (reference)*> ... <!ELEMENT annee (#PCDATA)> ] 2.4.7 Manipulation d’un document XML a- Sélection et accès aux éléments avec XPATH (XML Path) XPATH est un outil associé à XML dont le rôle est de définir un ensemble de notations pour l’accès et la sélection des éléments en utilisant la notion du chemin Exemples : L’élément reference de l’élément bibliographie /bibliographie /reference Tous les éléments fils de l’élément reference /bibliographie /reference /* Exemple de selection d’éléments avec xpath à partir d’un fichier .php <!DOCTYPE html> <html> <head> <title>Source XML</title> </head> <body> <?php $xml_reference = file_get_contents("bibliographie.xml"); $src_reference = simplexml_load_string($xml_reference); $reference = $src_reference->xpath("/bibliographie/reference"); ?> <h2>Liste des references</h2> <table border="1"> <tr> <th>titre</th> <th>auteur</th> <th>Adresse</th> </tr> <?php foreach($reference as $reference) { ?> <tr> <td><?php echo($reference->titre); ?></td> <td><?php echo($reference->auteur); ?></td> <td><?php echo($etudiant->adresse); ?></td> </tr> <?php } ?> </table> </body> </html> b- Modification et transformation des documents XML avec XSLT (EXTENSIBLE STYLESHEET LANGUAGE TRANSFORMATIONS) Le rôle de l’outil XSLT est de transformer le texte d'un document XML par un « processeur » pour produire une autre version en XML, HTML ou autre format de texte (PDF ou PS en utilisant l’outil XSL-FO). Le XSLT définit une feuille de style définissant l’élément principal de la feuille de style : <xsl:stylesheet> englobant l'élément indiquant la nature du document produit : <xsl:output /> puis un ou plusieurs modèles de transformations : <xsl:template> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system= "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd"/> <xsl:template ... > [...] </xsl:template> [...] </xsl:stylesheet> c- Analyse lexicale des documents XML avec SAX (Simple API for XML) L’outil SAX permet de faire une analyse lexicale (parsing) d’un document .xml en reconnaissant les morceaux (CHUNK) d’un document : balise et contenu L’outil SAX est intégré dans de nombreux langage de programmation tels que : Java, C++, Perl, PHP, Python, Javascript,.. Il définit un ensemble de fonction de vérification lexicale Chapitre III : Sites web dynamiques et Le langage PHP 3.1 PHP ?  PHP (PHP Hypertext Preprocessor) est une plate-forme composée d’un langage de programmation très complet et de nombreux outils pour le développement.  L’utilisation de PHP est principalement dédiée aux développements de sites web dynamiques pour toutes sortes d’applications : du simple forum au supermarché en ligne.  PHP intègre de très nombreuses extensions. Il est par exemple possible de créer des fichiers PDF (Portable Document Format), de se connecter à des bases de données ou à des serveurs d’annuaires LDAP (Lightweight Directory Access Protocol), de créer des clients et serveurs SOAP (Simple Object Access Protocol) ou d’établir des communications natives avec d’autres applications développées en Java ou en C/C++. 3.2 Histoire et versions Initialement, PHP était une bibliothèque Perl rédigée par Rasmus Lerdorf en 1995. Il s’en servait pour mettre à disposition son curriculum vitae sur Internet. Au fur et à mesure qu’il ajoutait des fonctionnalités Rasmus a transformé la bibliothèque Perl en une implémentation. Il décida par la suite de partager son code pour que tout le monde puisse en profiter, ce qui attira les premiers contributeurs. PHP/FI PHP/FI est le sigle de Personal Home Page/Form Interpreter. Cette première version possédait déjà une syntaxe similaire à celle que nous connaissons aujourd’hui. PHP/FI 2 Publiée en novembre 1997, c’est la deuxième refonte en langage C de PHP. À ce moment là, plusieurs milliers de personnes dans le monde utilisent déjà PHP et environ 50 000 noms de domaines indiquaient utiliser PHP. La durée de vie de cette version aura été très courte avec l’arrivée de PHP 3. PHP 3 PHP 3 fut une refonte complète initiée en 1997 par deux développeurs : Zeev Suraski et Andi Gutmans. La plate-forme telle que nous la connaissons actuellement est issue de cette version. À partir de ce moment, PHP change de nom. Il devient PHP Hypertext Preprocessor (acronyme récursif ). PHP 4 PHP 4 a été initié durant l’hiver 1998. Andi Gutmans et Zeev Suraski décidèrent de réécrire le moteur interne de PHP afin d’améliorer les performances et la modularité du code. PHP 5 PHP 5 est sorti en juillet 2004. Il propose un nouveau moteur, Zend Engine II, optimisé pour les nouvelles fonctionnalités que nous lui connaissons, notamment l’approche objet. 3.2 Architecture d’une application web utilisant PHP PHP associé à un serveur web 3.3 Le langage PHP -Les messages < ?php echo ("Mon premier code php ! "); //les parenthèses sont facultatives echo ("une page d\’inscription"); ?> -Les commentaires <?php //ceci est un commentaire dans une seule ligne /*ceci est un commentaire Dans deux lignes*/ ?> -Les variables <?php $nom= "Mohamed " ; $x=5; $y=10 ; $z=$x+$y ; echo "Le résultat est : "$z ; ?> -actions conditionnelles <?php $x=5; $y=10 ; If ($x>$y) { echo "x est supérieur à y " ; } Else {"x est inférieur ou égal à y " ; } uploads/Litterature/ daw-chapitre-iii.pdf

  • 17
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager