« STIC Discussion:STIC I - exercice 2 (Nestor-Pixel) » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 67 : Ligne 67 :
* Editez ePBLpaper11.xml
* Editez ePBLpaper11.xml
----
----
Merci de votre réponse très complète, je vais essayer de trouver un peu de temps entre les travaux de groupe pour explorer tout ça !! ^_^ --[[Utilisateur:Davidc|Davidc]] 4 octobre 2007 à 13:31 (MEST)
Merci de votre réponse très complète, je vais essayer de trouver un peu de temps entre les travaux de groupe pour explorer tout ça (notamment la partie qui genere le XHTML + MathML + SVG Profile: je cherchais justement quelque chose du genre) !! ^_^ --[[Utilisateur:Davidc|Davidc]] 4 octobre 2007 à 13:31 (MEST)

Version du 4 octobre 2007 à 13:33

Combinaison de DTD

Est-il possible de faire référence à plus d'un DTD ?

  • C'est à dire.. Exemple pour former un fichier XHTML "hacké" :
    • Lancer une référence au DTD XHTML classique de w3c.org
    • Ajouter une référence à une DTD qui "rajoute" des balises...

En fouillant bien, genre en allant voir le contenu de http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd , on voit qu'on pourrait éventuellement le faire en créant une DTD qui va chercher le contenu d'une autre DTD. MAIS, est-ce possible à partir d'un document XML ?

Réponse

Question pas si facile.

Un document XML est toujours validé par rapport à une seule DTD, donc il faut travailler du côté des DTD.

DTDs à partir de plusieurs composantes

On peut construire des DTD qui incluent d'autres DTDs. C'est même la règle quand on fait une grande DTD. Pour cela il faut consulter la section sur les entités dans mes transparents et voir un exemple. Exemple: http://tecfa.unige.ch/guides/xml/examples/dtd-examples/ePBL11/

Ceci déclare une DTD externe

<!ENTITY % foreign-dtd SYSTEM "ibtwsh6_ePBL.dtd">

Ceci inclut le fichier

%foreign-dtd;

Ceci utilise une composante de cette DTD

<!ELEMENT introduction %struct.model;>

XHTML modulaire et extensible

Solution 1:

  • Travailler avec un mini XHTML de vôtre choix (comme ci-dessus)

Solution 2:

  • Travailler avec XHTML modulaire et inclure les modules qui vous intéressent. Je n'ai pas encore essayé et ne sais pas vraiment si c'est difficle ou facile
http://www.w3.org/TR/xhtml-modularization/

XHTML 1.1 est définit justement avec ces modules:

http://www.w3.org/TR/xhtml11/xhtml11_dtd.html

Travailler avec des namespaces

En pratique quand les gens mélangent des langages ils utilisent parfois des namespaces différents. Cela produit des documents bien formés, mais pas valides.

Sauf si qqn. écrit une DTD pour cela. W3C l'a fait pour qqs. "profiles", genere le XHTML + MathML + SVG Profile:

http://www.w3.org/TR/2002/WD-XHTMLplusMathMLplusSVG-20020430/

Résumé

  • N'essayez pas d'étendre XHTML, à mon avis c'est trop difficile
  • Faites plutôt votre DTD, mais "piquez" des modules XHTML ou encore un mini XHTML comme Itsy Bitsy Teeny Weeny Simple Hypertext DTD (ibtwsh6).
  • Intégrer un sous-ensemble de balises XHTML dans vos balises est plus simple que l'inverse.

Si vous utilisez IBTWSH6, je vous conseille vivement d'utiliser %struct.model;

Pour comprendre comment fonctionne IBTWSH6 inclu dans une DTD faite maison, il faut essayer:


Merci de votre réponse très complète, je vais essayer de trouver un peu de temps entre les travaux de groupe pour explorer tout ça (notamment la partie qui genere le XHTML + MathML + SVG Profile: je cherchais justement quelque chose du genre) !! ^_^ --Davidc 4 octobre 2007 à 13:31 (MEST)