Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?
Au commencement… SGML HTML ! (dérive de SGML) Problème de ces langages Standard Generalized Markup Language Langage à balises pour représenter des documents structurés Complexe, difficile à apprendre Réservé aux professionnels de la documentation Difficilement extensible au Web HTML ! (dérive de SGML) Conçu dans l’optique d’afficher des « pages webs » C’est ce qui a fait son succès Problème de ces langages Un document peut se définir par le fond et par la forme. Forme = structure + présentation Fond = structure + sémantique
SGML 1969 C. Goldfarb, E. Mosher, R. Lorie inventent GML chez IBM GML a été créé pour éditer des documents, les mettre en page et les partager au sein de systèmes de gestion éditoriaux 1978 Goldfarb prend la tête d’un comité « Computer Language for the Processing of Text » au sein de l’American National Standards Institute (ANSI). SGML
Qu'est-ce que SGML ? Une norme internationale : Standard Generalized Markup Language ISO 8879 - 1989 Un métalangage de balisage de documents lisible par l’être humain et traitable par une machine permet de définir des langages de balisage Les documents sont balisés conformément à une grammaire (la DTD Document Type Definition) permet un balisage sémantique du fond. Implique la notion de validité d'un document SGML
SGML : objectifs Séparation du fond et de la forme possibilité de multiples présentations un seul document en SGML plusieurs formats : Postcript, HTML, etc. Support de traitements sur le contenu des documents sans prise en compte de la forme Proposition d’un cadre défini pour l’expression des modèles documentaires (validité, contrôle) Intégration d'un format de stockage et d’échange normalisé SGML
SGML : critiques Très lourd et complexe pour la mise en œuvre de documents respectant ce format Une grande rigueur est demandée à l'entrée des documents Standard complexe et complet pour le traitement des documents Liens hypertextes possibles mais complexes SGML
HTML : présentation Proposé par le W3C comme format de documents sur le Web. Langage simple avec des balises standardisées permettant la mise en forme d’un texte. Standard reconnu par tous les navigateurs. Langage très populaire sur le Web <HTML> <HEAD> <TITLE> Exemple </TITLE> </HEAD> <BODY> <H1>Contenu du document</H1> <A HREF = "http://www.server.fr/Info /dir/test.html"> une référence externe </A> </BODY> </HTML> HTML
HTML : inconvénients Normalisation des différentes balises difficile : les constructeurs ont eu tendance à définir leurs propres balises pour répondre à leurs besoins (incompatibilité) HTML 4.0 boutons, tables, applets, objects, graphiques, maths, ... styles, frames, protections, ... Mises à jour difficiles : Données utiles et mises en forme ; restructuration ou remise en forme de l’ensemble des pages du site fastidieux. Pas de vérification syntaxique Mélange le fond et la forme méta-données avec la présentation La sémantique du contenu est perdue Pages conçues pour 1 type de terminal HTML
Feuilles de style Introduite pour diversifier les présentations CSS (Cascading Style Sheet) mécanisme d'héritage entre nœuds une balise hérite de la parente seulement ce qu'elle spécifie est redéfini Recommandation W3C en décembre 1996 Mécanisme simple pour ajouter un style aux documents Web fonte, taille, couleur, etc. Utilisables avec XML HTML
XML : objectifs XML= un nouveau langage d'échange basé sur le balisage XML= plus simple que SGML XML= plus complexe et performant que HTML XML = développé par XML Working Group dirigé par le W3C (depuis 1996) XML 1.0 = recommandation officielle du W3C depuis le 10 février 1998 Origines
les 10 objectifs d ’XML XML doit pouvoir être utilisé sans difficulté sur Internet XML doit soutenir une grande variété d'applications XML doit être compatible avec SGML et HTML Il doit être facile d'écrire des programmes traitant les documents XML Le nombre d'options dans XML doit être réduit au minimum, idéalement à aucune Origines
les 10 objectifs D ’XML Les documents XML doivent être lisibles par l'homme et raisonnablement clairs La spécification de XML doit être disponible rapidement La conception de XML doit être formelle et concise Il doit être facile de créer des documents XML La concision dans le balisage de XML est peu importante Origines
Introduction à XML XML est un méta-langage universel pour les données sur le Web qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux browsers XML promet de standardiser la manière dont l'information est : Échangée (XML) Personnalisée (XSL) Retrouvée (XQuery) Sécurisée (Encryption, Signature) Liée (XLink) ... XML
XML : la base SGML XML HTML XHTML Document bien formé: <Vin> <Cru>Volnay</Cru> <Region> <Nom>Bourgogne</Nom> <Capitale>Dijon</Capitale> </Region> <Millesime>1995</Millesime> <Millesime>1996</Millesime> <Prix Unite = "Euro"> 10.5 </Prix> </Vin> SGML XML HTML XHTML Les utilisateurs peuvent définir leurs propres tags Il est possible d'imposer une grammaire spécifique (DTD, Schéma) Les tags indiquent la signification des sections marquées XML
Concepts de base Balise (ou tag ou label) Elément de données Attribut Marque de début et fin permettant de repérer un élément textuel Forme: <balise> de début, </balise> de fin Elément de données Texte encadré par une balise de début et une de fin Les éléments de données peuvent être imbriquées <producteur> <adresse> <rue>A. Briand</rue> <ville>Dijon</ville> </adresse> </producteur> Attribut Doublet nom="valeur" qualifiant une balise <producteur no="160017" region="Bourgogne"> XML
Pourquoi utiliser XML? Définir vos propres langages d’échange Lisible : texte balisé avec marquage Clair : séparation du fond et de la forme Extensible : supporte les évolutions applicatives Publier des informations Commande, facture, bordereau de livraison, etc. neutre du point de vue format mise en forme avec des feuilles de style Archiver des données (auto-description des archives) Développé par le W3C Pour le Web (Internet, Intranet) S'étend à l'entreprise et ses partenaires Supporté par les grands constructeurs IBM, Microsoft .net, SUN, BEA, etc. Des outils génériques et ouverts Pourquoi XML ?
Publication multi-supports Middleware XMLizer XML Application de publication (XSL) Base de Données TV Numérique Pourquoi XML ?
Échange de données Mapper Extractor Datawarehouse BD relationnelle JDBC JDBC BD relationnelle Datawarehouse Datamining Pourquoi XML ?
Gestion documents semistructurés Amendement Serveur d’Applications HTTP GET Requêtes Requêtes HTTP POST Mapping XML-SQL SGBDR Feuille de style XSL Processeur XSL Feuille de style XSL Feuille de style XSL HTML généré Interface avec les applications bureautiques Pourquoi XML ?
Échange B2B XML EDI Internet XML EDI Donneur d’ordre Fournisseur XMLizer Donneur d’ordre Internet (SOAP) Fournisseur Pourquoi XML ?
Forces et faiblesses de XML Une technologie structurante Clarifie tous les échanges Des standards internes et externes Transversale à l'entreprise Échanges de données Bureautique GED Sites Web EDI Bases de données Intégration e-business … Une syntaxe bavarde Un méta-langage, mais de nombreux langages Coûteux en CPU Parsing Coûteux en mémoire Instanciation Pourquoi XML ?