0% found this document useful (0 votes)
8 views

XML

computer science

Uploaded by

Azza El Ali
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

XML

computer science

Uploaded by

Azza El Ali
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

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

Chapitre 1 Introduction (8 Chapitre 2 XML : Le langage (16 Chapitre 3


h) h) Quelques aspects élémentaires (16 h)
1.1 Balisage structurel 2.1 Les règles de syntaxe XML 3.1 Qu'est-ce qu'un document bien
1.2 Origine 2.1.1 La notion de tags XML formé ?
1.3 HTML et XML - Les règles syntaxiques 3.2 Qu'est-ce qu'un document valide ?
1.3.1 Ensemble prédéfini élémentaires 3.3 Les outils de validation
de balises - Imbrication des tags XML 3.3.1 Où définir une DTD ?
1.3.2 Des liens simples - Les commentaires en XML - Définition d'une DTD embarquée
1.4 Apports décisifs de XML - Quelques bonnes pratiques dans un fichier de données XML
1.4.1 Extensibilité et 2.1.2 Les attributs de tags - Définition d'une DTD dans un fichier
structure - Syntaxe générale externe
1.4.2 Modularité et - De la bonne utilisation des 3.3.2 Définition des règles d'utilisation
réutilisation des structures attributs de tags des tags
types - Quelques attributs prédéfinis - Définition de tags contenant des
1.4.3 Contrôle de validité 2.1.3 Le prologue du fichier XML données
1.4.4 Accès à des sources - Version du XML et système - Définition de tags contenant des
d’information hétérogènes d'encodage sous-tags
1.5 Exemples et exercices - Liaison à une DTD 3.3.3 Définition de listes d'attributs
2.1.4 Aspects avancés de la - Aspects élémentaires de définition
syntaxe XML d'attributs
- La notion de namespaces - Aspects avancés de définition
- Injection de caractères Unicode d'attributs
- Utilisation des entités 3.3.4 Définition d'entités
prédéfinies - Définition d'entités internes
2.1.5 Le prologue du fichier XML - Définition d'entités externes
- Version du XML et système 3.4 Exercices
d'encodage
- Liaison à une DTD
2.1.6 Conclusion
- Mise en œuvre d'une DTD
2.2 Exercices

 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>

With XML, the data can be stored in separate XML files.

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>

<book category="web" cover="paperback">


<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
The XML Tree Structure

3
All elements can have sub elements (child elements):

<root>
<child>
<subchild>.....</subchild>
</child>
</root>

An element can contain:

 text
 attributes
 other elements
 or a mix of the above

<person gender="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>

XML Attributes for Metadata

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 [

<!ELEMENT TVSCHEDULE (CHANNEL+)>


<!ELEMENT CHANNEL (BANNER,DAY+)>
<!ELEMENT BANNER (#PCDATA)>
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
<!ELEMENT HOLIDAY (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
4
<!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>
<!ELEMENT TIME (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)>

<!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>


<!ATTLIST CHANNEL CHAN CDATA #REQUIRED>
<!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>
<!ATTLIST TITLE RATING CDATA #IMPLIED>
<!ATTLIST TITLE LANGUAGE CDATA #IMPLIED>
]>

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.

This XML carries HTML table information:

<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

This XML carries information about a table (a piece of furniture):

<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:

<?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>
<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
&gt; 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 &gt; 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

You might also like