36
CSI 3125, Automne 2001 Une introduction au XML* par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st ed., O’Reilly Robert Eckstein with Michel Casabianca, "XML Pocket Reference", 2 nd ed., O’Reilly the World-Wide Web—thousands of places Go O'Reilly! ---------------- * Et a plein d’autres acronymes

CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

Embed Size (px)

Citation preview

Page 1: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

CSI 3125, Automne 2001Une introduction au XML*

par Stan Szpakowicz,based sur les sources et inspirations

suivantes: Erik T. Ray, "Learning XML", 1st ed., O’Reilly Robert Eckstein with Michel Casabianca, "XML

Pocket Reference", 2nd ed., O’Reilly the World-Wide Web—thousands of places

Go O'Reilly!

----------------* Et a plein d’autres acronymes

Page 2: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 2CSI 3525

GML et SGML

Tout a commence avec le GML—Generalized Markup Language, invente en 1969 par Goldfarb, Mosher et Lorie d’IBM afin de permettre aux sous-processus d’edition de texte, de mise en page et d’extraction d’information le partage de documents.

En 1978-1986 GML a ete substantivement elargi, puis standardise par ANSI et ISO en tant que SGML—Standard Generalized Markup Language.

http://www.sgmlsource.com/history/sgmlhist.htm

http://www.oasis-open.org/cover/general.html

Page 3: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 3CSI 3525

Annotations en SGML

http://www.arbortext.com/data/getting_started_with_SGML/getting_started_with_sgml.html

Procedural markup

Section One

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

1

16 pt. Helvetica Bold

12 pt. Helvetica

12 pt. Times Italic

10 pt. Palatino

12 pt. Courier

Descriptive markup

Section One

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

1

chapter head

section head

lead paragraph

paragraph

page number

Page 4: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 4CSI 3525

HTMLSGML n’est pas seulement un langage d’annotation (markup language). C’est un standard pour la creation de langages d’annotation.

HTML (HyperText Markup Language) est l’un de ces langages. HTML a eu un debut modeste. En 1993, Tim Berners-Lee a base son premier systeme de “browsing” et d’ “authoring” pour le Web avec un tout petit nombre de “markup tags”. La version presente de HTML (version 4.01) a ete grandement elargie, mais HTML est reste un seul langage. Les standards de HTML sont maintenus par W3C (the World-Wide Web Consortium):

http://www.w3.org/MarkUp/ http://www.w3.org/TR/REC-html40/

Page 5: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 5CSI 3525

XML

XML (Extensible Markup Language) a ete developpe en 1996, et standardise par W3C en 1998. C’est un sous-ensemble du SGML. Le XML fait partie d’une grande (et grandissante) famille de langages interconnectes et cooperatifs: DTD, XSL, XSTL, CSS, XPath, XPointers, XLinks, XML Schema... Et ce n’est que le debut! . [Mais que serait la vie d’un programmateur sans acronymes?]

http://www.w3.org/XML/

Page 6: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 6CSI 3525

XML en 7 points

1. XML est une methode qui permet de mettre des donnees structurees dans un fichier de texte.

2. XML ressemble a l’HTML mais ce n’est pas de l’HTML.

3. XML est du texte, mais il n’a pas ete concu pour etre lu

4. XML est une famille de technologies 5. XML engendre de tres grand fichiers,

mais ce n’est pas un probleme. 6. XML est nouveau, mais pas si

nouveau.7. XML est gratuit, plateforme-

independent et bien supporte. http://www.w3.org/XML/1999/XML-in-10-points

Page 7: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 7CSI 3525

XHTML

L’appatition du XML a incite la re-reflexion du HTML. Le nouveau "best thing since sliced bread" est le XHTML 1.0: The Extensible HyperText Markup Language, Une Reformulation du HTML 4 en XML 1.0.Le nouveau document (en progres) du W3C (2nd ed.) du standard XHTML 1.0 est appearu le 4 Oct., 2001. C’est donc tout nouveau!

http://www.w3.org/TR/2001/WD-xhtml1-20011004/

Page 8: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 8CSI 3525

Mais qu’est ce que le HTML?

Page 9: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 9CSI 3525

La structure des documents HTML

<html><head>head elements</head><body>body elements</body></html>

A quick checklist• text, images,

multimedia• resource identifiers,

URLs• element placement• fonts, colours• paragraphs, divisors• tables• forms• scripts, applets• frames

document type, title, content

descriptors, ...OPTIONAL

Page 10: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 10CSI 3525

Liens en HTML

Le pouvoir du HTML reside, naturellement, dans les liens d’HyperText. Un click sur un lien est une requete pour un contenu specifique: une chaine, une image, un nouveau document, un endroit spcial dans un document. <a href="http://www.google.com/"><img src="gifs/Logo_25.gif" border="0"></a>

Il y a deux liens ici: une ancre (pointant a une location sur le Web) et l’addresse d’une image (pointant a un fichier local).

XML generalise les liens—voir un peu plus loin.

Page 11: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 11CSI 3525

HTML de plus pres (1)

<base href="http://www.site.uottawa.ca/~szpak/teaching/3125/"><html><head><title>CSI 3125, Fall 2001: 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

Page 12: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 12CSI 3525

HTML de plus pres (2)

<center><font size=+2>Welcome to the<font color="#AA3322">CSI 3125/3125B</font>Web site!</font><br><hr width=324 size="3"><TABLE BORDER=0 CELLSPACING=10 CELLPADDING=0 WIDTH=352><TR><TD VALIGN=CENTER ALIGN=CENTER><a href="news.html"><img src="gifs/news.gif" width=136 height=34 border=0 alt="[What's new?]"></a></TD>

eight buttons start here

Page 13: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 13CSI 3525

HTML de plus pres (3)

<TD VALIGN=CENTER ALIGN=CENTER><a href="http://groups.yahoo.com/group/CSI3125Fall2001/"><img src="gifs/forum.gif" width=136 height=34 border=0 alt="[Discussion forum]"></a></TD> </TR><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>

and two other rows of buttons

Page 14: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 14CSI 3525

HTML de plus pres (4)

<hr width=324><p>Instructors' email addresses:<p><ahref="mailto:[email protected]">[email protected]</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><ahref="mailto:[email protected]">[email protected]</a><p>

Page 15: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 15CSI 3525

HTML de plus pres (5)

<hr width=324 size="3"><font size=-1>Updated on September 13, 2001</font><hr width=324><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

Page 16: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 16CSI 3525

HTML de plus pres (6)

<br><img src="gifs/macspin.gif" width=176 height=40 alt="[A Spinning Apple]"><!--<hr width=300><applet align=bottom code="gifs/rotate.class" height="72" width="72"></applet><br>--></center></TD></TR></TABLE></body></html>

commented out

Page 17: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 17CSI 3525

De retour au XML…

Le HTML melange, en un langage, deux des aspects principaux du SGML: l’annotation procedurale d’un document (sa structure) et son annotation descriptive (sa presentation). Par exemple, <head> et <p> sont des elements de structure, alors que <font> et <i> decrivent le format.Dans le monde du XML, les deux aspects ont ete de nouveau separes. Un DTD (Document Type Definition) definie le langage d’annotation, et un document d’XML valide doit etre de ce type. DTD existe depuis le debut du SGML. XML Schema est une nouvelle alternative, pas encore standardisee.

Page 18: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 18CSI 3525

Un tout petit document en XML...

<?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>

formatting(discussed

later)

structure

cd.xml

Page 19: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 19CSI 3525

... son 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

Page 20: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 20CSI 3525

... Et sa validation

Il y a trois etapes toutes simples pour valider un document XML:

Log in to any Linux machine Have the document and its DTD in the same directory. Invoke the XML validator xmlvalid.

{rebel1}szpak(1)$ ls cd.*cd.dtd cd.xml{rebel1}szpak(2)$ xmlvalid cd.xmlcd.xml is valid

(Vous aussi, vous devrez valider un ou deux documents de XML )

Page 21: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 21CSI 3525

Simple statistiques

Vous pouvez aussi voir un certain nombre d’ informations sur un document XML valide. Le program dbstat (en Perl et poste sur le site Web du cours) le fait pour vous:

Element frequency: 1 <band> 1 <cd> 2 <song> 1 <time> 1 <title> 2 <track>

% dbstat cd.xml

Node frequency: 2 PI nodes 8 element nodes 0 comment nodes 2 attribute nodes 19 text nodes 0 CDMS nodes

32 total nodes

Page 22: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 22CSI 3525

Elements et attributs

Container elements<name attr1 = "val1" attr2 = "val2" ... >content</name>

<song author="Paul and John"> For No One </song>

Empty elements<name attr1 = "val1" attr2 = "val2" ... />

<price amount="11.98" />

Page 23: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 23CSI 3525

Petits Elements de la Syntaxe du DTD

