1 XML eXtensible Markup Language http://j.gs/18042175/msid-s1-xml 2 Plan • Limi

1 XML eXtensible Markup Language http://j.gs/18042175/msid-s1-xml 2 Plan • Limites d’HTML • Apport d’XML • Structure d’un document XML • Grammaires XML – DTD – XML-Schema • XSL • XML Query : Langage d’interrogation pour XML 3 HTML • Langage à balises – Balises obligatoires (head, body, …) – Balises à valeur d’habillage (center, small, ..) – Nombre fini de balises – Balises différentes suivant les navigateurs Pas d’évolution possible pour l’utilisateur 4 HTML (suite) • Aucune séparation de la forme et du fond – Balises de fond (Meta, Head, …) – Balises de forme (center, small, …) – Balises de fond & forme (h1, h2, …) Durée de vie limitée à la durée de vie des outils capables de visionner ces documents. 5 Historique • XML est un standard du W3C (World Wide Web Consortium) • XML est basé sur le standard SGML • Les travaux de XML ont commencé en 1996 • En 1999, XML est considéré comme étant le standard d’échange d’information du futur 6 L’apport de XML • Ensemble non fini de balises – L’utilisateur peut créer de nouvelles balises • Séparation de la forme et du fond – Un document XML sera constitué d’au moins deux entités (le fond et la forme) • Séparation du contenu et de la grammaire – Permet la validation des documents 7 L’apport de XML (suite) • Définir ses propres balises • Pas de limitation d’imbrication des entités XML • Validation possible par rapport à une DTD • Uniquement la structure du document, pas de format de présentation • Amélioration du système de liens hypertextes 8 L’apport de XML (suite) • Réutiliser des informations • Indépendance par rapport aux vendeurs et aux plates-formes • Standard pour représenter les données • Améliorer la recherche d’information sur le Web: – recherche sur des balises et des DTD spécifiques – recherche sur le Web comme dans une base de données – se mettre d’accord sur une DTD – échanger des données XML, sans la DTD 9 Structure d’un document XML • Un document XML est constitué de : – En-tête (prologue) : qui contient un ensemble d’informations sur le document – Un ensemble d’éléments avec leurs contenus : les éléments et leurs contenus sont les données du document – Des commentaires qui peuvent être inclus n’importe où dans le document 10 Structure d’un document XML (suite) • Caractéristiques générales – Un document XML est dépendant de la casse (comme en Java ou en C++); par exemple, les noms Membre et membre sont considérés comme distincts. – Un document XML peut être rédigé en utilisant un jeux de caractères particulier; il n’est pas restreint à l’ASCII. – Un commentaire débute par la balise <!-- et se termine par la balise --> • <!-- Voici un exemple de commentaire --> • Un commentaire peut être inséré n’importe où dans un document XML. 11 Constituants d’un document XML • Le prologue • La DTD • Les éléments • Les balises (tags) • Les attributs • Les références aux entités • Les références aux caractères • Les sections CDATA • Les données 12 Document XML (Exemple) <?xml version=”1.0” encoding=”ISO-8859-1” standalone="no"?> <! DOCTYPE annuaire SYSTEM “annuaire.dtd”> <annuaire type=”pages blanches” > <entree> <nom>Hicham Momu</nom> <telephone>06 25 07 86 28</telephone> </entree> <entree> <nom>Brite Troe</nom> <telephone>06 00 01 02 03</telephone> </entree> </annuaire> 13 Le prologue • La déclaration XML <?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?> – Permet de préciser la version du document – Permet de préciser l’encodage utilisé – Permet de savoir si le document est autonome ou pas (lien vers d’autres documents) • standalone="yes" : si le document est indépendant d’autres documents. • standalone="no" : si le document est dépendant d’autres documents (par exemple, le document réfère à une DTD) 14 Le prologue (suite) • XML permet de définir des types de documents. • Un type de documents est une sorte de grammaire, on peut alors valider un document par rapport à une grammaire. • Le prologue permet de déclarer le type d’un document. <! DOCTYPE livre SYSTEM “http://www-sop.inria.fr/annuaire.dtd”> 15 Ensemble d’éléments • Les éléments des documents XML sont composés d’une balise d’ouverture, d’un contenu et d’une balise de clôture. Ex: <nom> contenu de l’élément </nom> • Le nom d’une balise est composé de : – caractères alphanumériques, – du souligné, – il ne faut pas qu’il soit composé d’espaces – un nom doit commencer par un caractère alphabétique ou du caractère souligné. – un nom ne doit pas commencer par XML/Xml/xML/... 16 Ensemble d’éléments (suite) • Une balise d’ouverture peut avoir un ensemble d’attributs. Ex : <livre date=‘ 01-01-2000 ’> … <auteur nom="Alexandre" prenom="pp "> • Un attribut est une paire nom=valeur • Les noms des attributs suivent les mêmes règles que les noms des éléments • La valeur est une chaîne de caractères encadrée par les caractères guillemets ou apostrophe • L’attribut xml:lang est prédéfini et sa valeur représente le langage utilisé dans le document Ex : <p xml:lang=‘ fr ’> ... 17 Ensemble d’éléments (suite) • Le contenu d’un élément peut être : – un ensemble d’éléments – et/ou des données sous forme de chaînes de caractères ne contenant pas les caractères & et < – et/ou des références (=les entités prédéfinies) 18 Ensemble d’éléments (suite) • Une référence (entité prédéfinie) peut être perçue comme un raccourci vers une autre valeur (pour éviter la confusion). – une référence prédéfinie comme par exemple & ou &apos; sont deux références vers & et ‘ – Liste des entités prédéfinies: & équivalent de & &apos; équivalent de ‘ > équivalent de > (greater than) < équivalent de < (less than) " équivalent de " 19 Ensemble d’éléments (suite) • Un Exemple: <calcul> If (a<b et b>c) … </calcul> Le texte <b et b> n’est pas une balise mais fait partie des données liées à l’élément calcul. Le Même exemple correctement écrit: <calcul> If (a < b et b > c) … </calcul> 20 Ensemble d’éléments (suite) • Les balises de clôture sont composées des noms correspondant aux balises d’ouvertures précédés du caractère / Ex : </livre> • Un élément peut être vide (sans contenu), dans ce cas, il n’a qu’une seule balise (composée du nom suivi du caractère /) Ex : <Element_vide/> 21 Documents bien formés • Le plus petit : <?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?> <livre/> • Un autre : <?xml version=“1.0” encoding=‘ISO-8859-1’ standalone=‘yes’ ?> <livre date=‘ 01-01-2000 ’> <chapitre> XML & HTML </chapitre> <!-- préciser la version de HTML--> </livre> 22 Grammaire XML • Une grammaire définie la syntaxe d’un langage. – DTD = Document Type Definition (interne, externe) – XML-Schema • Document valide, • document bien formé • Un document XML bien formé est un document qui respecte la syntaxe XML. • Un document XML valide est un document bien formé qui se conforme à la définition de la grammaire (DTD ou Schéma) à laquelle il est associé. • Ex : le type entreprise précise qu’une entreprise est composé du personnels, qui est composé de personnes … 23 Document Type Definition • Un type de document est défini dans une DTD (Document Type Definition) • Une DTD peut être inclue ou référencée par un document XML • On peut vérifier la validité d’un document par rapport à la DTD qu’il référence ou qu’il inclut. On parlera alors de document XML valide • Un document XML valide est donc un document XML bien formé qui a une DTD et qui est conforme à cette DTD • Il existe déjà de nombreuses DTD, il est alors possible de les utiliser pour construire des documents XML valides Ex : La DTD MathML pour les équations 24 Document Type Definition (suite) • Pour associer un document XML à une DTD, il faut le faire avec l’élément <!DOCTYPE> Ex : <! DOCTYPE annuaire SYSTEM “http://www-sop.inria.fr/annuaire.dtd”> • On considère qu’un document XML est constitué de deux choses : La DTD et la donnée. • Un document XML bien formé peut ne pas être composé de DTD • Un document XML valide doit avoir une DTD 25 Document Type Definition (suite) • Une DTD est définie dans l’élément <!DOCTYPE name SYSTEM "fichier.dtd" [delaration] > – name est le nom du type de document – SYSTEM "fichier.dtd" est une référence vers le fichier.dtd. Ce fichier contient tout ou une partie de la DTD. C’est la partie externe de la DTD – [declaration] permet de définir tout ou une partie de la DTD. C ’est la partie interne de la DTD 26 Document Type Definition (exemple) • Dans l’exemple ci-dessous, le document XML (1) est valide par rapport à la DTD (2) : • 1) <?xml version=”1.0”?> <entree> <nom>Harry Cover</nom> <telephone>0102030405</telephone> </entree> • 2) <?xml version=”1.0”?> <!ELEMENT entree (nom,telephone*)> <!ELEMENT nom (#PCDATA)> <!ELEMENT telephone (#PCDATA)> 27 Document Type Definition (interne) <?xml version=”1.0”?> <!DOCTYPE annuaire [ <!ELEMENT annuaire (entree+)> <!ELEMENT entree (nom,telephone*)> <!ELEMENT nom (#PCDATA)> <!ELEMENT telephone (#PCDATA)> ]> <annuaire> ... </annuaire> 28 Document Type Definition (externe) <?xml version=”1.0” encoding=”ISO-8859-1”?> <! DOCTYPE annuaire SYSTEM “http://www-sop.inria.fr/annuaire.dtd”> <annuaire> … </annuaire> 29 Document Type Definition (suite) • Contenu d’une DTD uploads/s3/ cours-xml-partie1.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager