XML
Download
1 / 74

XML - PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on

XML. Extensible Markup Language. Why do we need XML?. SGML as an ISO Standard. XML. HTML. Introduction to XML Skill Level: Introductory Doug Tidwell ([email protected]) XML Evangelist IBM 07 Aug 2002. Standard Generalized Markup Language

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' XML' - fancy


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

XML

Extensible Markup Language


Why do we need xml
Why do we need XML?

SGML as anISO Standard

XML

HTML

Introduction to XML

Skill Level: Introductory

Doug Tidwell ([email protected])

XML Evangelist

IBM

07 Aug 2002

Standard Generalized Markup Language

(langage normalisé de balisage généralisé - SGML)

est un langage de description à balises, de norme ISO (ISO 8879:1986).

1986

1993

1996


Why do we need xml1
Why do we need XML?

<< "HTML is the most successful markup language of all time.

<p>

<b>Mrs. Mary McGoon</b>

<br/>

1401 Main Street

<br/>

Anytown, NC 34829

</p>

The trouble with HTML is that it was designed with humans in mind. …

The tags don't tell the browser what the information is. You and I know it's an address, but a machine doesn't. ">>



Data Integration / e-Business Focus une galaxie.

Document and Publishing Focus

<XML>


SOA and Web Services une galaxie.

Data Integration / e-Business Focus

Document and Publishing Focus

SOAP

XQuery

XSLT

ApplicationIntegration

SVG

EXI

Flexible DataInterchange

XSL-FO

RelaxNG

Schemas

DTDs

<XML>


Training
training une galaxie.

  • http://www.w3schools.com/xpath/xpath_intro.asp


W3C une galaxie.


Xml et la diversit d utilisation et fonctionnement
XML et la diversité d'utilisation et fonctionnement une galaxie.

  • XML TutorialsXML TutorialDTD TutorialXML DOM TutorialXSL TutorialXSLT TutorialXSL-FO TutorialXPath TutorialXQuery TutorialXLink TutorialXPointer TutorialSchema TutorialXForms TutorialSOAP TutorialWSDL TutorialRDF TutorialRSS TutorialWAP TutorialWeb Services Tutorial


Xml et la diversit d utilisation et fonctionnement1
XML et la diversité d'utilisation et fonctionnement une galaxie.

  • XML voué à la simplicité des échanges est aujourd'hui une galaxie.

XML Schema pour définir les structures et les types de données

XSLT pour transformer des données XML

SOAP XML pour échanger des données entre les applications

WSDL pour décrire les services Web

RDF pour décrire des ressources Web

XPath et XQuery pour accéder à des données XML SMIL pour des graphiques


Plan une galaxie.

  • XML

  • Balise

  • Contenu et balisage

  • Éléments

  • Documents


Plan une galaxie.

  • XML

  • Balise

  • Contenu et balisage

  • Éléments

  • Documents


XML une galaxie.

  • Permet le stockage l'organisation et la vérification de l'information.

  • XML est un standard W3C.

    • XML est devenu indispensable dans le système d'information.


Plan une galaxie.

  • XML

  • Balise

  • Contenu et balisage

  • Éléments

  • Documents


Balisage
Balisage une galaxie.

  • XML est un ensemble de règles permettant la création de langages de balisage.

    • un langage de balisage est un ensemble de symboles placés dans le corps d'un document afin d'en délimiter et d'en étiqueter les différentes parties.

  • XML n'est pas en langage en lui-même : c'est une spécification

  • Le balisage améliore la compréhension de l'information.

    • HTML : <i> 183 <i>

    • XML : <taille unite="cm"> 183 </taille>


Plan une galaxie.

  • XML

  • Balise

  • Contenu et balisage

  • Éléments

  • Documents


Balisage et contenu
Balisage et contenu une galaxie.

  • Le contenu et le balisage sont des valeurs informatives du document.

    • Le Contenu est ce qui compte pour le lecteur mais cela doit être présenté d'une façon signifiante.

    • Le Balisage permet au programmes de déterminer les fonctions et les limites de ces différents contenus (voir plus loin).


Plan une galaxie.

  • XML

  • Balise

  • Contenu et balisage

  • Éléments

  • Documents


