« STIC:STIC II - exercice 10 (Volt) » : différence entre les versions
m (using an external editor) |
mAucun résumé des modifications |
||
(61 versions intermédiaires par 5 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ | {{stic archive}} | ||
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">STIC</categorytree> | <categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">STIC</categorytree> | ||
== Enoncé de l'exercice 10 == | == Enoncé de l'exercice 10 == | ||
'''Cours Bases''': répondre au questionnaire SVP | |||
* | |||
* | Objectifs de cet exercice [[STIC:STIC_II|STIC II]]: | ||
* | * Construire des DTDs pour XML | ||
* Faire des transformation simples avec XSLT (affichage et filtrage de données XML) | |||
* Mise en page du résultat HTML | |||
.... oui on compte à partir de 10 :) | |||
=== Tâche === | === Tâche === | ||
* Créer une DTD simple sur un sujet de votre choix, mais en rapport avec une thématique "MALTT" | * Créer une DTD simple sur un sujet de votre choix, mais en rapport avec une thématique "MALTT" | ||
* | * La DTD doit aider un auteur à rédiger un type de texte pour un public cible (apprenant, enseignant, concepteur, etc.). Ne faites pas une spécification pour un fichier d'échange de données (genre SVG, DocX, etc.) et ne faites pas une application administrative SVP. | ||
* Afficher avec une feuille de style XSLT | * Afficher avec une feuille de style XSLT un contenu XML valide crée avec cette DTD | ||
* Bonus: associer une CSS au résultat HTML | * Bonus: | ||
** associer une CSS au résultat HTML | |||
** créer des graphiques SVG | |||
** Créer 2 variantes du XSLT (utiliser le même fichier XML et afficher autre chose) | |||
* Ecrire un rapport | * Ecrire un rapport | ||
* Participer au Wiki | * Participer au Wiki (en rapport avec la thématique de l'exercice ou du cours) | ||
Emplacement de la page d'accueil / rapport: | Emplacement de la page d'accueil / rapport: | ||
/etu-maltt/<promo>/<login>/stic-2/ | /etu-maltt/<promo>/<login>/stic-2/ex10/ | ||
par exemple: | par exemple: | ||
/etu-maltt/qwerty/user1/stic-2/ | /etu-maltt/qwerty/user1/stic-2/ex10/ | ||
* Donc '' | * Donc ''ex10'' et ne pas ''exercice 10'' etc. !! | ||
=== Contraintes === | === Contraintes === | ||
* Contenu selon vos envies et possibilités, mais en rapport avec les thématiques de MALTT | * Contenu selon vos envies et possibilités, mais en rapport avec les thématiques de MALTT | ||
* Vous | * Vous pouvez soit définir une nouvelle DTD, soit adapter une DTD existante (que vous devez citer) | ||
* La DTD doit être correcte et vos contenus doivent être valides (respecter la DTD) | * La DTD doit être correcte et vos contenus doivent être valides (respecter la DTD) | ||
Il faut donc produire | Il faut donc produire au moins 4 fichiers: | ||
* Une DTD, | * Une DTD, | ||
* | * un fichier *.xml | ||
* | * un fichier *.xsl associés à ce fichier xml | ||
* un rapport. | * un rapport | ||
* En option: Fichiers CSS, images, 2ème XSLT, etc. | |||
Le rapport: | Le rapport doit inclure: | ||
* Titre, auteur et date | * Titre, auteur et date | ||
* Le | * Le résultat: | ||
** Lien vers la DTD | ** Lien vers la DTD | ||
** Lien vers le fichier XML | ** Lien vers le fichier XML | ||
** Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez) | ** Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez) | ||
* Objectifs DTD: Elle sert à quoi ? | * Objectifs DTD: Elle sert à quoi ? | ||
* Documentation de la DTD (peut aussi être faite dans la DTD) | |||
* Objectifs XSLT: Comment avez-vous pensé la mise en page ? | * Objectifs XSLT: Comment avez-vous pensé la mise en page ? | ||
* La production: '''bref''' résumé de la démarche | * La production: '''bref''' résumé de la démarche | ||
* Contribution Wiki | * Contribution Wiki | ||
* Difficultés, auto-évaluation, remarques | * Difficultés, auto-évaluation, remarques | ||
* Ressources utilisées, bibliographie. | * Ressources utilisées, bibliographie. | ||
Ligne 55 : | Ligne 61 : | ||
=== Evaluation === | === Evaluation === | ||
Voici la liste des critères d'évaluation. Chaque donne entre 0 et 0.6 points. | |||
# '''Qualité du rapport''' Y compris discussion des besoins et du vocabulaire, références, réflexions. | |||
# '''Qualité technique''': Validité des fichiers XML, XSLT et de la DTD | |||
# '''Respect des contraintes''': Y compris noms de répertoires, etc. | |||
# '''Documentation technique''': Interne (notamment dans la DTD) et/ou externe | |||
# '''Respect de délais''' | |||
# '''Thématique et formulation d'objectifs en rapport avec vos études''': Soyez créatifs, faites plus qu’une simple structure tabulaire ! Evitez donc les DTD pour gérér vos CD et vos livres .... | |||
# '''User experience''': Ergonomie et qualité de la présentation (X)HTML | |||
# '''Richesse''': Complexité, difficulté, originalité. etc. | |||
# '''Volume''': Fichier XML qui permet de tester la DTD pour de vrai | |||
# '''Participation au wiki''': (en dehors de la page discussion !) | |||
=== Propositions wiki-writing === | |||
A vous de choisir, mais on suggère de choisir un sujet en rapport étroit avec une des tâches. | |||
# Compléter [[XML]] | # Compléter [[XML]] | ||
# Compléter [[Tutoriel XSLT débutant]] | # Compléter/améliorer [[Tutoriel XSLT débutant]] | ||
# Compléter [[Tutoriel DTD]] | # Traduire (au moins une partie de) [[:en:XSLT to generate SVG tutorial]]. Déjà traduit => [[Tutoriel pour générer du SVG avec du XSLT]] | ||
# Compléter/améliorer [[Tutoriel DTD]] | |||
# [[XML dans l'éducation]] | # [[XML dans l'éducation]] | ||
# Documenter un éditeur XML, ou améliorer [[Exchanger_XML_Editor]] | |||
# Faire un article en rapport avec un autre exercice, par exemple [[eXe]] | |||
# Décrire un vocabulaire XML qui vous intéresse (regardez ce que publie [http://www.w3.org/TR/ W3C], [[en:IMS|IMS]], [http://www.oasis-open.org/ OASIS],....) | # Décrire un vocabulaire XML qui vous intéresse (regardez ce que publie [http://www.w3.org/TR/ W3C], [[en:IMS|IMS]], [http://www.oasis-open.org/ OASIS],....) | ||
# Voir aussi la catégorie [[:en:XML]] (possibilité de faire un bout de traduction par exemple) | |||
== Activités en classe == | == Activités en classe == | ||
Ligne 76 : | Ligne 92 : | ||
=== Tour de logiciels === | === Tour de logiciels === | ||
* [http://java.sun.com/ Java | * [http://java.sun.com/ Java SDK] si ce n'est pas déjà fait. Il faut installer cet environnement, car plusieurs programmes que nous allons utiliser en ont besoin. | ||
Ensuite, installer / utiliser un éditeur XML. Voici quelques choix: | Ensuite, installer / utiliser un éditeur XML si c'est pas déjà fait. Voici quelques choix: | ||
; Editeur XML - Choix 1 | ; Editeur XML - Choix 1 | ||
*[[Exchanger_XML_Editor]] | |||
* [http:// | * [http://code.google.com/p/exchangerxml/ Exchanger XML Editor lite] (PC/Mac/Unix). Donwload chez Google code. Vérifiez que c'est au moins la version 3.3 (pas prendre chez [http://www.exchangerxml.com/ xchanger.com] (site abandonné). | ||
; Editeur XML - Choix 2 | ; Editeur XML - Choix 2 | ||
* [http://www.epcedit.com/ epcEdit] | * [http://www.epcedit.com/ epcEdit] (Linux, Windows) | ||
* Le plus convivial à utiliser (mais pas à installer) | * Le plus convivial à utiliser (mais pas à installer) | ||
; XML Copy editor - Choix 3 | ; XML Copy editor - Choix 3 | ||
* [http://sourceforge.net/projects/xml-copy-editor/ XML Copy editor] | * [[XML Copy Editor]] | ||
* Download: [http://sourceforge.net/projects/xml-copy-editor/ XML Copy editor] (Linux, windows) | |||
* Le plus facile à installer ! Assez facile à utiliser, mais moins puissant !. | * Le plus facile à installer ! Assez facile à utiliser, mais moins puissant !. | ||
* Peut valider toutes sortes de schémas. | * Peut valider toutes sortes de schémas. | ||
Ligne 98 : | Ligne 115 : | ||
=== Introduction à XML === | === Introduction à XML === | ||
Déjà faite dans le séminaire d'initiation. Pour rappel: | |||
* [[XML]] | |||
* [http://tecfa.unige.ch/guides/tie/html/xml-dom/xml-dom.html Introduction à XML et DOM] (slides) | * [http://tecfa.unige.ch/guides/tie/html/xml-dom/xml-dom.html Introduction à XML et DOM] (slides) | ||
* [http://tecfa.unige.ch/guides/tie/html/xml-tech/xml-tech.html Introduction technique à XML] (HTML) - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-tech.pdf PDF], (transparents) | * [http://tecfa.unige.ch/guides/tie/html/xml-tech/xml-tech.html Introduction technique à XML] (HTML) - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-tech.pdf PDF], (transparents) | ||
'''Warm-up - éditer une DTD de cuisine''' (pour ceux/celles qui veulent s'exercer un peu ...) | |||
Copiez ces fichiers: | Copiez ces fichiers: | ||
Ligne 117 : | Ligne 137 : | ||
=== Créer une DTD === | === Créer une DTD === | ||
* | * [[Tutoriel DTD]] (exposé) | ||
* Démo XML Exchanger lite: [[:en:Exchanger XML Editor]] | |||
** Il faut fermer/ouvrir le fichier XML après avoir introduit le doctype plus l'élément racine (c'est un petit bug) | |||
* Créez une DTD | |||
*# Imaginez un domaine à modéliser | |||
*# Esquissez ses éléments sur papier | |||
*# Créez le fichier DocType. | |||
Exemple que vous pouvez copier/coller si vous sentez le besoin de vous exercer avec qc. qui a déjà été fait. | |||
<source lang="xml"> | |||
<!ELEMENT addressBook (person)+> | <!ELEMENT addressBook (person)+> | ||
<!ELEMENT person (name,email*)> | <!ELEMENT person (name,email*)> | ||
Ligne 125 : | Ligne 154 : | ||
<!ELEMENT given (#PCDATA)> | <!ELEMENT given (#PCDATA)> | ||
<!ELEMENT email (#PCDATA)> | <!ELEMENT email (#PCDATA)> | ||
</source> | |||
* | * Enregistrez la DTD dans un fichier qui s'appelle addressBook.dtd ou un autre nom de votre choix. | ||
* Faites un fichier XML avec cette DTD en partant du patron suivant: | |||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0"?> | <?xml version="1.0"?> | ||
<!DOCTYPE addressBook SYSTEM " | <!DOCTYPE addressBook SYSTEM "addressBook.dtd"> | ||
<addressBook> | <addressBook> | ||
Ligne 138 : | Ligne 168 : | ||
</source> | </source> | ||
=== Introduction à XSLT === | Explications: | ||
* "addressBook" est le nom de l'élément racine. La DTD ne l'indique pas, il '''faut donc l'indiquer à XML dans la ligne qui définit le Doctype'''. C'est pareil pour XHTML ou SVG ... | |||
* Remplacez "addressBook" et "addressBook.dtd" avec '''votre élément racine''' et '''votre nom de fichier'''. | |||
=== Introduction à XSLT (exposé) === | |||
* [[Tutoriel XSLT débutant]] | |||
* [[:en:XSLT to generate SVG tutorial]] | |||
* [http://tecfa.unige.ch/guides/tie/html/xml-xslt/xml-xslt.html Introduction technique à XSLT] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-xslt.pdf PDF file] , (transparents) | * [http://tecfa.unige.ch/guides/tie/html/xml-xslt/xml-xslt.html Introduction technique à XSLT] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-xslt.pdf PDF file] , (transparents) | ||
=== XSLT === | === Activité XSLT === | ||
(1) Regardez d'abord des examples, notamment la recette de cuisine ci-dessus ! | (1) Regardez d'abord des examples, notamment la recette de cuisine ci-dessus ! | ||
Ligne 152 : | Ligne 188 : | ||
éditeurs XML offrent une assistance XSLT. | éditeurs XML offrent une assistance XSLT. | ||
Chablon XSLT à copier dans un nouveau fichier *.xsl | |||
<source lang="XML"> | <source lang="XML"> | ||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
Ligne 177 : | Ligne 213 : | ||
</source> | </source> | ||
Chablon fichier XML avec XSLT | |||
<source lang="xml"> | <source lang="xml"> | ||
<?xml version="1.0" ?> | <?xml version="1.0" ?> | ||
Ligne 187 : | Ligne 223 : | ||
</VOTRE_RACINE> | </VOTRE_RACINE> | ||
</source> | </source> | ||
'''Utilisation de Exchanger''' | |||
* Lire [[Exchanger XML Editor]] ou [[:en:Exchanger XML Editor]]. Au moins regarder les images dans les sections qui concernent XSLT. | |||
* Il est impératif de choisir Saxon (XSLT 2.0) comme engin. Les autres ont disparu dans l'installation ..... (file->Preferences; XML Tab) | |||
== Ressources == | == Ressources == | ||
Ligne 195 : | Ligne 236 : | ||
: [http://tecfa.unige.ch/guides/tie/html/xml-tech/xml-tech.html Introduction technique à XML] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-tech.pdf PDF file] , (transparents) | : [http://tecfa.unige.ch/guides/tie/html/xml-tech/xml-tech.html Introduction technique à XML] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-tech.pdf PDF file] , (transparents) | ||
: [http://tecfa.unige.ch/guides/tie/html/xml-xslt/xml-xslt.html Introduction technique à XSLT] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-xslt.pdf PDF file] , (transparents) | : [http://tecfa.unige.ch/guides/tie/html/xml-xslt/xml-xslt.html Introduction technique à XSLT] - [http://tecfa.unige.ch/guides/tie/pdf/files/xml-xslt.pdf PDF file] , (transparents) | ||
; Manuels électroniques (PDF et dPUB sur XML) | |||
: [[http://tecfa.unige.ch/guides/xml/docs/ docs protégés]] | |||
; Exemples de DTD | ; Exemples de DTD | ||
: http://tecfa.unige.ch/guides/xml/examples/dtd-examples/ | : http://tecfa.unige.ch/guides/xml/examples/dtd-examples/ | ||
: http://tecfa.unige.ch/guides/xml/examples/xsl-simple/ | : http://tecfa.unige.ch/guides/xml/examples/xsl-simple/ | ||
; Informations sur les DTD | |||
: [http://fr.selfhtml.org/xml/dtd/generalites.htm Généralités sur les DTD] | |||
: [http://fr.selfhtml.org/xml/dtd/generalites.htm#analyse_donnees Analyse de données préparatoire à la conception d'une DTD]. Cette page propose [http://fr.selfhtml.org/xml/dtd/generalites.htm#analyse_donnees 6 phases] bien distinctes pour le développement d'une DTD. | |||
; Pages wiki fr | ; Pages wiki fr | ||
: [[XML]] (survol conceptuel) | : [[XML]] (survol conceptuel) | ||
: [[Tutoriel DTD]] | : [[Tutoriel DTD]] ('''important''', comprend les éléments pour réussir l'exercice) | ||
: [[Encodage de caractères]] | : [[Encodage de caractères]] | ||
: [[Tutoriel XSLT débutant]] (contenu similaire aux transparents XSLT) | : [[Tutoriel XSLT débutant]] (contenu similaire aux transparents XSLT) | ||
: [[XML Schema]] | |||
; Pages wiki en | ; Pages wiki en anglais | ||
: [[:en:Editing XML tutorial]] (tutoriel pour utiliser un schéma XML) | |||
: [[:en:DTD tutorial]] | |||
: [[:en:XML|XML]] (en, mini-tutoriel + liens) | : [[:en:XML|XML]] (en, mini-tutoriel + liens) | ||
: [[:en:XML editor|XML editor]] (on conseille Exchanger light, si vous n'arrivez pas à l'installer, essayez d'autres comme epcedit) | : [[:en:XML editor|XML editor]] (on conseille Exchanger light, si vous n'arrivez pas à l'installer, essayez d'autres comme epcedit) | ||
Ligne 212 : | Ligne 263 : | ||
: [[:en:XSLT_Tutorial_-_Basics|XSLT Tutorial]] (en, mini-tutoriel) | : [[:en:XSLT_Tutorial_-_Basics|XSLT Tutorial]] (en, mini-tutoriel) | ||
: [[:en:Character encoding| Character encoding]] (en, liens encodage) | : [[:en:Character encoding| Character encoding]] (en, liens encodage) | ||
: [[:en:Help:COAP-2180|Cours COAP]] | |||
: [[:en:Category:XML|La catégorie XML]] | |||
: [[:en:Exchanger XML Editor]] ('''Important''''), [[Exchanger XML Editor|la version française]] n'est qu'une ébauche. |
Dernière version du 20 février 2017 à 16:40
Cette page fait partie des archives des cours Cours STIC (STIC I, STIC II,STIC III,STIC IV)
Enoncé de l'exercice 10
Cours Bases: répondre au questionnaire SVP
Objectifs de cet exercice STIC II:
- Construire des DTDs pour XML
- Faire des transformation simples avec XSLT (affichage et filtrage de données XML)
- Mise en page du résultat HTML
.... oui on compte à partir de 10 :)
Tâche
- Créer une DTD simple sur un sujet de votre choix, mais en rapport avec une thématique "MALTT"
- La DTD doit aider un auteur à rédiger un type de texte pour un public cible (apprenant, enseignant, concepteur, etc.). Ne faites pas une spécification pour un fichier d'échange de données (genre SVG, DocX, etc.) et ne faites pas une application administrative SVP.
- Afficher avec une feuille de style XSLT un contenu XML valide crée avec cette DTD
- Bonus:
- associer une CSS au résultat HTML
- créer des graphiques SVG
- Créer 2 variantes du XSLT (utiliser le même fichier XML et afficher autre chose)
- Ecrire un rapport
- Participer au Wiki (en rapport avec la thématique de l'exercice ou du cours)
Emplacement de la page d'accueil / rapport:
/etu-maltt/<promo>/<login>/stic-2/ex10/
par exemple:
/etu-maltt/qwerty/user1/stic-2/ex10/
- Donc ex10 et ne pas exercice 10 etc. !!
Contraintes
- Contenu selon vos envies et possibilités, mais en rapport avec les thématiques de MALTT
- Vous pouvez soit définir une nouvelle DTD, soit adapter une DTD existante (que vous devez citer)
- La DTD doit être correcte et vos contenus doivent être valides (respecter la DTD)
Il faut donc produire au moins 4 fichiers:
- Une DTD,
- un fichier *.xml
- un fichier *.xsl associés à ce fichier xml
- un rapport
- En option: Fichiers CSS, images, 2ème XSLT, etc.
Le rapport doit inclure:
- Titre, auteur et date
- Le résultat:
- Lien vers la DTD
- Lien vers le fichier XML
- Lien vers le *.XSLT qui va avec (et la CSS si vous en utilisez)
- Objectifs DTD: Elle sert à quoi ?
- Documentation de la DTD (peut aussi être faite dans la DTD)
- Objectifs XSLT: Comment avez-vous pensé la mise en page ?
- La production: bref résumé de la démarche
- Contribution Wiki
- Difficultés, auto-évaluation, remarques
- Ressources utilisées, bibliographie.
Evaluation
Voici la liste des critères d'évaluation. Chaque donne entre 0 et 0.6 points.
- Qualité du rapport Y compris discussion des besoins et du vocabulaire, références, réflexions.
- Qualité technique: Validité des fichiers XML, XSLT et de la DTD
- Respect des contraintes: Y compris noms de répertoires, etc.
- Documentation technique: Interne (notamment dans la DTD) et/ou externe
- Respect de délais
- Thématique et formulation d'objectifs en rapport avec vos études: Soyez créatifs, faites plus qu’une simple structure tabulaire ! Evitez donc les DTD pour gérér vos CD et vos livres ....
- User experience: Ergonomie et qualité de la présentation (X)HTML
- Richesse: Complexité, difficulté, originalité. etc.
- Volume: Fichier XML qui permet de tester la DTD pour de vrai
- Participation au wiki: (en dehors de la page discussion !)
Propositions wiki-writing
A vous de choisir, mais on suggère de choisir un sujet en rapport étroit avec une des tâches.
- Compléter XML
- Compléter/améliorer Tutoriel XSLT débutant
- Traduire (au moins une partie de) en:XSLT to generate SVG tutorial. Déjà traduit => Tutoriel pour générer du SVG avec du XSLT
- Compléter/améliorer Tutoriel DTD
- XML dans l'éducation
- Documenter un éditeur XML, ou améliorer Exchanger_XML_Editor
- Faire un article en rapport avec un autre exercice, par exemple eXe
- Décrire un vocabulaire XML qui vous intéresse (regardez ce que publie W3C,, OASIS,....)
- Voir aussi la catégorie en:XML (possibilité de faire un bout de traduction par exemple)
Activités en classe
Tour de logiciels
- Java SDK si ce n'est pas déjà fait. Il faut installer cet environnement, car plusieurs programmes que nous allons utiliser en ont besoin.
Ensuite, installer / utiliser un éditeur XML si c'est pas déjà fait. Voici quelques choix:
- Editeur XML - Choix 1
- Exchanger_XML_Editor
- Exchanger XML Editor lite (PC/Mac/Unix). Donwload chez Google code. Vérifiez que c'est au moins la version 3.3 (pas prendre chez xchanger.com (site abandonné).
- Editeur XML - Choix 2
- epcEdit (Linux, Windows)
- Le plus convivial à utiliser (mais pas à installer)
- XML Copy editor - Choix 3
- XML Copy Editor
- Download: XML Copy editor (Linux, windows)
- Le plus facile à installer ! Assez facile à utiliser, mais moins puissant !.
- Peut valider toutes sortes de schémas.
- Editeur XML - autres choix
- C.f. XML editor
Introduction à XML
Déjà faite dans le séminaire d'initiation. Pour rappel:
- XML
- Introduction à XML et DOM (slides)
- Introduction technique à XML (HTML) - PDF, (transparents)
Warm-up - éditer une DTD de cuisine (pour ceux/celles qui veulent s'exercer un peu ...)
Copiez ces fichiers:
- http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine.xsl
- http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine.css
- http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine.dtd
- http://tecfa.unige.ch/guides/xml/examples/dtd-examples/cuisine-template.xml
ATTENTION: il faut "sauver les lien sous" / "save link as" ! Pas afficher dans le navigateur et sauver ensuite ...
Avec votre éditeur XML, ouvrez le document cuisine-template.xml
Entrez une recette ...
Créer une DTD
- Tutoriel DTD (exposé)
- Démo XML Exchanger lite: en:Exchanger XML Editor
- Il faut fermer/ouvrir le fichier XML après avoir introduit le doctype plus l'élément racine (c'est un petit bug)
- Créez une DTD
- Imaginez un domaine à modéliser
- Esquissez ses éléments sur papier
- Créez le fichier DocType.
Exemple que vous pouvez copier/coller si vous sentez le besoin de vous exercer avec qc. qui a déjà été fait.
<!ELEMENT addressBook (person)+>
<!ELEMENT person (name,email*)>
<!ELEMENT name (family,given)>
<!ELEMENT family (#PCDATA)>
<!ELEMENT given (#PCDATA)>
<!ELEMENT email (#PCDATA)>
- Enregistrez la DTD dans un fichier qui s'appelle addressBook.dtd ou un autre nom de votre choix.
- Faites un fichier XML avec cette DTD en partant du patron suivant:
<?xml version="1.0"?>
<!DOCTYPE addressBook SYSTEM "addressBook.dtd">
<addressBook>
</addressBook>
Explications:
- "addressBook" est le nom de l'élément racine. La DTD ne l'indique pas, il faut donc l'indiquer à XML dans la ligne qui définit le Doctype. C'est pareil pour XHTML ou SVG ...
- Remplacez "addressBook" et "addressBook.dtd" avec votre élément racine et votre nom de fichier.
Introduction à XSLT (exposé)
- Tutoriel XSLT débutant
- en:XSLT to generate SVG tutorial
- Introduction technique à XSLT - PDF file , (transparents)
Activité XSLT
(1) Regardez d'abord des examples, notamment la recette de cuisine ci-dessus !
- Sinon, fouillez par exemple les exemples très simples: http://tecfa.unige.ch/guides/xml/examples/xsl-simple/
(2) Pour votre XML/DTD faites une simple feuille de style XSLT
Copiez/collez le chablon ci-dessous si vous voulez et remplacez "VOTRE_RACINE, "UN_ELEMENT" par vos éléments. Sinon, la plupart des éditeurs XML offrent une assistance XSLT.
Chablon XSLT à copier dans un nouveau fichier *.xsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="VOTRE_ELEMENT_RACINE">
<html>
<body bgcolor="#FFFFFF">
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="UN_ELEMENT">
</xsl:template>
<xsl:template match="UN_ELEMENT">
</xsl:template>
</xsl:stylesheet>
Chablon fichier XML avec XSLT
<?xml version="1.0" ?>
<!DOCTYPE VOTRE_RACINE SYSTEM "VOTRE_DTD.dtd">
<?xml-stylesheet href="VOTRE_STYLE.xsl" type="text/xsl"?>
<VOTRE_RACINE>
</VOTRE_RACINE>
Utilisation de Exchanger
- Lire Exchanger XML Editor ou en:Exchanger XML Editor. Au moins regarder les images dans les sections qui concernent XSLT.
- Il est impératif de choisir Saxon (XSLT 2.0) comme engin. Les autres ont disparu dans l'installation ..... (file->Preferences; XML Tab)
Ressources
- Transparents
- TECFA's XML page
- Introduction à XML et DOM - PDF file , (transparents)
- Introduction technique à XML - PDF file , (transparents)
- Introduction technique à XSLT - PDF file , (transparents)
- Manuels électroniques (PDF et dPUB sur XML)
- [docs protégés]
- Exemples de DTD
- http://tecfa.unige.ch/guides/xml/examples/dtd-examples/
- http://tecfa.unige.ch/guides/xml/examples/xsl-simple/
- Informations sur les DTD
- Généralités sur les DTD
- Analyse de données préparatoire à la conception d'une DTD. Cette page propose 6 phases bien distinctes pour le développement d'une DTD.
- Pages wiki fr
- XML (survol conceptuel)
- Tutoriel DTD (important, comprend les éléments pour réussir l'exercice)
- Encodage de caractères
- Tutoriel XSLT débutant (contenu similaire aux transparents XSLT)
- XML Schema
- Pages wiki en anglais
- en:Editing XML tutorial (tutoriel pour utiliser un schéma XML)
- en:DTD tutorial
- XML (en, mini-tutoriel + liens)
- XML editor (on conseille Exchanger light, si vous n'arrivez pas à l'installer, essayez d'autres comme epcedit)
- XSLT (en, liens)
- XSLT Tutorial (en, mini-tutoriel)
- Character encoding (en, liens encodage)
- Cours COAP
- La catégorie XML
- en:Exchanger XML Editor (Important'), la version française n'est qu'une ébauche.