PHP & XML par KDO FORUM DU PHP 2002 PARIS



Documents pareils
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

XML : documents et outils

Master d Informatique Corrigé du partiel novembre 2010

les techniques d'extraction, les formulaires et intégration dans un site WEB

<?xml version="1.0" encoding="iso " standalone="yes"?>

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Document Object Model (DOM)

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Programmation des Applications Réparties. Parsers XML DOM et SAX

Gestion Électronique de Documents et XML. Master 2 TSM

SII Stage d informatique pour l ingénieur

BES WEBDEVELOPER ACTIVITÉ RÔLE

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Production de documents avec XSLT. Production de documents p.1/??

Les architectures 3-tiers Partie I : les applications WEB

NFE204 Bases de données avancées

XML et DOM. Matériel de cours. mars 1999 version 0.3 dernière modification: 24/3/99

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

Devenez un véritable développeur web en 3 mois!

Du livre enrichi et de l EPUB 3

Module BD et sites WEB

XML et Bases de données. Les bases de données XML natives.

Serveur d Applications Web : WebObjects

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

DOM - Document Object Model

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

L'API DOM : Document Object Model

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML

Module http MMS AllMySMS.com Manuel d intégration

Documentation CAS à destination des éditeurs

Les outils de création de sites web

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

< _155_0>

SYSTÈMES D INFORMATIONS

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

Gestion documentaire (Extraits du CCI version 1.2)

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Petite définition : Présentation :

Les services usuels de l Internet

Une sélection d'éléments docbook

HTML, CSS, JS et CGI. Elanore Elessar Dimar

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Sana Sellami. Licence Professionnelle SIL

Aspects techniques : guide d interfaçage SSO

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

4. SERVICES WEB REST 46

Les nouvelles architectures des SI : Etat de l Art

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Formation Webmaster : Création de site Web Initiation + Approfondissement

AWS avancé. Surveiller votre utilisation d EC2

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Les types de fichiers

Catalogue des Formations Techniques

Apache Cocoon Framework d'applications XML Sylvain Wallez Anyware Technologies

CONSERVATOIRE NATIONAL DES ARTS ET METIERS. Centre Régional Associé de Nantes. Mémoire présenté en vue d obtenir l examen probatoire en informatique

Installation de DocBook sur un système Linux

Master Technologies numériques appliquées à l'histoire Deuxième année

Livre Blanc WebSphere Transcoding Publisher

Introduction aux concepts d ez Publish

STID 2ème année : TP Web/PHP

Système d Analyse des Commandes : Dispositif Technique

Développement Web - Object Relational Mapping and Hibernate

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Architectures Web Services RESTful

HTML. Notions générales

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Pelleas : Le projet XML pour le systeme d information documentaire du polytechnicum de Marne- la Vallée

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Affichage et manipulation interactive de formules mathématiques dans les documents structurés

Drupal Développeur. Theming et développement pour Drupal. Une formation Formateur : Fabien Crépin. Drupal Développeur.

Systèmes d Information (SI) Zohra Zelfani

RTDS G3. Emmanuel Gaudin

From supply chain to demand chain

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Automatisation de l administration système

PDO : PHP Data Object 1/13

Quelques formats de fichiers courants

CxF - Color exchange Format - Format d'échange de teintes. Le langage universel pour communiquer les teintes de manière numérique.

Programmation Internet

Hébergement de site web Damien Nouvel

SP1 : Intégration d'une vidéo dans une mardi 21/01/2014. page web, fonction du format vidéo et 3 mercredi 22/01/2014

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Application Web et J2EE

PHP 5.4 Développez un site web dynamique et interactif

Web Tier : déploiement de servlets

L'essentiel de XML. Cours XML. Olivier Carton

< Atelier 1 /> Démarrer une application web

Transcription:

par KDO FORUM DU PHP 2002 PARIS

PLAN Introduction Dialectes XML XSLT Conclusion

XML qu'est ce que c'est? Une recommandation du W3C Un méta-langage Un format de données Un format de documents Un mode de structuration

XML une recommandation du W3C W3C = World Wild Web Consortium XML1.0 -> REC-xml-20001006 XML 1.1-> CR-xml11-20021015

XML un méta-langage Langage structurant un autre langage Dérivé de SGML tout comme HTML Père de nombreux dialectes

XML çà sert à quoi? (1) Publication électronique Indépendance vis à vis des plate-formes Indépendance vis à vis des média Internationalisation

XML çà sert à quoi? (2) Applications Web Échanges entre applications Traitement répartit Gestion de documents similaires ebusiness

XML est... Lisible par un humain Compréhensible par une machine Facile à mettre en oeuvre

XML exemple ' bien formé ' <?xml version="1.0"?> <dvds> <dvd id="12"> <titre>fight Club</titre> <date>2000</date> </dvd> <dvd id="27"> <titre>ai</titre> <date>2001</date> </dvd> </dvds>

XML exemple ' valide' <?xml version="1.0"?> <!DOCTYPE dvds SYSTEM "dvds.dtd"> <dvds> <dvd id="12"> <titre>fight Club</titre> <date>2000</date> </dvd> <dvd id="27"> <titre>ai</titre> <date>2001</date> </dvd> </dvds>

