doc:adsillh:dev-app:wed-donnees
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| doc:adsillh:dev-app:wed-donnees [2024/07/29 21:22] – [JSON] pizzacoca | doc:adsillh:dev-app:wed-donnees [2024/07/29 21:56] (Version actuelle) – [Avènement du web] pizzacoca | ||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| * Du fait de la prolifération des « providers Internet » qui ont aussi contribué à la démocratisation des technologies dites « web ». | * Du fait de la prolifération des « providers Internet » qui ont aussi contribué à la démocratisation des technologies dites « web ». | ||
| + | ---- | ||
| ===== HTTP ===== | ===== HTTP ===== | ||
| ==== Définition ==== | ==== Définition ==== | ||
| + | {{ : | ||
| Ainsi le protocole HTTP s’est imposé comme fondement « réseau » de la plupart des échanges entre application. | Ainsi le protocole HTTP s’est imposé comme fondement « réseau » de la plupart des échanges entre application. | ||
| Ligne 21: | Ligne 23: | ||
| HTTP est un protocole de la couche application. Il peut fonctionner sur n' | HTTP est un protocole de la couche application. Il peut fonctionner sur n' | ||
| - | {{ : | + | |
| La version actuelle de http est la version 1.1. Elle a été publié par IETF en Février 2014 dans les RFC 7230 à 7237. | La version actuelle de http est la version 1.1. Elle a été publié par IETF en Février 2014 dans les RFC 7230 à 7237. | ||
| Ligne 330: | Ligne 332: | ||
| < | < | ||
| + | |||
| < | < | ||
| Ligne 349: | Ligne 352: | ||
| </ | </ | ||
| + | |||
| + | == DTD externe == | ||
| + | |||
| + | **fichier XML** | ||
| + | <code xml> | ||
| + | <?xml version=" | ||
| + | < | ||
| + | |||
| + | < | ||
| + | < | ||
| + | |||
| + | < | ||
| + | < | ||
| + | |||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | <!--Fin du document XML--> | ||
| + | </ | ||
| + | |||
| + | **Fichier parent.dtd** | ||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <!-- | ||
| + | #PCDATA indique au Parser XML que | ||
| + | l' | ||
| + | exprimées en chiffres ou en lettres. | ||
| + | Idem pour l' | ||
| + | --> | ||
| + | </ | ||
| + | |||
| + | La DTD contient : | ||
| + | |||
| + | Une ou plusieurs définitions d’éléments introduites par la balise !ELEMENT : | ||
| + | <code xml> | ||
| + | < | ||
| + | </ | ||
| + | Une ou plusieurs listes d’attributs introduites par la balise !ATTLIST : | ||
| + | <code xml> | ||
| + | < | ||
| + | </ | ||
| + | Une ou plusieurs définitions d’entité introduites par la balise !ENTITY : | ||
| + | <code xml> | ||
| + | <!ENTITY nom-entité " | ||
| + | </ | ||
| + | ou | ||
| + | <code xml> | ||
| + | <!ENTITY nom-entité SYSTEM " | ||
| + | </ | ||
| + | |||
| + | Espaces de nom | ||
| + | * XML Namespaces est une recommandation permettant d’utiliser le vocabulaire (les balises) de 2 DTD distinctes sans risque d’ambigüité. | ||
| + | |||
| + | Inconvénients des DTD : | ||
| + | * Une DTD est difficile à lire | ||
| + | * Une DTD est non extensible (ce n’est pas un document XML). | ||
| + | * Une DTD ne permet pas de typer les données | ||
| + | * Une DTD ne peut prendre en compte qu’un seul espace de nom (Namespace). | ||
| + | |||
| + | ==== XML schema ==== | ||
| + | |||
| + | En réponse aux lacunes des DTD, une alternative a été proposée comme recommandation : il s’agit de XML-Data dont XML-Schema est un sous-ensemble. | ||
| + | |||
| + | Cette nouvelle norme achève de faire d’XML | ||
| + | |||
| + | La version 1.1 de XML Schema (datée de mai 2001) se compose de 3 normes : | ||
| + | * XML Schema tome 0 : Introduction | ||
| + | * XML Schema tome 1 : Structures | ||
| + | * XML Schema tome 2 : Types de données | ||
| + | |||
| + | Les documents XML-Schema sont des documents qui : | ||
| + | * espectent la syntaxe XML, | ||
| + | * peuvent décrire la structure d’un document XML d’une façon beaucoup plus complète que les DTD. | ||
| + | XML-Schema permet en effet de : | ||
| + | * spécifier la typologie des données que va contenir le document XML décrit par le XML-Schema, | ||
| + | * gérer une quarantaine de types de données simples, | ||
| + | * gérer des types complexes, | ||
| + | * gérer les occurrences des données. | ||
| + | |||
| + | === Exemple === | ||
| + | |||
| + | **Document XML** | ||
| + | |||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Document XML-schema correspondant** | ||
| + | |||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Référence à un XML-Schema dans un document XML** | ||
| + | |||
| + | <code xml> | ||
| + | <entree xmlns=" | ||
| + | | ||
| + | | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | L’espace de nommage xsi correspond aux instances de documents XML respectant les contraintes définies dans un document XML-Schema. Le W3C a défini une librairie de balises et attributs pouvant être utilisés par ces documents. | ||
| + | |||
| + | La DTD permet de définir facilement et rapidement des grammaires simples. | ||
| + | |||
| + | XML-Schema permet de définir de manière plus formelle et complète une grammaire mais c’est au prix d’une complexité accrue. | ||
| + | |||
| + | Un document XML-Schema respecte la syntaxe XML. | ||
| + | |||
| + | Un document XML-Schema est généralement plus volumineux et plus difficile à lire qu’une DTD (pour un opérateur humain). | ||
| + | |||
| + | === Exemple de XML-XSD === | ||
| + | |||
| + | <code xml> | ||
| + | <?xml version=" | ||
| + | <cave xmlns: | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | <?xml version=" | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== TRANSFORMATION D’UN DOCUMENT XML ==== | ||
| + | |||
| + | Les outils destinés à transformer les documents XML représentent ceux-ci comme un arbre de nœuds XML. | ||
| + | |||
| + | XSL est le langage qui permet d’écrire des feuilles de style. | ||
| + | |||
| + | XPath est le langage qui permet d’adresser une partie ou plusieurs parties d’un document, c’est à dire un ou plusieurs nœuds du document XML. | ||
| + | |||
| + | Transformation effectuée par un processeur XSL Selon http:// | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | ===== XSL ===== | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | XSL : eXtensible Stylesheet Language. | ||
| + | |||
| + | Objectifs : Ce langage déclaratif permet de transformer un document XML en : | ||
| + | * un autre document XML, HTML, WML, SMIL | ||
| + | * un document papier: PDF, LaTeX | ||
| + | * du texte | ||
| + | |||
| + | |||
| + | |||
| + | ==== Principes ==== | ||
| + | |||
| + | Le langage XSLT décrit des règles pour transformer un document XML. | ||
| + | |||
| + | Ces règles de transformations s’appliquent chacune à un ou plusieurs nœuds de l’arbre et spécifient la transformation à effectuer sur un nœud pour le transformer en un nouveau nœud de l’arbre résultat. | ||
| + | |||
| + | Un processeur XSLT applique à un document XML les transformations décrites dans un document XSLT et génère un nouveau document (XML, HTML, texte) | ||
| + | |||
| + | Fonctions de base (transformations) offertes par une feuille de style XSLT : | ||
| + | * extraction de données | ||
| + | * génération de texte | ||
| + | * suppression de contenu (noeuds) | ||
| + | * déplacement de contenu (noeuds) | ||
| + | * duplication de contenu (noeuds) | ||
| + | * tri de données | ||
| + | |||
| + | Site de référence : | ||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | === Exemple === | ||
| + | |||
| + | Exemple Processeur côté serveur : un processeur installé sur le serveur envoie, après traitement le document résultant au client déploiement des servlets de transformation sous tomcat). | ||
| + | |||
| + | Dans l’exemple qui suit, on souhaite transformer un document XML en document HTML : | ||
| + | |||
| + | **XML source** | ||
| + | |||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | **HTML cible** | ||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | **XSLT correspondant** | ||
| + | |||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <p> | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | === Résumé === | ||
| + | |||
| + | XSL est un langage XML permettant de définir des feuilles de style | ||
| + | |||
| + | Les composants d’un document XSL sont : | ||
| + | * XSLT : pour manipuler les documents | ||
| + | * XPath : pour naviguer dans la structure hiérarchique des documents | ||
| + | * XSL Formatting Objects : pour définir la mise en forme des documents | ||
| + | |||
| + | === Conclusion === | ||
| + | |||
| + | Avantages d’XSLT : | ||
| + | * A partir d’un même document XML, on peut générer plusieurs formats en sortie (HTML, WML…) | ||
| + | Inconvénients d’XSLT : | ||
| + | * Bien que la version 1.0 ait été stabilisée, | ||
| + | XSLT versus CSS : | ||
| + | * XSLT peut tout à fait être utilisé de manière combinée avec les CSS, en particulier quand la cible est du HTML4 ou du XHTML1. | ||

doc/adsillh/dev-app/wed-donnees.1722288148.txt.gz · Dernière modification : de pizzacoca