Les l ments
Les éléments une galaxie.

  • Les éléments sont des morceaux qui composent un document.

  • Ils s'imbriquent les uns dans les autres structurant et étiquetant le contenu d'un document.


Plan une galaxie.

  • XML

  • Balise

  • Contenu et balisage

  • Éléments

  • Documents


Le document
Le document une galaxie.

  • Un document est en XML l'unité fondamentale de l'information.

    • C'est un ensemble ordonné de balises et éléments

    • Le document peut correspondre à

      • une BD

      • un format d'échange de données entre application

      • (c'est une notion plus large que le document traditionnel)


Mod le de document
Modèle de document une galaxie.

  • Il existe deux moyens pour créer un langage dérivé de XML

    • XML sans modèle

      On parle de document bien formé, si le document satisfait aux règles minimales de XML

    • XML modèle de document

      Création d'une spécification qui établit les règles propres du document.

      La conformité des instances de document est obtenu par comparaison avec le modèle

      On parle de validation de document.


Type de document
Type de document une galaxie.

  • On parle de type de document (ou application XML) qui respecte les règles de XML.

  • Il existe de nombreuses applications XML dans de nombreux domaines.

    • XMLNews is a specification for exchanging news and other information.

    • XML Weather Service

      • http://www.weather.gov/xml/current_obs/

    • http://www.medicalnewstoday.com/index.php?page=newsfeed


Pr sentation
Présentation une galaxie.

  • En XML, les styles et mise en forme du document sont définis dans un document appelé feuille de style.

  • L'idée est de séparer la forme du fond


Traitement
Traitement une galaxie.

  • Tout programme qui peut lire et traiter du XML est appelé processeur XML.

  • On parle de traitement du XML.

    • Validateurs

    • Navigateurs

    • Parseurs

  • Le parseur transforme par exemple le flux de caractères en atomes et construit une structure d'arbre en mémoire.


Exemple de transformation
Exemple de Transformation une galaxie.

  • Un processus qui réorganise les différentes parties d'un document est appelée transformation.

  • Les documents sont transformés à l'aide de XSLT (Extensible Style Language for transformation)

  • il est possible de

    • résumer

    • extraire

    • calculer

      • Limites du HTML.


Document
Document une galaxie.

  • Prologue

  • Contenu textuel

  • Les chevrons (<>) et les noms qu'ils encadrent sont appelé des balises.

  • Elles marquent et nomment les parties du document et ajoutent des informations qui aident à en définir la structure.

  • Le balisage et le contenu sont complémentaires.

  • Ils forment ensemble une entité d'information dont les données sont découpées et étiquetées.


  • <!-- Prologue --> une galaxie.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!-- Élément racine -->

    <biblio>

    <!-- Premier enfant -->

    <livre>

    <!-- Élément enfant titre -->

    <titre>Les Misérables</titre>

    <auteur>Victor Hugo</auteur>

    <nb_tomes>3</nb_tomes>

    </livre>

    <livre>

    <titre>L'Assomoir</titre>

    <auteur>Émile Zola</auteur>

    </livre>

    <livre lang="en">

    <titre>David Copperfield</titre>

    <auteur>Charles Dickens</auteur>

    <nb_tomes>3</nb_tomes>

    </livre>

    </biblio>


    Prologue
    Prologue une galaxie.

    • Contient une déclaration XML décrivant des propriétés générales du document indiquant au processeur XML qu'il a besoin d'un parseur XML pour l'interprétation du document.

    • Une déclaration de type

      • on spécifie la déclaration d'entité la DTD utilisée, nom de l'élément racine.


    Exemple d claration xml
    Exemple : Déclaration XML une galaxie.

    <?xml nom="val" ... ?>

    propriété

    Propriété :

    • version

    • encoding

    • standalone (No : indique qu'il faut charger d'autres fichiers)


    <!-- Prologue --> une galaxie.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!-- Élément racine -->

    <biblio>

    <!-- Premier enfant -->

    <livre>

    <!-- Élément enfant titre -->

    <titre>Les Misérables</titre>

    <auteur>Victor Hugo</auteur>

    <nb_tomes>3</nb_tomes>

    </livre>

    <livre>

    <titre>L'Assomoir</titre>

    <auteur>Émile Zola</auteur>

    </livre>

    <livre lang="en">

    <titre>David Copperfield</titre>

    <auteur>Charles Dickens</auteur>

    <nb_tomes>3</nb_tomes>

    </livre>

    </biblio>


    D claration de type
    Déclaration de type une galaxie.

    • <!DOCTYPE racine SYSTEM "URI vers la DTD">

    • C'est une déclaration optionnelle servant à attacher une grammaire de type Document Type Definition au document XML.


    Exemple
    exemple une galaxie.

    <?xml version="1.0"?>

    <!DOCTYPE note [

    <!ELEMENT note (to,from,heading,body)>

    <!ELEMENT to (#PCDATA)>

    <!ELEMENT from (#PCDATA)>

    <!ELEMENT heading (#PCDATA)>

    <!ELEMENT body (#PCDATA)>

    ]>

    <note>

    <to>Tove</to>

    <from>Jani</from>

    <heading>Reminder</heading>

    <body>Don't forget me this weekend</body>

    </note>

    http://www.w3schools.com/dtd/default.asp


    Balisages
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

    • commentaires

    • les instructions de traitements

    • sections CDATA


    Balisages1
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

    • commentaires

    • les instructions de traitements

    • sections CDATA


    L ments
    Éléments une galaxie.

    • Les éléments sont les parties d'un document

      <nom attribut="val" ... >

      contenu

      </nom>

    • Les éléments vides

      <nom attribut="val" ... />

      Les éléments sont soumis aux règles de positionnement

    • La balise de fin doit arriver après la balise de début

    • Les balises début et fin doivent apparaître tous deux à l'intérieur d'un même élément parent.


    <!-- Prologue --> une galaxie.

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!-- Élément racine -->

    <biblio>

    <!-- Premier enfant -->

    <livre>

    <!-- Élément enfant titre -->

    <titre> Les Misérables </titre>

    <auteur>Victor Hugo</auteur>

    <nb_tomes>3</nb_tomes>

    </livre>

    <livre>

    <titre>L'Assomoir</titre>

    <auteur>Émile Zola</auteur>

    </livre>

    <livre lang="en">

    <titre>David Copperfield</titre>

    <auteur>Charles Dickens</auteur>

    <nb_tomes>3</nb_tomes>

    </livre>

    </biblio>


    L ments1
    Éléments une galaxie.

    • Nom d'un élément : suite non vide de

      • caractères alphanumériques

      • tiret-souligné (underscore)

      • signe moins

      • point

      • caractère deux-points (:)

        ce caractère possède un sens particulier

    • Contraintes à satisfaire

      • le premier caractère doit être alphabétique ou un tiret-souligné

      • les trois premiers caractères ne doivent pas former une chaîne dont la représentation en lettres minuscules est "xml".


    L ments2
    Éléments une galaxie.

    • Corrects

      • _tiyi

      • Nom_société

      • xsl:rule

      • X.11

    • Incorrects

      • 2009-catalogue

      • XmlSpécifification

      • nom société


    Balisages2
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

    • commentaires

    • les instructions de traitements

    • sections CDATA


    Attributs
    Attributs une galaxie.

    • Un élément peut avoir un nombre quelconque d'attributs

      • nom="valeur"

    • attributs réservés :

      • xml:lang

      • xml:space

      • xml:link

      • xml:attribut


    Attributs ou l ments
    Attributs ou éléments une galaxie.

    • On peut écrire avec des attributs ce que l'on écrit avec des éléments

      <livre lang="en">

      </livre>

      <livre>

      <lang>en </lang>

      </livre>

    • L'inverse n'est pas vrai


    R gles
    Régles une galaxie.

    • Choix de l'attribut, lorsque une valeur

      • n'est pas répétée

      • n'évoluera pas vers une structure complexe

    • En cas de doute

      • choix de l'élément


    Balisages3
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

    • commentaires

    • les instructions de traitements

    • sections CDATA


    Espace de noms garantir l absence de conflits
    Espace de noms : garantir l'absence de conflits une galaxie.

    doc 2

    doc1

    doc 3

    nom (livre)

    nom (auteur)


    Choix d un identifiant unique
    Choix d'un identifiant unique une galaxie.

    • L'identifiant pourrait être n'importe quel chaîne de caractère.

    • L'identifiant est généralement une URL

      • L'URL ne signifie pas qu'il doit y avoir un document sur le serveur.


    Choix d un identifiant unique1
    Choix d'un identifiant unique une galaxie.

    <h:table xmlns:h="http://www.w3.org/TR/html4/">

    <f:table xmlns:f="http://www.w3schools.com/furniture">


    Exemple1
    exemple une galaxie.

    • xmlns:xlink="http://www.w3.org/1999/xlink"

    • xmlns:xsl="http://www.w3.org/1999/XSL/Transform"


    Exemple2
    Exemple une galaxie.

    <?xml version="1.0" encoding="utf-8"?>

    <library xmlns="http://dyomedea.com/ns/library" >

    <book id="b0836217462">

    <title>Being a Dog Is a Full-Time Job</title>

    <authors>

    <person id="CMS">

    <name>Charles M Schulz</name>

    </person>

    </authors>

    </book>

    </library>


    Remarque
    remarque une galaxie.

    • l'espace de nom est invisible : Mozilla



    Equivalence des critures
    Equivalence des écritures une galaxie.

    <?xml version="1.0"?>

    <lib:library xmlns:lib="http://dyomedea.com/ns/library">

    <lib:book id="b0836217462">

    <lib:title>

    Being a Dog Is a Full-Time Job

    </lib:title>

    <lib:authors>

    <lib:person id="CMS">

    <lib:name>

    Charles M Schulz

    </lib:name>

    </lib:person>

    </lib:authors>

    </lib:book>

    </lib:library>

    <?xml version="1.0" encoding="utf-8"?>

    <library xmlns="http://dyomedea.com/ns/library" >

    <book id="b0836217462">

    <title>Being a Dog Is a Full-Time Job</title>

    <authors>

    <person id="CMS">

    <name>Charles M Schulz</name>

    </person>

    </authors>

    </book>

    </library>


    Espace de noms par d faut
    Espace de noms par défaut une galaxie.

    <library xmlns="http://dyomedea.com/ns/library" >

    <book id="b0836217462">

    </book>

    </library>

    • L'espace de noms http://dyomedea.com/ns/library est définie comme l'espace de noms par défaut.

    • L'espace de noms s'applique à tous les éléments du document.


    Et encore
    Et encore ! une galaxie.

    <?xml version="1.0"?>

    <l:library xmlns:l="http://dyomedea.com/ns/library">

    <l:book id="b0836217462" xmlns:lib="http://dyomedea.com/ns/library">

    <l:title>

    Being a Dog Is a Full-Time Job

    </l:title>

    <lib:authors>

    <l:person id="CMS" xmlns="http://dyomedea.com/ns/library">

    <name>

    Charles M Schulz

    </name>

    </l:person>

    </lib:authors>

    </l:book>

    </l:library>


    Coexistence des espaces de noms
    coexistence des espaces de noms une galaxie.

    <?xml version="1.0"?>

    <!-- Namespace: http://dyomedea.com/ns/library -->

    <library xmlns="http://dyomedea.com/ns/library"

    xmlns:mkt="http://dyomedea.com/ns/library/mkt">

    <book id="b0836217462">

    <title>

    Being a Dog Is a Full-Time Job

    </title>

    <authors>

    <person id="CMS">

    <name>

    Charles M Schulz

    </name>

    </person>

    </authors>

    <mkt:cover>

    Paperback

    </mkt:cover>

    <mkt:pages>

    128

    </mkt:pages>

    </book>

    </library>

    XML sert de glue entre applications,

    et les espaces de noms ont été créés pour

    faire cohabiter différents vocabulaires.

    En ajoutant des nouveau espaces de noms

    "mkt=marketing" le reste de l'application est

    inchangée.


    Balisages4
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

      • Entités

      • Entité de caractère

      • Entités de contenu mixte

      • Entité non parsée

    • commentaires

    • les instructions de traitements

    • sections CDATA


    Une entit
    Une entité une galaxie.

    • Son rôle

      • remplacement de caractère

      • marquage de position pour inclure un fichier

      • joue le rôle de variable de remplacement dans le document

    • Une entité générale est une réserve de contenu qui apparaît au niveau de la racine où à n'importe quel niveau à l'intérieur de celui-ci.

    • Losque le parseur rencontre des appels d'entités, il recherche dans une table en mémoire le marqueur pour le remplacer dans le document.


    Entit de caract re
    Entité de caractère une galaxie.

    • Pour éviter des conflits avec les délimiteurs de balisage


    Unit de caract re num rique
    Unité de caractère Numérique une galaxie.

    • Unicode 10000 caractères, symboles.

    • Impossibilités d'utiliser le clavier, remplacé par un code de saisie numérique

      • ¥

      • &yen;

      • &#xa5;


    Entit s de contenu mixte
    Entités de contenu mixte une galaxie.

    • Entité interne

      • <!ENTITY nom "<name>nom</name>">

    • Entité externe

      • <!ENTITY chap1 SYSTEM "chap1.xml">

    Identifiant système

    est une URL, qui permet d'inclure n'importe quel fichier


    Entit non pars e
    Entité non parsée une galaxie.

    • L'analyse syntaxique doit restreindre son analyse à des documents comme les images, graphique.

      • <!ENTITY img SUSTEM "Photo.gif" NDATA GIF>

    Exemple d'identifiant de notation


    Balisages5
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

    • commentaires

    • les instructions de traitements

    • sections CDATA


    Commentaires
    Commentaires une galaxie.

    • <!-- texte -->


    Balisages6
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

    • commentaires

    • les instructions de traitements

    • sections CDATA


    Instructions de traitements
    Instructions de traitements une galaxie.

    • joue le rôle de conteneur pour des données destinées à un processeur XML spécifique

      • <? nom données ?>


    Balisages7
    Balisages une galaxie.

    • élément

    • attribut

    • espace de noms

    • entités

    • commentaires

    • les instructions de traitements

    • sections CDATA


    Sections cdata
    Sections CDATA une galaxie.

    • CDATA : caractères data : signifie pas de balise

    • Indique au parseur que les caractères de balisage doivent être traités comme des caractères normaux.


    Documents bien form s
    Documents bien formés une galaxie.

    • Les documents bien formés répondent à un ensemble de règles de bases :

      • les délimiteurs de balise doivent être corrects

      • une balise de fin suit une balise début

      • les éléments ne se chevauchent pas

        • si un document répond à ces règles, il est bien formé.


    Plan une galaxie.

    • XML

    • Balise

    • Contenu et balisage

    • Éléments

    • Documents


    • EOF une galaxie.


    Format de fichier
    Format de fichier une galaxie.

    Le standard et ses extensions proposent :

    • support de très nombreux encodages (Unicode, ISO Latin, etc.) international

    • inclusion et macro (très élémentaires)

    • contraintes de structure :

      • Document Type Definition (DTD),

      • Schéma

    • méta organisation : namespace

    • liens évolués : XPointer et Xlink

    • stockage :

      • bases de données XML (langage de requêtes XQuery)

      • compression spécialisée

      • calcul de différences (gestion de version)


    Programmation
    Programmation une galaxie.

    Le standard et ses extensions proposent :

    • analyse syntaxique :

      • modèle objet : Document Object Model (DOM)

      • modèle évènementiel : Simple API for Xml (SAX)

      • sérialisation

    • validation (en général intégrée à l’analyseur) :

      • DTD

      • schéma

    • moteur de transformation (d’un document XML en un autre) : XSLT

    • expressions rationnelles XML : XPath

    • Outils Open Source par le groupe apache

      • http://xml.apache.org :

        • Xerces : analyse syntaxique et validation

        • Xalan : transformation et expressions rationnelles (voir

          aussi Saxon, http://saxon.sourceforge.net/)


    Outils et normes utiles
    Outils et normes utiles : une galaxie.

    • base de connaissances : Ressource Description Framework (RDF)

    • transformation vers HTML et WML : XSLT

    • impression de qualité : XSL :FO

    • dessin vectoriel : Scalable Vector Graphics (SVG)

    • animation : SMIL

    • mathématiques : MathML

    • RPC en XML : xmlrpc et SOAP

    • Outils Open Source par le groupe apache

      • http://xml.apache.org :

      • FOP : support de XSL :FO

      • Batik : support de SVG


    ad