XML - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

XML

Description:

Une DTD suit des r gles strictes pour assurer que les r sultats d sir s sont obtenus et les donn es ... associant un contenu d'applications XML inconnu de mani re arbitraire. ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 19
Provided by: SEC1184
Category:

less

Transcript and Presenter's Notes

Title: XML


1
XML
  • DTD
  • Déclarations de Type de Document

2
Objectif
  • Définir ce qui est autorisé, correct et
    compréhensible dans le contexte du document
  • Il y a 2 solutions pour préciser les balises et
    attributs auxquels on a droit pour rédiger un
    document XML
  • Les DTD (Document Type Definition)
  • Les schémas XML

3
Construction d'une DTD
  • Les DTD fournissent les règles que le parseur
    (outil logiciel qui interprète le document) doit
    suivre pour la validation et l'interprétation
    correcte du document.
  • Une DTD suit des règles strictes pour assurer que
    les résultats désirés sont obtenus et les données
    restituées correctement.
  • Une DTD est requise pour qu'un document XML soit
    valide

4
Types de DTD
  • Une DTD a 2 représentations physiques
  • elle peut faire partie du document XML interne
  • elle peut être un fichier à elle seule externe
  • avantage utilisable par d'autres documents XML
  • Les DTD externes se séparent en 2 catégories
  • privée accessible en local
  • publique disponible pour tous via un URI
    (Uniform Resource Identifier)

5
Déclaration d'une DTD
  • DTD interne
  • lt!DOCTYPE racine
  • déclarations des éléments, attributs,
  • gt
  • DTD externe privée
  • lt!DOCTYPE racine SYSTEM "fichier.dtd" gt
  • DTD externe publique
  • lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Strict//EN" "http//www.w3c.org/TR/xhtml1/DTD/xhtm
    l1-strict.dtd" gt

6
Déclaration d'éléments
  • La déclaration d'élément de base est structurée
    ainsi
  • lt!ELEMENT nom_element (type de données)gt
  • Exemple lt!ELEMENT nom_de_famille (PCDATA)gt
  • Cette déclaration indique que l'élément
    nom_de_famille doit contenir PCDATA (Parsed
    Character Data), c'est-à-dire du texte brut ne
    contenant aucune balise ou sous-élément.

7
Déclaration d'éléments
  • Un élément peut être constitué de plusieurs
    sous-éléments. Lors de la déclaration de séquence
    ou de choix d'éléments, à chaque élément enfant
    peut être attribuée une indication d'occurrence.
  • Ex lt!ELEMENT elt (elt1, elt2?, elt3, elt4)gt
  • Signification
  • pas d'indication exactement une occurrence
  • ? 0 ou 1 occurrence
  • 1 occurrence ou plus
  • 0 occurrence ou plus

8
Séquence d'éléments
  • Une séquence d'éléments est la liste des éléments
    devant apparaître dans l'élément défini.
  • Tous les éléments enfants doivent être déclarés
    dans la DTD. Ils doivent apparaître dans le
    fichier XML dans l'ordre de déclaration.
  • Exemple lt!ELEMENT elt (elt1, elt2, elt3)gt
  • Utilisation

lteltgt ltelt1gtlt/elt1gt ltelt3gtlt/elt3gt
ltelt2gtlt/elt2gt lt/eltgt
lteltgt ltelt1gtlt/elt1gt ltelt2gtlt/elt2gt
ltelt3gtlt/elt3gt lt/eltgt
lteltgt ltelt1gtlt/elt1gt ltelt3gtlt/elt3gt lt/eltgt
9
Choix d'éléments
  • lt!ELEMENT elt (elt1 elt2 elt3)gt
  • Sans indication d'occurrence, on ne peut en
    utiliser qu'un seul.
  • Avec indication d'occurrence lt!ELEMENT elt
    (elt1elt2elt3)gt
  • Indication d'occurrence globale lt!ELEMENT elt
    (elt1elt2elt3)gt
  • Pas de contrainte sur l'ordre d'apparition des
    éléments

lteltgt ltelt2gtlt/elt2gt lt/eltgt
lteltgt ltelt2gtlt/elt2gt ltelt2gtlt/elt2gt lt/eltgt
lteltgt ltelt3gtlt/elt3gt ltelt2gtlt/elt2gt lt/eltgt
lteltgt ltelt2gtlt/elt2gt ltelt3gtlt/elt3gt lt/eltgt
10
Cas particuliers
  • Elément vide
  • lt!ELEMENT elt EMPTYgt
  • Utilisation ltelt/gt
  • Elément quelconque
  • Vague, permet de dire qu'un élément existe sans
    savoir ce qu'il va contenir. Ne permet pas
    d'utiliser des éléments non déclarés. Besoin
    quand on utilise des applications associant un
    contenu d'applications XML inconnu de manière
    arbitraire.
  • lt!ELEMENT elt ANYgt
  • Elément mixte
  • lt!ELEMENT definition (PCDATA terme)gt
  • ne spécifie ni l'ordre ni le nombre
  • PCDATA doit toujours être le premier de la liste