<!ELEMENT cd (title, band, track+)>Elements of cd in this order, with one or more track.<!ELEMENT title (#PCDATA)>Parsed-character data: entity references resolved.<!ELEMENT track (song, time?)>time is optional.<!ATTLIST cd type (single | regular) #REQUIRED>One of these two values must be present.<!ATTLIST song author CDATA "Paul">Character data, default is Paul.<!ATTLIST song lyricist NMTOKEN #IMPLIED>An identifier (more or less), optional, no default.

Page 24: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 24CSI 3525

Le XML est plus strict que le HTML

XML est sensible aux majuscule/minuscules. Les valeurs d’attributs doivent etre entre guillemets. Un element a contenu (non vide) doivent avoir un tag

d’ouverture et de fermeture. Un element vide doit avoir une bar oblique finale. Les tags doivent etre correctement encapsules (voir la

page suivante) Dans le contenu d’un element, les espaces sont

preserves.

Un document XML est un peu comme un document HTML mais avec des tags sur-mesure (et bien plus, comme vous allez le voir ci-dessous) , mais souvenez-vous du fait que le XML est beaucoup plus controlle que le HTML.

Page 25: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 25CSI 3525

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>

Page 26: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 26CSI 3525

Entites en HTML

HTML nous permet de referer a des caracteres qui n’apparaissent pas sur le clavier en utilisant la convention &. Par example:

&nbsp; non-breaking space&euml; ë&#097; a&agrave; à&eacute; é

Ceci a ete grandement etendu en XML. Une entite est une “cellule pour contenu”; une entite peut denoter n’importe quoi: meme un fragment d’annotation. Les entites sont resolues ou remplaces de la meme facon que les macros.

Page 27: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 27CSI 3525

Entites en XML (1)

Nous avons des entites generales (ou bien definies localement, ou bien externes et disponibles publiquement) et des entites parametriques utilisees dans les DTDs. Nous avons aussi des entites de caracteres predefinies, don’t 5 necessaires pour eviter la confusion avec la syntaxe d’annotation:

&amp; &

&apos; '&gt; >&lt; <&quot; "

Page 28: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 28CSI 3525

Entites en XML (2)

<!-- 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">

cd3.dtd

parameter entity

general entity

references

Page 29: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 29CSI 3525

Entites en 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> cd3.xml

local entityreferenc

e

reference

Page 30: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 30CSI 3525

La philosophie du “stylesheet”

La presentation des documents XML se fait de maniere elegante et generale: par transformation de structure. Un “stylesheet” definie des “templates” qui peuvent transformer les elements d’un document XML valide en une autre structure. Par example, en HTML. L’access aux elements est facilite par XPath, un langage riche qui nous permet le deplacement a l’interieur d’un document et l’application de nombreuses conditions (malheureusement, nous n’auront pas le temps de voir le Xpath dans ce cours. )

Page 31: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 31CSI 3525

Un simple 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.xls

<cd type="single">......</cd>

<html> <body> ------ </body></html>

This is an XML document!

Page 32: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 32CSI 3525

Un simple 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 />

Page 33: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 33CSI 3525

Un simple 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 />

Page 34: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 34CSI 3525

Liens en XML, sur un exemple

<elementname xlink:type = "simple" xlink:href = "target" xlink:show = "showhow" xlink:actuate = "showwhen">some content</elementname>target is any local or public resource.showhow is new, embed or replace. (In HTML: open a new window, embed a graphic, follow a link in the same window.)showwhen is onLoad or onRequest.

/>if element empty

Page 35: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 35CSI 3525

Un plus grand exemple: checkbook

Cet exemple, ecrit par Erik T. Ray ("Learning XML"), se trouve sur le Web dans les fichiers:

checkbook.dtdcheckbook.xmlcheckbook.xsl

Visiterhttp://www.site.uottawa.ca/~szpak/teaching/3125/handouts/other/perl_xml.htmlEt amusez vous bien.Et maintenant...

Page 36: CSI 3125, Automne 2001 Une introduction au XML * par Stan Szpakowicz, based sur les sources et inspirations suivantes: Erik T. Ray, "Learning XML", 1 st

XML, page 36CSI 3525

Dans un autre cours

XML Schema (encore plus de controle sur le format des donnees qu’avec les DTDs)

CSS (Cascading Style Sheets—plus ancien mais utile) XSL—Beaucoup de details Namespaces XSLT (Extensible Style Language for

Transformations) XPath (trouver des objects dans des documents) XLink, XPointer (liens entre documents) XML tools (parsers, verificateurs de syntaxe,

validateurs, processeurs d’arbres, etc.) Standards, documents publiques, ressources

sur le Web