Les entités XML - issco

Transcription

Les entités XML - issco
Documents Structurés Multilingues (XML)
2010
Maria Georgescul
ETI, Université de Genève
Plan du cours
• entités générales
– définies par vous-même
– entités caractères prédéfinies en XML
– entités caractères numériques
Les entités XML
Cours n°5
• entités paramètres
• entités internes
• entités externes
Maria Georgescul
ISSCO/TIM, ETI
2
Inclusion de texte et de ressources externes à
l’aide d’entités
Les entités
• Rappel [cours 3] :
• But:
– Appel d’entités numériques avec les codes de caractères
Unicode:
ق
– économiser la frappe de texte répétitif ou qui change
fréquemment;
– incorporer le contenu des fichiers externes
pour afficher le caractère ‫ق‬
• Rappel [cours 2] :
– Appel d’entités caractères prédéfinies en XML:
& pour afficher le caractère &
<
pour afficher le caractère <
&gt; pour afficher le caractère >
&apos; pour afficher le caractère '
&quot; pour afficher le caractère "
• Contenu
–
–
–
–
• Cours 5:
– Déclaration d’entités
un caractère unique
une chaîne de caractères
des balises
des déclarations de balises
3
Entité générale interne
4
Entité générale externe
• Déclaration dans la DTD:
•
<!ENTITY publisher SYSTEM "publisher.xml">
<!ENTITY description SYSTEM "description.txt">
Déclaration de l’entité dans la DTD:
<!ENTITY nom_entité "Valeur entité">
le texte de remplacement est défini dans un fichier
externe
le texte de remplacement est défini dans la déclaration de
l’entité
• Exemple:
<!ENTITY cours “Documents structurés multilingues">
•
• Appel dans le document XML:
&publisher;
&description;
Appel de l’entité dans le document XML:
&nom_entité;
Le parseur XML remplace l’appel d’entité par la chaîne de
caractères correspondante
• Exemple:
Le parseur XML remplace l’appel d’entité par le
contenu du fichier correspondant
<memo> Le cours de &cours; vous offre une vue
d’ensemble de la famille XML. </memo>
5
6
1
Documents Structurés Multilingues (XML)
2010
Maria Georgescul
ETI, Université de Genève
Entité paramètre interne
Entité paramètre externe
• Déclaration et appel dans la DTD:
<!DOCTYPE document[
<!ELEMENT document (header, body, footer)>
<!ENTITY % header "<!ELEMENT header (#PCDATA)>">
%header;
• Déclaration et appel dans la DTD:
<!ENTITY % footer_entity "<!ELEMENT footer (#PCDATA)>">
<!ENTITY % body "<!ELEMENT body (#PCDATA)>">
%body;
%footer_entity;
]>
<document>
<header> Header text </header>
<body> Body text</body>
<footer/>
</document>
<!DOCTYPE document[
<!ELEMENT document (header, body, footer)>
<!ENTITY % header SYSTEM "header.mod">
%header;
<!ENTITY % body SYSTEM "body.mod">
<!ENTITY % footer SYSTEM "footer.dtd">
%body;
%footer;
]>
• Appel dans la DTD:
%header; %body; %footer;
Le parseur XML remplace l’appel d’entité par le contenu du
fichier correspondant
7
Exemple: contenu du fichier “header.mod”
8
Conclusions
• Entités générales
– définies par vous-même
– entités caractères prédéfinies en XML
– entités caractères numériques prédéfinies en XML
<!ELEMENT header (title, author, created,
modified, keyword*, description?)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT created (#PCDATA)>
<!ELEMENT modified (#PCDATA)>
<!ELEMENT keyword (#PCDATA)>
<!ELEMENT description (#PCDATA)>
• Exchanger XML Editor: menu « Edit
Character; Character Entity »
XML
Insert Special
• Entités paramètres
utilisées uniquement dans les
DTDs
• Entités internes
• Entités externes
utilisées pour importer du
contenu partagée par plusieurs documents
9
10
2