DTD exemple <!ELEMENT dvds (dvd*)> <!ATTLIST dvd id CDATA #REQUIRED> <!ELEMENT dvd (titre, date)> <!ELEMENT date (#PCDATA)> <!ELEMENT titre (#PCDATA)>

XML document bien formé / valide Une DTD n'est pas obligatoire Un document doit être bien formé Si DTD doit être valide

Dialectes XML W3C XHTML reformulation de HTML 4.0 XSL langage de style pour XML MathML expressions mathématiques SVG graphiques vectoriels SMIL synchronisation flux multimédia

XHTML du HTML bien formé (1) Une seule racine <html>...</html> Tous les éléments doivent être fermés <li>... </li> <br /> <hr /> Eléments et attributs en minuscules <a href=...>

Implémentation XML dans PHP Générer du XML 'à la main' DOM-XML Analyser du XML Parser SAX (extension xml) DOM (extension dom-xml)

Générer du XML ' à la main ' Générer du XML ' à la main ' function query2xml($q) { if(!($this->r = mysql_query($q, $this->lnk))) { $this->vwt_error("query2xml: failed: $q"); } $xml = '<?xml version="1.0" encoding="utf-8"?>'; $xml.= '<rows>'; while($row = mysql_fetch_assoc($this->r)) { $xml.= <row>; while (list($k, $v) = each($row)) { $xml.= "<$k>".$v."</$k>"; } $xml.= '</row>'; } $xml.= '</rows>'; mysql_free_result($this->r); return ($xml); }

! " # $ % & ' ( ) * +, - Générer du XML avec DOM-XML function query2xml($q, $lnk) { $R = mysql_query($q, $lnk) OR die("erreur : $q"); $DOC = domxml_new_doc('1.0') ; $node = $DOC->create_element('rows'); $new = $DOC->append_child($node); while ($L = mysql_fetch_assoc( $R )) { $record = $DOC->create_element('row'); $record = $new->append_child($record); while(list($k, $V) = each($l)) { $node = $DOC->create_element($K); $newnode = $record->append_child($node); $content = $DOC->create_text_node( $V); $newnode->append_child($content); } } return $DOC; }

. / 0 1 Parseur SAX (1) Simple API for XML --with-xml (par défaut) Parser événementiel Utilisation de fonctions callbacks

Parseur SAX (2) <?php function startelement($parser, $tag, $attrs) { global $cdcount; if ($tag == 'DVD') $cdcount++; } function endelement($parser, $tag) { } $cdcount = 0; if (!($parser = xml_parser_create())) die('impossible de créer le parser'); xml_set_element_handler($parser,'startelement','endelement' ); if (($fp = fopen('dvds.xml', "r"))) { while ($data = fread($fp, 4096)) { if (!xml_parse($parser, $data, feof($fp))) die('parse Error'); } xml_parser_free( $parser ); } echo 'Nombre de CDs : ', $cdcount;?>

XSLT une solution de templates(1) XSL XML chtml XSL XSLT WML XSL XHTML

2 3 4 5 6 XSLT une solution de templates(2) Une vraie séparation data/présentation Une solution homogène Un seul langage à apprendre Multi plate-forme Normalisée et documentée

7 8 XSLT & PHP SABLOTRON DOM-XSLT

9 : ; < XSLT / SABLOTRON --enable-xslt --with-xslt-sablotron Stable Peu performant

= >? @ XSLT / DOM-XSLT --with-dom --with-dom-xslt Utilise les libs Gnome libxml / libxslt Très performant

MVC => PHP + XML + XSLT SCRIPT 'VUE' XSL XSLT XHTML

RSS => WML (extrait fichier RSS) <item> <title>zephpmag n*4 out!</title> <link>zephpmag.com/news86.php</link> </item> <item> <title>codes-sources Party 2002</title> <link>zephpmag.com/news85.php</link> </item> <item> <title>sorties de scripts et librairies PHP</title> <link>zephpmag.com/news84.php</link> </item>

RSS => WML (extrait fichier XSL) <xsl:template match="item"> <xsl:variable name="pos" select="position()"/> <xsl:variable name="next" select="position()+1"/> <card id="n{$pos}"> <do type="prev" label="back"> <go href="#init"/> </do> <p><xsl:value-of select="title"/></p> <p align="right"><a href="#n{$next}">=></a></p> </card> </xsl:template>

RSS => WML (fichier PHP) <?php $xh = xslt_create(); $buf = xslt_process($xh,'test.rss','rss2wml.xsl'); xslt_free($xh); $f = fopen('phpdeb.wml', 'w'); if ($f) { fwrite($f, $buf); }?>

RSS => WML (extrait fichier WML) <card id="n1"> <do type="prev" label="back"> <go href="#init"/> </do> <p>zephpmag n*4 out!</p> <p align="right"> <a href="#n2">=></a> </p> </card>

A B C Conclusion Promouvoir XML dans les développements Utiliser des technologies provenant du monde J2EE Respect des normes