1 / 40

XML sources d’inspiration :

XML sources d’inspiration :. Erik T. Ray, "Learning XML", 1 st ed., O’Reilly Robert Eckstein with Michel Casabianca, "XML Pocket Reference", 2 nd ed., O’Reilly Le Web — des milliers de sources. GML et SGML.

carolyn-ray
Download Presentation

XML sources d’inspiration :

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML sources d’inspiration: • Erik T. Ray, "Learning XML", 1st ed., O’Reilly • Robert Eckstein with Michel Casabianca, "XML Pocket Reference", 2nd ed., O’Reilly • Le Web — des milliers de sources

  2. GML et SGML • L’histoire commence avec GML — « Generalized Markup Language », développé en 1969 par Goldfarb, Mosher et Lorie d’IBM comme une façon de permettre aux sous-systèmes d’édition de texte, de formatage (formating), et de recherche de l’information (information retrieval) de partager des documents. • En 1978-1986 GML est substantiellement élargie et standardisé par ANSI et ISO pour devenir SGML — « Standard Generalized Markup Language ». • http://www.sgmlsource.com/history/sgmlhist.htm

  3. 16 pt. Helvetica Bold chapter head Procedural markup Descriptive markup 12 pt. Helvetica section head Section One Section One aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa 12 pt. Times Italic lead paragraph aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa 10 pt. Palatino paragraph aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa 1 1 12 pt. Courier page number Marquage en SGML

  4. HTML • SGML n’est pas un seul langage de marquage. C’est un standard pour créer des langages de marquage. • HTML « HyperText Markup Language » est un tel langage qui a eu des débuts modestes. En 1993, Tim Berners-Lee a basé son premier système de furetage et de composition pour le Web sur quelque balises de marquage « markup tags ». Cette première version a été augmenté pour devenir HTML, dont la version courante est HTML 4.01. • Les standards HTML sont tenus à jour par le W3C (the World-Wide Web Consortium): • http://www.w3.org/MarkUp/ • http://www.w3.org/TR/html401/

  5. XML • XML « eXtensible Markup Language » fut développé en 1996, et standardisé par le W3C en 1998. C’est un sous-ensemble de SGML. • XML est l’un des membres d’une grande et grandissante famille de langages connexes et coopérant qui inclue: DTD, XSL, XSTL, CSS, XPath, XPointers, XLinks, XML Schema... • http://www.w3.org/XML/

  6. XML • XML permet de structurer des données • XML ressemble un peu à HTML • XML est du texte, mais sont but n’est pas d’être lu • XML est clair (en langage naturel) • XML est une famille de technologies • XML est nouveau, mais pas vraiment • XML emmène HTML au XHTML • XML est modulaire • XML sert de base au RDF et au Web Sémantique • XML est indépendant de la plateforme, compatible avec plusieurs applications, et ouvertement disponible. http://www.w3.org/XML/1999/XML-in-10-points

  7. XHTML • L’émergence d’XML a induit une reformulation d’HTML. XHTML 1.0 « eXtensible HyperText Markup Language » est maintenant en vogue: La reformulation d’HTML 4 en XML 1.0. • La plus récente recommandation: • 1er août, 2002 : XHTML 1.0, « Extensible HyperText Markup Language » (Deuxième édition). • http://www.w3.org/TR/xhtml1

  8. Qu’est-ce que HTML?

  9. O P T I O N E L Les structures d’un document HTML <html> <head> head elements </head> <body> body elements </body> </html> Type de document, titre, descripteurs, ... • Identificateurs de ressources • URLs • texte, images, multimédia • Placement d’éléments • fonts, couleurs • paragraphes, diviseurs • tableaux • forms • scripts, applets • frames

  10. Liens en HTML La puissance d’HTML, se trouve dans les liens hypertextes. Un click sur un lien est une requête pour du contenu: une chaîne de caractères, une image, un document complet, ou un endroit particulier dans un document. <a href="http://www.google.com/"> <img src="gifs/Logo_25.gif" border="0"> </a> Cet exemple contient deux liens: une ancre (qui pointe sur un endroit sur le Web) et une image (pointant sur un fichier d’image). XML généralise les liens—voir plus loin dans les notes.

  11. HTML de près (1) <base href="http://www.site.uottawa.ca/~szpak/teaching/3125/"> <html> <head> <title> CSI 3125, Fall 2002: Concepts of Programming Languages </title> </head> <body background="gifs/3125.gif" bgcolor=#eeeeee text=#000066 link=#0066ff vlink=#9900cc alink=#ff0000> <TABLE BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH=384> <TR> <TD VALIGN=TOP ALIGN=LEFT WIDTH="80%"> <p align=right> <script src="Date.js"></script> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <p> Javascript

  12. HTML de près (2) <center> <font size=+2> Welcome to the <font color="#AA3322">CSI 3125</font> Web site! </font> <br> <hr width=324 size="3"> <TABLE BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH=352> <TR> <a href="news.html"> <img src="gifs/news.gif" width=136 height=34 border=0 alt="[What's new?]"></a> </TR> 7 boutons commencent ici

  13. HTML de près (3) <TR> <TD VALIGN=CENTER ALIGN=CENTER> <a href="syl3125_ToC.html"> <img src="gifs/syllabus.gif" width=136 height=34 border=0 alt="[The syllabus]"></a> </TD> <TD VALIGN=CENTER ALIGN=CENTER> <a href="handouts/"> <img src="gifs/handouts.gif" width=136 height=34 border=0 alt="[The handouts]"></a> </TD> </TR> </TABLE> 2 autres ranges de boutons

  14. HTML de près (4) <hr width=324> <p> The instructor's email address: <p> <a href="mailto:szpak@site.uottawa.ca">szpak@site.uottawa.ca</a> &nbsp;&nbsp; <img src="gifs/rtarrow.gif" align=bottom border=0 alt="To "> <a href="http://www.site.uottawa.ca/~szpak/"> <img src="gifs/home.gif" border=0 align=bottom alt="my home page"></a> <p> <hr width=324 size="3"> <font size=-1>Updated on August 6, 2002</font> <hr width=324>

  15. HTML de près (5) <form method=get action="http://www.google.com/search"> <table bgcolor="#dddddd"> <tr> <td> <a href="http://www.google.com/"> <img src="gifs/Logo_25.gif" border="0" alt="google"></a> <input type=text name=q size=25 maxlength=256 value=""> <input type=submit name=sa value="Go"> </td> </tr> </table> </form> Google

  16. HTML de près (6) <br> <imgsrc="gifs/macspin.gif"width=176 height=40 alt="[A Spinning Apple]"> </center> </TD> </TR> </TABLE> </body> </html> Pas sur le dessin

  17. De retours à XML... • HTML englobe, en un seul langage, deux aspects de SGML: le marquage procédurale d’un document (sa structure) et son marquage descriptif (sa présentation). Par exemple, <head> et <p> sont des éléments de structure, mais <font> et <i> décrivent son format. • En XML, les deux aspects sont séparés à nouveau. Un DTD (Document Type Définition) défini le langage de marquage, et un document valide XML doit être de ce type. Les DTD existent depuis les débuts de SGML. Les XML Schema sont une autre alternative, standardisé en mai 2001 (version 1.0).

  18. Un document XML formatage (voir plus loin dans les notes) <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="cd.xsl"?> <!DOCTYPE cd SYSTEM "cd.dtd"> <cd type="single"> <title>Revolver, top two</title> <band>The Beatles</band> <track> <song>Eleanor Rigby</song> <time>2:45</time> </track> <track> <song author="Paul and John"> For No One </song> </track> </cd> structure cd.xml

  19. ... le DTD... <!-- Compact Disk: DTD --> <!ELEMENT cd (title, band, track+)> <!ATTLIST cd type (single | regular) #REQUIRED> <!ELEMENT title (#PCDATA)> <!ELEMENT band (#PCDATA)> <!ELEMENT track (song, time?)> <!ELEMENT song (#PCDATA)> <!ELEMENT time (#PCDATA)> <!ATTLIST song author CDATA "Paul"> cd.dtd

  20. ... la validation La validation d’un document XML peut se faire ainsi: • Sur une machine Linux • Placez le document et son DTD dans le même répertoire • Invoquez le valideur XML xmllint. szpak|site2-1: ls cd.* cd.dtd cd.xml szpak|site2-2: xmllint --valid --noout cd.xml szpak|site2-3: (vous allez devoir valider pas mal de documents XML dans ce cours )

  21. Éléments et attributs Contenant d’éléments <name attr1 = "val1" attr2 = "val2" ... > content </name> <songauthor="Paul and John"> For No One </song> Éléments vide <name attr1 = "val1" attr2 = "val2" ... /> <priceamount="11.98" />

  22. Explication du DTD <!ELEMENT cd (title, band, track+)> UN cd icontient ces elements, dans cet ordre, et il peut y avoir plus d’un track. <!ELEMENT title (#PCDATA)> « Parsed-character data »: item ou les références sont résolue. <!ELEMENT track (song, time?)> time est optionnel. <!ATTLIST cd type (single | regular) #REQUIRED> L’[une des deux valeurs doit être présente. <!ATTLIST song author CDATA "Paul"> « Character data » - avec comme valeur par défaut: Paul. <!ATTLIST song lyricist NMTOKEN #IMPLIED> Un identificateur (plus ou moin), optionnel, pas de valeur par défaut.

  23. XML est plus stricte qu’HTML On peut voir un document XML comme un document HTML ou les balises sont défini par l’auteur (et plus — comme nous allons voir). Cependant XML est beaucoup plus stricte qu’HTML. • XML est sensible à la casse (case sensitive). • Les valeurs des attributs doivent être entre guillemets. • Un contenant (non-vide) doit avoir une balise de début et de fin. • Un élément vide doit avoir un « slash » de terminaison. • Les balises doivent être imbriquées correctement. • Les espaces blancs contenu dans les éléments sont préservés

  24. Un document est un arbre <cd type="single"> <title>Revolver, top two</title> <band>The Beatles</band> <track> <song>Eleanor Rigby</song> <time>2:45</time> </track> <track> <song author="Paul and John"> For No One </song> </track> </cd>

  25. Entités en HTML HTML permet de référer aux caractères spéciaux avec le ‘&’ : &nbsp;espace &euml; ë &#097; a &agrave; à &eacute; é Ceci est étendu par XML. Une entité est un « paramètre substituable par du contenu"; elle peut dénoter n’importe quoi, même un fragment de marquage. Les Entités sont résolues, ou remplacées, comme des macros.

  26. Entités en XML (1) Il y a des entités générales (définie localement, ou de façon externe et disponible publiquement) et des entités paramètres utilisées dans les DTDs. Il y a aussi des entités prédéfinies pour des caractères, comme celles pour les caractères réservés de XML: &amp; & &apos; ' &gt; > &lt; < &quot; "

  27. Entités in XML (2) Entité paramètre <!-- Compact Disk: DTD --> <!ENTITY % basiccontent "(#PCDATA)"> <!ENTITY bestever "The Beatles"> <!ELEMENT cd (title, band, track+)> <!ATTLIST cd type (single | regular) #REQUIRED> <!ELEMENT title %basiccontent;> <!ELEMENT band %basiccontent;> <!ELEMENT track (song, time?)> <!ELEMENT song %basiccontent;> <!ELEMENT time %basiccontent;> <!ATTLIST song author CDATA "Paul"> Entité générale références cd3.dtd

  28. Entités in XML (3) <?xml version="1.0"?> <!DOCTYPE cd SYSTEM "cd3.dtd" [ <!ENTITY favourite "For No One"> ] > <cd type="single"> <title>Revolver, top two</title> <band>&bestever;</band> <track> <song>Eleanor Rigby</song> <time>2:45</time> </track> <track> <song author="Paul and John"> &favourite; </song> </track> </cd> Entité locale référence référence cd3.xml

  29. La philosophie des stylesheet • L’aspect de la présentation, en XML, est implémenté de façon élégante et générale par la transformation des structures. Une stylesheet définie un modèle qui permet de transformer les éléments d’un document XML valide en d’autre structures, par exemple, en HTML. • L’accès aux éléments est facilité par XPath, un langage qui permet de se déplacer dans un document en appliquant diverse conditions. (Nous ne pourrons en parler plus dans ce cours)

  30. Une stylesheet (1) <?xml version="1.0"?> <xsl:stylesheet id="cds" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="cd"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <cd type="single"> ...... </cd> <html> <body> ------ </body> </html> cd.xls Ceci est un document XML!

  31. Une stylesheet (2) <xsl:template match="title"> <h3><xsl:apply-templates/></h3> <br /><br /> </xsl:template> <xsl:template match="band"> <h4><xsl:apply-templates/></h4> <hr /> </xsl:template> <xsl:template match="track"> <p><xsl:apply-templates/></p> </xsl:template> <band> .... </band> <h4> ---- </h4> <hr /> cd.xls

  32. Une stylesheet (3) <xsl:template match="track"> <p><xsl:apply-templates/></p> </xsl:template> <xsl:template match="song"> <b><xsl:apply-templates/></b> <br /> </xsl:template> <xsl:template match="time"> <i><xsl:apply-templates/></i> <br /> </xsl:template> </xsl:stylesheet> <song> ... </song> <b> --- </b> <br /> cd.xls

  33. Liens en XML, un exemple <elementname xlink:type = "simple" xlink:href = "target" xlink:show = "showhow" xlink:actuate = "showwhen" >some content </elementname> /> si l’élément est vide targetest une ressource privée ou publique. showhow est new, embed ou replace. (En HTML: ouvrir un nouvelle fenêtre, englobe une image,suit un lien dans la même fenêtre.) showwhen est onLoad ou onRequest.

  34. exemple: checkbook Un exemple, venant d’Erik T. Ray ("Learning XML"), trouvé sur le site web du cours: checkbook.dtd checkbook.xml checkbook.xsl Visitez http://www.site.uottawa.ca/~szpak/teaching/3125/handouts/other/perl_xml.html

  35. Ce qu’il reste à apprendre… • XML Schema (permet plus de contrôle sur le format que les DTDs) • CSS « Cascading Style Sheets » • XSL • Les « Namespaces » • XSLT « Extensible Style Language for Transformations » • XPath (situer des objets dans un document) • XLink, XPointer (liens entre documents) • Outils XML(analyseur syntaxiques, validateurs, • Standards, documents publiques sur XML,ressources Web

  36. Outils XML/XSL en Linux Validation XML Trois étapes simples pour valider un document XML: • ssh dans la machine Linux site2. • Mettez le document et son DTD dans le même dossier. • Invoquer le validateur XML xmlvalid. % ls cd.*cd.dtd cd.xml% xmlvalid cd.xmlcd.xml is valid(il y aura des messages d’erreur, sinon J)

  37. Outils XML/XSL en Linux XML parsing % ls cd.*cd.dtd cd.xml% xmllint cd.xml(il y aura des messages d’erreur si le document n’est pas valide)xmllint a beaucoup d’options. Afin de les decouvrir, taper: % xmllintPour encore plus d’options, taper % man xmllint Un autre outil XML en Linux: • ssh dans la machine Linux site2. • Mettez le document et son DTD dans le même dossier. • Invoquer le processeur XML xmllint.

  38. Outils XML/XSL en Linux Statistiques XML % dbstat cd.xmlNode frequency: 2 PI nodes 8 element nodes 0 comment nodes 2 attribute nodes 19 text nodes 0 CDMS nodes 32 total nodesElement frequency: 1 <band> 1 <cd> 2 <song> 1 <time> 1 <title> 2 <track> Vous pouvez aussi avoir des informations sur les documents XML valides. Le programme Perl dbstat, poste sur le site web du cours le fait pour nous. Souvenez-vous qu’il faut rendre le programme exécutable.

  39. Outils XML/XSL en Linux Traitement XSL Et puis il y a le processeur XSL xsltproc, qui a aussi beaucoup d’options. Pour les voirs, taper: % xsltprocEt pour encore plus d’options, taper:% man xsltproc Vous pouvez parser (et valider) un fichier XSL:% xsltproc cd.xsl(il y aura des messages d’erreur si le fichier n’est pas valide)

  40. Traitement XSL % xsltproc cd.xml<html><body> <h3>Revolver, top two</h3><br><br> <h4>The Beatles</h4><hr> <p> <b>Eleanor Rigby</b><br> <i>2:45</i><br> </p> <p> <b> For No One </b><br> </p></body></html> Vous pouvez aussi exécuter le processeur XSL sur un fichier XML, selon un stylesheet, et obtenir le résultat—par exemple, un fichier HTML.

More Related