• Aucun résultat trouvé

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

N/A
N/A
Protected

Academic year: 2022

Partager "Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML"

Copied!
12
0
0

Texte intégral

(1)

J.J. GIRARDOT - EMSE 10/2004 2

Qu'est-ce que XML ?

Les initiales de eXtended Mark-up Language Un langage de description de documents Un successeur de SGML qui tient compte :

Des leçons de SGML et d'HTML De l'existence du Web, de Java

Une recommandation du W3C (World Wide Web Consortium)

Un format d'échange de stockage

J.J. GIRARDOT - EMSE 10/2004 4

Exemple de document SGML

<!DOCTYPE document SYSTEM "document.dtd">

<DOCUMENT>

<head>

<title>Le titre</title>

<author> Vincent Zoonekynd <date>Avril 2000</date>

<body>

<abstract>

<p>

Le contenu de l'abstract </abstract>

<toc><sect>

<stitle>Un sous-titre</stitle>

Un paragraphe

<p> Un second avec du TeX :

<verb lang=tex>\newcommand{\noun}[1]

{\textsc{#1}}</verb>

</sect>

<sect>

<stitle>Un autre sous-titre <sect1>

<stitle>Un titre de sous-section</stitle>

<p>

Un autre paragraphe </p>

</sect1>

<sect1>

<stitle>Autre sous-section</stitle>

<p>

Encore un <em>paragraphe</em>

</p>

</sect1>

</body>

</document>

J.J. GIRARDOT - EMSE 10/2004 1

XML : Extensible Markup Language

Une introduction (1)

http://kiwi.emse.fr/3A/dn.html Ph. Jaillon / J.J. Girardot

J.J. GIRARDOT - EMSE 10/2004 3

SGML

Standard Generalized Markup Language Norme ISO-8879 (1986)

Caractéristiques

Langage à balises, permettant la création de nouveaux formats

description des formats par des dtd, document type definition, (ex : DocBook)

Syntaxe complexe

délimiteurs de balises, entités, etc.

"Simple" à saisir

appels abrégés, fermeture automatique

(2)

J.J. GIRARDOT - EMSE 10/2004 6

Inconvénients de SGML

Très grande complexité de la syntaxe

Macros, abréviations, raccourcis, omissions...

Ambiguïté de certaines notations

Processeurs complexes à écrire

Aucun processeur complet

Non compatibilité entre processeurs

Rigueur et laxisme des descriptions

Nécessité de disposer d'un DTD

Laxisme possible dans l'écriture des documents

Nécessités d'évolution du langage

Orienté « document » plus que « données » Types de données manquants, adaptation au Web...

Inconvénients de HTML

HTML décrit une structure (simpliste) de documents

<html>

<head><title> … </title></head>

<body> … </body>

</html>

Il constitue également un langage (trop simple) de formatage et de présentation.

Texte en <b>gras</b> et en <i>italique</i>.

Mélange fréquent des genres (structuration et présentation)

J.J. GIRARDOT - EMSE 10/2004 5

Le DTD correspondant

<!ENTITY % text "#PCDATA|img|ref|label|a|link|itemize|enum|descrip|

verb|perl|tt|em|html|latex">

<!ENTITY % simpletext "#PCDATA|tt|em">

<!ELEMENT document - - (head,body)>

<!ELEMENT head O O (title, author?, date?)>

<!ELEMENT title - O (#PCDATA)>

<!ELEMENT author - O (#PCDATA)>

<!ELEMENT date - O (#PCDATA)>

<!ELEMENT body O O (abstract?,toc?,sect*)>

<!ELEMENT abstract - O (p+)>

<!ELEMENT toc - O EMPTY>

<!ELEMENT sect - O (stitle, (p|sect1)+)>

<!ELEMENT sect1 - O (stitle, (p|sect2)+)>

<!ELEMENT sect2 - O (stitle, p+)>

<!ELEMENT stitle O O (%simpletext)+>

<!ELEMENT p O O (%text)+>

<!ELEMENT tt - - (#PCDATA)>

<!ELEMENT em - - (#PCDATA)>

<!ELEMENT html - O EMPTY>

<!ATTLIST html src CDATA #REQUIRED>

<!ELEMENT latex - O EMPTY>

<!ATTLIST latex src CDATA #REQUIRED>

<!ELEMENT img - O EMPTY>

<!ATTLIST img src CDATA #REQUIRED>

<!ELEMENT a - - (%simpletext)+>

<!ATTLIST a href CDATA #REQUIRED>

<!ELEMENT link - - (linktext, href+)>

<!ELEMENT href - - (#PCDATA)>

<!ELEMENT linktext - - (%simpletext)+>

<!ATTLIST sect id ID #IMPLIED>

<!ATTLIST sect1 id ID #IMPLIED>

<!ATTLIST sect2 id ID #IMPLIED>

<!ELEMENT label - O EMPTY>

<!ATTLIST label id ID #REQUIRED>

<!ELEMENT ref - O EMPTY>

<!ATTLIST ref id IDREF #REQUIRED>

<!ELEMENT itemize - - (item+)>

<!ELEMENT enum - - (item+)>

<!ELEMENT item - O (p+)>

<!ELEMENT descrip - - (tag,p+)+>

<!ELEMENT tag - - (%simpletext)+>

<!ELEMENT verb - - (#PCDATA)>

<!ATTLIST verb lang (tex|perl|shell) tex>

<!ENTITY LaTeX "LaTeX">

<!ENTITY latex "LaTeX">

<!ENTITY TeX "TeX">

<!ENTITY tex "TeX">

<!ENTITY lt "<">

<!ENTITY gt ">">

<!ENTITY amp "&">

<!ENTITY dollar "$">

<!ENTITY oe "oe">

<!ENTITY OE "OE">

HTML

HTML est un langage à balises adapté à la description et à la présentation de documents hypertexte et multimédia

Ensemble fixe de balises prédéfinies

C'est un langage pouvant être décrit par SGML

http://www.w3.org/TR/html4/strict.dtd

Introduit par Tim Berners Lee et Robert Caillau au CERN en 1991.

Plusieurs évolutions, de 1.0 à 4.0

HTML met en oeuvre deux grandes idées :

l’hypertexte (1945)

les langages à balises (1970)

(3)

J.J. GIRARDOT - EMSE 10/2004 10

XML : Objectifs initiaux

Utilisation simple à travers l'Internet

Support d'une grande variété d'applications.

Compatibilité avec SGML.

Simplicité d'écriture d'outils de manipulation de documents.

Nombre de caractéristiques optionnelles réduit au strict minimum.

Lecture possible (et aisée) des documents par les individus.

Conception rapide de la norme.

Conception formelle et concise de la norme.

Simplicité de création des documents XML.

La taille prise par les balises dans un document était sans importance.

J.J. GIRARDOT - EMSE 10/2004 12

XML : Les normes

Gérées par le W3 Consortium http://www.w3.org/

XML : la norme de base

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

Normalisation de certaines extensions :

Namespaces, XInclude, XML Base, Xlink, XPointer, XPath, DTD, XML Schema, XSLT, XQuery, DOM, SAX, RDF, SOAP, SMIL, SVG, Math ML…

J.J. GIRARDOT - EMSE 10/2004 9

Une évolution nécessaire

Nécessité de disposer d’un formalisme général pour :

Structurer les documents, mais aussi des données Les diffuser et les présenter sur le web

Les traiter informatiquement Plus encore …

SGML : bon candidat, mais vieux et trop complexe à mettre en oeuvre

Une complexité destinée à simplifier la création manuelle de documents

Il fallait privilégier la rigueur et l’automatisation des traitements

J.J. GIRARDOT - EMSE 10/2004 11

XML : état actuel

XML est une boite à outil pour décrire des langages à balises

Il n’existe pas de balisages prédéfinis

Chacun peut définir un balisage adapté à ses propres besoins

Chaque description de langage XML est dédiée à un domaine d’application

Ces langages peuvent partager de nombreux aspects On dispose d’outils génériques et standards pour traiter les documents

(4)

J.J. GIRARDOT - EMSE 10/2004 14

Le document XML sous forme textuelle

<recette id="RF200-153B" categorie="plat-principal">

<titre>

Carottes au beurre </titre>

<ingredients>

<ingredient>Carottes nouvelles <qt>800 g</qt></ingredient>

<ingredient>Beurre <qt>50 g</qt></ingredient>

...

</ingredients>

<preparation>

...

</preparation>

</recette>

XML : Noms de balises

Name ::= (Letter | '_' | ':') (NameChar)*

NameChar ::= Letter | Digit | '.' | '-' | '_' | ':'

| CombiningChar | Extender

Le caractère ':' dans les noms XML est réservé à l'usage des Namespaces.

L'usage du nom 'xml' (quelle qu’en soit la casse) est réservé.

Attention : majuscules et minuscules ne sont pas équivalentes dans les identificateurs.

J.J. GIRARDOT - EMSE 10/2004 13

Vue conceptuelle de XML

Un document XML est un arbre ordonné et étiqueté:

Les feuilles contiennent des données sous forme de chaînes de caractères

Chaque élément (un noeud de l'arbre) porte un label (Tag) et a un ensemble d’attributs Un attribut a un nom et une valeur.

Ces noeuds peuvent avoir des fils

recette

id="RF200-153B"

categorie="plat-principal"

titre

Carottes au beurre ingredients

Carottes nouvelles

800 g qt

ingredient ingredient

50 g Beurre qt

...

...

Vision concrète de XML

Un fichier texte (Unicode) avec un balisage et des méta-informations.

Notation abrégée pour les éléments vides : ...<foo attr="val" .../>...

...<foo attr="val" ...>...</foo>

contenu de l'élément balise de fermeture balise d'ouverture, de nom foo

un attribut, de nom attr et de valeur val

(5)

J.J. GIRARDOT - EMSE 10/2004 18

XML : syntaxe

Prologue

prolog ::= XMLDecl? Misc*

(doctypedecl Misc*)?

XMLDecl ::= '<?xml' VersionInfo

EncodingDecl? SDDecl? S? '?>’

<?xml version="1.0"?>

Commentaires

<!-- declarations for <head> & <body> -->

J.J. GIRARDOT - EMSE 10/2004 20

XML : syntaxe

Attributs

Attribute ::= Name Eq AttValue

Eq ::= S? '=' S?

AttValue ::= '"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'"

Références :

Reference ::= EntityRef | CharRef EntityRef ::= '&' Name ';'

CharRef ::= '&#' [0-9]+ ';'

| '&#x' [0-9a-fA-F]+ ';'

J.J. GIRARDOT - EMSE 10/2004 17

Document XML bien formé

Un texte est un document XML bien formé ssi:

il s'agit d'un "document" .

il respecte toutes les contraintes de la spécification.

les éléments analysés qui le composent sont bien formés Document ::= prolog element Misc*

Respecter la définition de "document" implique:

il contient un ou plusieurs éléments.

il y a exactement un élément (racine) et les autres éléments sont correctement imbriqués

J.J. GIRARDOT - EMSE 10/2004 19

XML : syntaxe

Les balises

element ::= EmptyElemTag| STag content ETag

STag ::= '<' Name (S Attribute)* S? '>’

ETag ::= '</' Name S? '>’

content ::= (element | CharData

| Reference | CDSect | PI | Comment)*

EmptyElemTag ::= '<' Name (S Attribute)*

S? '/>’

(6)

J.J. GIRARDOT - EMSE 10/2004 22

XML : codage des données

Spécification du codage des documents

Par défaut il s'agit de UTF8.

C'est une erreur que d'utiliser un autre encodage sans le spécifier

Exemples :

<?xml version="1.0" encoding='UTF-8'?>

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

Remarque : l'ASCII est un sous ensemble commun de l'UTF8 et de l'ISO-8859

DTD et XMLSchemas

DTD : version historique apparue avec SGML Syntaxe inspirée de SGML, mais non compatible Permet de décrire balises, attributs et contenus

Grammaire surtout adaptée à des documents textuels XMLSchema

Syntaxe XML

Offre plus de possibilités que les DTD

contraintes sur les types de données manipulées contraintes sur les enchaînements et nombre des contenus

possibilité de « mélanger » des schémas

J.J. GIRARDOT - EMSE 10/2004 21

Contenu textuel

Texte compris entre une balise ouvrante et la balise fermante correspondante

Caractères "<", "&" et séquence "]]>" interdits Utiliser &lt;, &amp; ou &gt;

Construction spécifique

CDATA Sections

<![CDATA[<greeting>Hello, world!</greeting>]]>

Document XML valide

Un document XML est valide si :

Il est « bien formé »

Il respecte une certaine grammaire, qui indique : les caractéristiques de la racine du document les balises autorisées dans le document

les contenus autorisés de chaque balise (texte, balises)

les noms et caractéristiques des attributs autorisés pour chaque balise

Cette grammaire d'un document peut s'exprimer, pour XML, au travers de deux formalismes :

les DTD (Document Type Definition) les XML Schema

(7)

J.J. GIRARDOT - EMSE 10/2004 26

Exemples (1)

Référence à un DTD public :

<!DOCTYPE article PUBLIC

"-//OASIS//DTD DocBook XML V4.1.2//EN"

"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">

<!DOCTYPE doc PUBLIC

"-//Henry S. Thompson//DTD Simple XML Document//EN" "" >

Référence à un DTD local :

<!DOCTYPE praat-textgrid SYSTEM "praat-textgrid.dtd">

<!DOCTYPE report SYSTEM "report.dtd">

J.J. GIRARDOT - EMSE 10/2004 28

Exemple (3)

<!DOCTYPE cardbook [ -- Déclaration locale --

<!ELEMENT cardbook (card*)>

<!ELEMENT card (name, email, photo)>

<!ELEMENT name (#PCDATA)>

<!ELEMENT email (#PCDATA)>

<!ELEMENT photo EMPTY>

<!ATTLIST ...> ]>

<cardbook>

<card>

<name>Fabienne DURANT</name>

<email>fdurant@messel.emse.fr</email>

<photo img="http://messel.emse.fr/local/photos/2019/fdurant.jpeg"/>

</card>

<card>

<name>Paul DUPON</name>

<email>pdupon@messel.emse.fr</email>

<photo img="http://messel.emse.fr/local/photos/2019/pdupon.jpeg"/>

</card>

<cardbook>

J.J. GIRARDOT - EMSE 10/2004 25

XML Document défini par un DTD

Définition de la racine du document et déclaration du document type par :

<!DOCTYPE root-element [ doctype-declaration... ]>

Précise où est définie la DTD : Dans le document lui-même

elle se place entre crochets

À un autre emplacement, qui peut être

privé (mot-clef SYSTEM, identification de fichier) public (mot-clef PUBLIC, URL de document)

J.J. GIRARDOT - EMSE 10/2004 27

Exemples (2)

Document contenant son DTD

<!DOCTYPE test [

<!ELEMENT test (greeting)>

<!ELEMENT greeting #PCDATA>

]>

<test>

<greeting>Hello, World!</greeting>

</test>

(8)

J.J. GIRARDOT - EMSE 10/2004 30

Élément : modèle de contenu

EMPTY : pas de contenu ANY : n’importe quel contenu (#PCDATA | element-name | ...) :

« mélange » : chaînes de caractères et éléments listés

« Expression régulière » d’éléments :

choix: (... | ... | ...), séquence: (... , ... , ...) facteur de répétition :

optionnel : ?, zéro ou plus : *, un ou plus : +

Exemples

<!ATTLIST AUTHOR role (author|techwriter) "author">

<!ATTLIST praat-textgrid

version CDATA #REQUIRED type CDATA #REQUIRED

class NMTOKEN #FIXED "TextGrid"

xmin CDATA #REQUIRED xmax CDATA #REQUIRED

tiers (exists|none) #REQUIRED size CDATA #REQUIRED >

<!ATTLIST acm name CDATA #IMPLIED code CDATA #IMPLIED >

<!ATTLIST PUBLICATION format (html | pdf | ps)#REQUIRED>

<!ATTLIST style id ID #REQUIRED>

<!ATTLIST bibitem

type CDATA #REQUIRED label ID #REQUIRED>

J.J. GIRARDOT - EMSE 10/2004 29

Définition d'un élément

Déclaration d'élément :

Définit les caractéristiques (contenu, attribut) de tout élément qui porte ce nom.

<!ELEMENT element-name content-model>

Le nom respecte la syntaxe des identificateurs Le contenu décrit ce qui est autorisé dans la balise

rien texte

autres balises, et leur ordre éventuel mélanges de texte et d'autres balises

DTD : Attributs

<!ATTLIST element-name

attr-name attr-type attr-default ...>

attr-name Nom de l'attribut attr-type Type de l’attribut :

CDATA: n’importe quelle valeur (par défaut) (value|...) : énumération des valeurs possibles

ID, IDREF, IDREFS : ID la valeur de cet attribut doit être unique

("element identity"), IDREF la valeur de cet attribut doit correspondre à un ID (référence à un élément)

attr-default Contrainte sur l'attribut :

#REQUIRED : l’attribut doit être explicitement renseigné

#IMPLIED : l’attribut est optionnel, pas de valeur par défaut

« value »: si aucune valeur n’est fournie, cette valeur est insérée par défaut

#FIXED « value » : comme précédemment, mais seule cette valeur est autorisée

(9)

J.J. GIRARDOT - EMSE 10/2004 34

DTD : Exemple

<!ELEMENT collection (description,recipe*)>

<!ELEMENT description ANY>

<!ELEMENT recipe

(title,ingredient*,preparation,comment?,nutrition)>

<!ELEMENT title (#PCDATA)>

<!ELEMENT ingredient EMPTY>

<!ATTLIST ingredient name CDATA #REQUIRED amount CDATA #IMPLIED unit CDATA #IMPLIED>

<!ELEMENT preparation (step*)>

<!ELEMENT step (#PCDATA)>

<!ELEMENT comment (#PCDATA)>

<!ELEMENT nutrition EMPTY>

<!ATTLIST nutrition protein CDATA #REQUIRED carbohydrates CDATA #REQUIRED fat CDATA #REQUIRED

calories CDATA #REQUIRED alcohol CDATA #IMPLIED>

J.J. GIRARDOT - EMSE 10/2004 36

Limites des DTD

Syntaxe spécifique Typage

Pas de possibilité de typer les contenus

Typage faible des valeurs d’attributs (orienté document plutôt que XML-Data)

Pas de modélisation partielle : la modélisation doit être complète

Pas d’intégration des espaces de noms

J.J. GIRARDOT - EMSE 10/2004 33

DTD : entités

Une entité est une macro-définition

définie dans la DTD ou le document lui-même pouvant être insérée dans le document

Syntaxe de définition

<!ENTITY emse "&Eacute;cole Nationale Sup&eacute;rieure des Mines de Saint-

&Eacute;tienne">

Syntaxe d'utilisation

&emse;

J.J. GIRARDOT - EMSE 10/2004 35

Note

Un document peut utiliser un DTD existant en le modifiant ou en ajoutant des déclarations :

<!DOCTYPE books PUBLIC "-//LBIN//DTD IEEE Magazines//EN"

"xmlarticle.dtd"

[

<!ENTITY A1003 SYSTEM "a1003.xml">

<!ENTITY A1004 SYSTEM "a1004.xml">

<!ENTITY A1005 SYSTEM "a1005.xml">

<!ENTITY A1010 SYSTEM "a1010.xml">

<!ENTITY A1017 SYSTEM "a1017.xml">

<!ENTITY A1025 SYSTEM "a1025.xml">

<!ENTITY A1045 SYSTEM "a1045.xml">

<!ENTITY A1051 SYSTEM "a1051.xml">

<!ENTITY A1067 SYSTEM "a1067.xml">

<!ENTITY A1079 SYSTEM "a1079.xml">

]>

(10)

J.J. GIRARDOT - EMSE 10/2004 38

Namespace :

qualifier les espaces de noms

Un namespace se déclare en utilisant :

l’attribut xmlns (namespace par défaut) En préfixant un nom par xmlns:

La valeur de cet attribut est une URI : le « namespace name »

Se doit d’avoir des propriétés d’unicité et de persistance

Un namespace est défini pour l’élément et tout son contenu

Un élément préfixé par un namespace est un « qualified name »

XML schema

Syntaxe XML (il existe un Schema for Schemas) Utilisation et support des Namespaces

Déclarations orientées objet (héritage, types abstraits…) Définition de types global (=top-level) et local (=inlined) Modularité (inclusion de schema et redéfinitions) Structure auto-documentée

Expression de la cardinalité des sous-éléments Valeurs nulles (absence de contenus)

Attributs et éléments par défaut Any-element, any-attribute

Unicité des contraintes et ID/IDREF attribute scope

Expressions régulières pour specifier des chardata et des attributs valides

Nombreux types de données prédéfinis pour les contenus et les attributs

J.J. GIRARDOT - EMSE 10/2004 37

Namespace : conflits de noms

Le mélange des langages XML peut provoquer des conflits de noms.

<envelope>

<body>

<documentation>

<html>

<head><TITLE>SOAP 1.1</TITLE></head>

<body>

<h1>Simple Object Access Protocol …

</body>

</html>

</documentation>

</body>

</envelope>

Namespace : exemple

<?xml version="1.0"?>

<!-- initially, the default namespace is "books" -->

<book xmlns='urn:loc.gov:books'

xmlns:isbn='urn:ISBN:0-395-36341-6’>

<title>Cheaper by the Dozen</title>

<isbn:number>1568491379</isbn:number>

<notes>

<p xmlns='urn:w3-org-ns:HTML'>

This is a <i>funny</i> book!

</p>

</notes>

</book>

(11)

J.J. GIRARDOT - EMSE 10/2004 42

Influence de XML sur HTML

HTML est un type de document à structure figée HTML devrait être un « langage XML »

Compatibilité syntaxique pour les outils informatiques XHTML offre une vision XML de HTML :

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head><title>Hello world!</title></head>

<body><p>foobar</p></body>

</html>

J.J. GIRARDOT - EMSE 10/2004 44

Les outils

Librairies libXML et libXSLT de D. Veillard

Xmllint et xsltproc

Librairies JAVA

XT et XP de James Clark

Xerces et Xalan du projet Apache

J.J. GIRARDOT - EMSE 10/2004 41

XML Schema : exemple

<schema

xmlns="http://www.w3.org/2001/XMLSchema"

xmlns:b="http://businesscard.org"

targetNamespace="http://businesscard.org">

<element name="card" type="b:card_type"/>

<element name="name" type="string"/>

<element name="title" type="string"/>

<element name="email" type="string"/>

<element name="phone" type="string"/>

<element name="logo" type="b:logo_type"/>

<complexType name="card_type">

<sequence>

<element ref="b:name"/>

<element ref="b:title"/>

<element ref="b:email"/>

<element ref="b:phone" minOccurs="0"/>

<element ref="b:logo" minOccurs="0"/>

</sequence>

</complexType>

<complexType name="logo_type">

<attribute name="url" type="anyURI"/>

</complexType>

</schema>

<card

xmlns="http://businesscard.org">

<name>John Doe</name>

<title>CEO, Widget Inc.</title>

<email>john.doe@widget.com</email>

<phone>(202) 456-1414</phone>

<logo url="widget.gif"/>

</card>

J.J. GIRARDOT - EMSE 10/2004 43

Les langages de description

Il existe des DTD ou des schémas pour de nombreux usages

Graphique SVG Html XHTML

(12)

J.J. GIRARDOT - EMSE 10/2004 46

SAX

SAX est la norme pour les analyseurs à évènements : peu gourmands en mémoire, ils fonctionnent sur un système de

"callback".

Événements SAX

startDocument startElement endElement Characters

Exemples : XML::Parser, XP, ...

J.J. GIRARDOT - EMSE 10/2004 45

Programmation

Standardisation des api de programmation

SAX : vision événementielle d’un flot XML

DOM : Accès standard à la représentation mémoire

Des bibliothèques existent pour de nombreux langages :

C, JAVA, PERL, PHP …

DOM

Classes représentant le document XML en mémoire

classNode

appendChild, insertBefore, getAttributes, getNodeValue, getChildNodes, getFirstChild, getLastChild, getParentNode , hasAttributes , hasChildNodes …

class Element extends Node

getAttribute, getAttributeNode, getElementsByTagName, getTagName…

class CharacterData extends Node getData, setData …

class Attr extends Node

getName, getOwnerElement, getSpecified, setValue …

Références

Documents relatifs

La situation n’est tout de même pas sans is- sue puisque, d’une part, toute application XML gère un nombre fini de codages de caractères et, d’autre part, XML impose des

Construction de nouveaux élements et documents SGML Exemple : extraire toutes les entrées bibliographiques de $mybook et fabriquer un nouveau document de type BIBLIO contenant la

Cette possibilite doit ^etre speciee pour chaque element en intercalant dans la declaration d'un element entre son nom et le modele de contenu deux caracteres (separes par un

All SGML documents must conform to certain rules which are defined partially by the standard and partially by a prolog to the document which is called the document type

SGML — langage normalisé de balisage généralisé ou Standard Generalised Markup Language en anglais — est une norme internationale ISO (Organisation internationale de

(1988): SGML, an Author's Guide to the Standard Generalized Markup Language. Pro-

Le présent document décrit une utilisation du protocole d'accès de configuration du langage de balisage extensible (XML, Extensible Markup Language) (XCAP, XML Configuration

Par exemple, plusieurs signatures dans un document peuvent utiliser une clé vérifiée par une chaîne de certificats X.509v3 qui apparaît une fois dans le document, ou à distance, en