11
Déclaration d'attributs
  • Les éléments peuvent contenir des attributs. Ils
    sont définis dans la DTD comme ceci
  • lt!ATTLIST nom_element nom_attribut type
    valeur_defautgt
  • Exemple
  • lt!ELEMENT produit (PCDATA)gt
  • lt!ATTLIST produit prix CDATA REQUIREDgt
  • Types possibles CDATA, ID, IDREF, IDREFS,
    ENTITY, ENTITIES, NMTOKEN, NMTOKENS, NOTATION,
    ENUMERATED
  • Au lieu de la valeur par défaut, on peut mettre
    la mention REQUIRED ou IMPLIED qui indique si
    l'attribut est requis ou facultatif, ainsi que le
    nombre d'occurrences permises ou requises.

12
Types d'attributs
  • CDATA n'importe quelle chaîne de caractères
    possible. C'est le type d'attribut le plus
    général.
  • NMTOKEN unité lexicale nominale (tous les
    caractères peuvent être lus en premier,
    contrairement aux noms xml)
  • lt!ATTLIST journal annee NMTOKEN REQUIREDgt
  • autorise 2006, 99, mars, mais interdit "1990 02"
    ou "coucou toto"
  • "30-01-2006" autorisé mais pas "30/01/2006"
  • NMTOKENS une ou plusieurs unités lexicales
    nominales séparées par des blancs

13
Types d'attributs
  • Enumération liste de toutes les valeurs
    possibles séparées par des
  • lt!ATTLIST date mois (Janvier Février Mars)
    REQUIREDgt
  • ID nom XML unique dans le document
  • lt!ATTLIST employe numero_secu ID REQUIREDgt
  • ltemploye numero_secu"ss123-45-6789"/gt
  • IDREF attribut faisant référence à un attribut
    de type ID.
  • lt!ATTLIST membre_equipe personne IDREF REQUIREDgt
  • IDREFS liste d'IDREF séparés par des blancs
  • ENTITY, ENTITIES, NOTATION

14
Entités
  • Permettent d'insérer du texte ou d'autres données
    de manière dynamique dans un document
  • déclaration lt!ENTITY MH "McGraw-Hill"gt
  • utilisation MH
  • Le étant utilisé pour référencer les entités,
    on utilise amp (entité prédéfinie) pour écrire
    le symbole .

15
Notations
  • Permet de spécifier une application ou un plug-in
    pour traiter un type de données spécifié
  • Ex visualiseur d'image particulier
  • lt!ELEMENT carte EMPTYgt
  • lt!ATTLIST carte image ENTITY REQUIREDgt
  • lt!ENTITY carte1.png SYSTEM http//www.site.net/ca
    rte1.png NDATA pnggt
  • lt!NOTATION png SYSTEM file///c/Program
    Files/visualiseur.exe gt
  • En pratique pas très utilisé

16
IGNORE et INCLUDE
  • Mots clés pour activer ou désactiver les éléments
    selon les besoins
  • Permet de tester ou de déboguer, utile pour
    combiner plusieurs DTD en une seule unité.
  • Issus du SGML, peu utilisés en XML

17
Exercices
  • On souhaite définir un annuaire. Une fiche pourra
    contenir le nom et le prénom d'une personne, son
    numéro de téléphone, éventuellement son email
    s'il existe. Ecrire un fichier xml contenant
    quelques fiches et la dtd associée (version
    interne et externe).
  • Ecrire la dtd correspondant au fichier biblio.xml
    donné au chapitre 1 (version interne et externe).

18
fiche.dtd
lt!ELEMENT personne (nom,prenom,telephone,email?)
gt lt!ELEMENT nom (PCDATA) gt lt!ELEMENT prenom
(PCDATA) gt lt!ELEMENT telephone (PCDATA) gt
lt!ELEMENT email (PCDATA) gt
fiche.xml
ltpersonnegt ltnomgtLevélt/nomgt
ltprenomgtFlorencelt/prenomgt lttelephonegt555-123456
lt/telephonegt ltemailgtFlorence.Leve_at_u-picardie.frlt
/emailgt lt/personnegt
Write a Comment
User Comments (0)
About PowerShow.com