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 < > pour afficher le caractère > ' pour afficher le caractère ' " 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