XML
XML
OBJECTIF
L’objectif de cette matière est de faire apprendre les étudiants les principes fondamentaux du langage XML, sa
mise en œuvre et sa pratique : créer et visualiser des documents XML.
Des documents XML évolutifs sont composés afin de comprendre comment ceux-ci peuvent servir de point de
départ de sites internet. Puis vous apprenez à créer des documents riches efficaces et bien structurés.
Contenu du cours
What is XML?
o XML stands for eXtensible Markup Language
o XML is a markup language much like HTML
o XML was designed to store and transport data
o XML was designed to be self-descriptive
1
XML Example 1
<?xml version="1.0" encoding="UTF-
8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this
weekend!</body>
</note>
2
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
3
All elements can have sub elements (child elements):
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
text
attributes
other elements
or a mix of the above
<person gender="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
Sometimes ID references are assigned to elements. These IDs can be used to identify
XML elements in much the same way as the id attribute in HTML. This example
demonstrates this:
<messages>
<note id="501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note id="502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>
<!DOCTYPE TVSCHEDULE [
5
XML Namespaces
XML Namespaces provide a method to avoid element name conflicts names ,are defined
by the developer. This often results in a conflict when trying to mix XML documents from
different XML applications.
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Solving the Name Conflict Using a Prefix
<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="https://www.w3schools.com/furniture">
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Namespaces in Real Use
XSLT is a language that can be used to transform XML documents into other formats.
The XML document below, is a document used to transform XML into HTML.
6
The namespace "http://www.w3.org/1999/XSL/Transform" identifies XSLT elements inside
an HTML document:
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" e
ncoding="UTF-8"?>
<xsl:stylesheet versi
on="1.0"
xmlns:xsl="http://www
.w3.org/1999/XSL/Tran
sform">
<xsl:template match="
/">
<html>
7
<body>
<h2>My CD
Collection</h2>
<table border="1">
<tr bgcolor="#9ac
d32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each sel
ect="catalog/cd">
<xsl:for-each
select="catalog/cd[artis
t='Bob Dylan']">
<xsl:sort
select="artist"/>
<xsl:if test="price
> 10">
<tr>
<td><xsl:value-
of select="title"/></
td>
<td><xsl:value-
of select="artist"/><
/td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0"
encoding="UTF-8"?>
<?xml version="1.0" e
ncoding="UTF-8"?>
<?xml-stylesheet typ
e="text/xsl" href="cd
catalog.xsl"?>
<catalog>
<cd>
<title>Empire
Burlesque</title>
<artist>Bob
Dylan</artist>
8
<country>USA</cou
ntry>
<company>Columbia
</company>
<price>10.90</pri
ce>
<year>1985</year>
</cd>
.
</catalog>
Cdcat.xslt
<xsl:stylesheet xmlns
:xsl="http://
www.w3.org/1999/XSL/
Transform" version="1
.0">
<xsl:template match="
/">
<html>
<body>
<h2>My CD
Collection</h2>
<table border="1">
<tr bgcolor="#9acd32"
>
<th style="text-
align:left">Title</
th>
<th style="text-
align:left">Artist</
th>
</tr>
<xsl:for-each select=
"catalog/cd">
<tr>
<td>
<xsl:value-of select=
"title"/>
</td>
<td>
<xsl:value-of select=
"artist"/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
9
xsl:choose>
<xsl:when test="expression">
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<xsl:choose>
<xsl:when test="price > 10">
<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="artist"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:for-each>
</table>\\
<xsl:apply-templates/>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="cd">
<p>
<xsl:apply-templates select="title"/>
<xsl:apply-templates select="artist"/>
</p>
</xsl:template>
10
<xsl:template match="title">
Title: <span style="color:#ff0000">
<xsl:value-of select="."/></span>
<br />
</xsl:template>
<xsl:template match="artist">
Artist: <span style="color:#00ff00">
<xsl:value-of select="."/></span>
<br />
</xsl:template>
</xsl:stylesheet
11
Objectif TRAVAUX PRATIQUES – INTEGRATION
TP 80 heures
L’objectif de ces travaux pratiques est de familiariser les étudiants à utiliser et intégrer des outils logiciels à
aspects différents dans les mêmes applications.
Les étudiants, après avoir manipuler les heures de TP indiquées ci-dessous, seront capables de coder des
applications qui tournent sur des pages Internet et traitant des bases de données à travers des pages PHP ou
HTML.
Les heures de TP doivent couvrir des exemples, des exercices et des cas réels en utilisant successivement :
Intégration : PHP et SQL TP 40 heures 2 périodes par semaine
Contenu du cours
Chapitre 1
Introduction PHP et SQL (2 h)
1.1 Application web
1.2 L'origine de PHP
1.3 Comment PHP fonctionne avec le Server
1.4 Utilisations de PHP
1.5 Intégrer du code PHP dans des pages HTML
1.6 Exemples de scripts
Chapitre 2
Syntaxe du langage PHP (8 h)
2.1 Ouverture et fermeture
2.2 Présentation du code
2.3 Parenthèses
2.4 Accolades
2.5 Commentaires
2.6 Opérateurs
2.6.1 Arithmétique
2.6.2 Affectation
2.6.3 Incrémentation / décrémentation
2.6.4 Comparaison
2.6.5 Logique
2.7 Types de variable
2.8 Variables
2.8.1 Déclarations des variables
2.8.2 Types des variables.
2.8.2.1 local
2.8.2.2 global
2.8.2.3 statique
2.8.2.4 paramètre.
12
2.9 Variable de chaine de caractère (string)
2.9.1 Opérateur de concaténation
2.9.2 Fonction Stslen()
2.9.3 Fonction strpas()
2.9.4 Quelques opérateurs utiles
2.10 Constantes
2.11 Affichage
Chapitre 3
Les instructions (6 h)
3.1 If (if …else, if…elseif…else)
3.2 switch
3.3 Tableaux (Arrays)
3.3.1 Définition
3.3.2 Tableaux numériques
3.3.3 Tableaux associatifs
3.3.4 Tableaux à multi-dimensions
3.3.5 Fonctions Tableaux
3.3.6 Constantes Tableaux
3.4 for
3.5 while
3.6 do while
3.7 each
3.8 foreach
Chapitre 4
Les fonctions (4 h)
4.1 Introduction de fonction
4.2 Bibliothèque de fonctions PHP (Built in functions)
4.2.1 Fonctions de tableau
4.2.2 Fonctions de chaîne
4.2.3 Fonctions de date et heure
4.3 Fonction définie par l'utilisateur
4.3.1 Définition d'une fonction avec et sans paramètres
4.3.2 Renvoyer une valeur de fonction
4.3.3 Appels de fonctions dynamiques
4.3.4 Définition des valeurs par défaut pour les arguments
4.3.5 Passer des arguments à une fonction par valeur
4.3.6 Passage d'arguments à une fonction par référence
4.4 Forme avec PHP
4.4.1 Get
4.4.2 Post
Chapitre 5
Les fichiers (6 h)
5.1 Include
13
5.2 Manipulations des fichiers
5.2.1 Ouverture d’un fichier
5.2.2 Fermeture
5.2.3 Vérifiez fin du fichier
5.2.4 Lecture
5.3 PHP cookies
5.3.1 Définition
5.3.2 Comment créer
5.3.3 Comment récupérer
5.3.4 Comment effacer
5.4 Session
5.4.1 Variable session PHP
5.4.2 Commencer une session PHP
5.4.3 Enregistrer une session variable
5.4.4 Détruire une session
Chapitre 6
Introduction et connexion à une base de données(14 h)
6.1 Introduction à une BDD
6.2 Connexion à une BDD en utilisant le PHP
6.3 Création des tables
6.4 Sélection des données d’une BDD : Where - Order by
6.6 Mise à jour d’une BDD
6.7 Effacer les données dans une BDD
Contenu du cours
Chapitre 1
JavaScript : Le Langage (6 h)
1.1 Définition et vue d'ensemble
1.2 Syntaxe JavaScript
1.3 Variables et valeurs
1.4 Déclarations et opérateurs
1.5 Structures de contrôle : if, while, for
1.6 Fonctions et Objets
1.7 Exemples et exercices
Chapitre 2
TP 40 heures
6.5 Affichage des résultats dans un tableau HTML
Integration : JAVA SCRIPT
14
Evénements et JavaScript (6 h)
2.1 Événements et Actions
2.2 Formulaires d’entrée et événements
2.3 Actions qui ne sont pas des événements
2.4 le code JavaScript dans HTML
2.5 Utilisation du manipulateur des événements JavaScript (JavaScript
Handler)
2.6 Exemples et exercices
Chapitre 3
Objets JavaScript (8 h)
3.1 Objets, Propriétés et Méthodes dans JavaScript
3.2 Objets Encastrés : Objets String, Objets Math, Objets date, Fonctions
encastrées
3.3 Navigateur et Objets HTML
3.4 L'Objet String
3.5 Méthodes chaîne de caractères, charAt, indexOf, lastIndexOf, Substring,
Length, l'objet de Math, méthodes de Math, propriétés de Math
3.6 L'objet date: Date, get, set, to, et parse Methods
3.7 Exemples et exercices
Chapitre 4
HTML Dynamique et Objets du Navigateur
(10 h)
4.1 Hiérarchie des objets JavaScript
4.1.1 Navigateur et Windows
4.1.2 Création de la Fenêtre Dynamique
4.1.3 Fenêtre Statut
4.1.4 Objet (location)
4.1.5 Objet (History)
4.1.6 L'objet Document
4.2 Les documents Dynamiques
15
4.2.1 Restrictions sur les documents write
4.2.2 Utilisation des documents naissants
4.2.3 Une page produite totalement par JavaScript
Chapitre 5
Contrôle de la Page Web (10 h)
5.1 Construction de la page Web avec JavaScript
5.2 Propriétés de texte et Valeurs des Couleurs
5.3 Polices de caractères et Méthodes de la Police de caractères
5.4 Architecture de l’éditeur de message de JavaScript
5.5 Exemples et exercices
4.3 Exemples et exercices
C
16