Une simple introduction au monde XML qui sera très prochainement complétée par un article portant sur les choix de structure de XML.
Vos commentaires peuvent permettre d'améliorer ces articles donc n'hésitez pas !
Une simple introduction au monde XML qui sera très prochainement complétée par un article portant sur les choix de structure de XML.
Vos commentaires peuvent permettre d'améliorer ces articles donc n'hésitez pas !
Je trouve qu'il est relativement synthétique et complet pour une introduction.
J'ai cependant relevé ça :
Les coquilles :
- 1-A-3. Usages :
"opendDocument"- 1-B-4. namespace :
La baliseouoù il est déclaré- 2-A-2. SAX et 2-A-3. Autres :
Il y'a des sauts de lignes dans une même phrase.- 2-B. La validation :
"C'est le parseur ,"- 2-E. Echanges XML :
interface d'utilisateur*
Des compléments possibles d'information :
- 1-B-1. L'en-tête :
Dire que l'attribut encoding correspond à l'encodage actuel du document (c'est pas forcément évident ). Peut-être ajouter comment changer cet encodage.- 1-B-2. Les balises, appelées éléments :
Peut-être préciser dans quel cas il faut ajouter une balise fermante et dans quel cas la balise est autosuffisante (<a>...</a>, <b/>). (d'après ce que je crois avoir compris il est obligatoire d'avoir la notation <b/> quand <b> n'a pas de contenu mais l'HTML en est un beau contre exemple, alors du coup j'ai un doute)- 1-C. Récapitulatif sur la construction d'un XML :
Si j'ai bon en disant qu'une balise sans contenu doit être auto-fermante, le rajouter ici aussi.
Mes questions :
- 1-B-4. namespace :
C'est possible d'avoir des balises d'un namespace différent à l'intérieur d'une balise avec un namespace donné ?
Exemple 1 :Exemple 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <n1:a> <b> <n1:c/> </b> </n1:a>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <n1:a> <n2:b> <n1:c/> </n2:b> </n1:a>- 1-B-8. Les entités :
Perso j'utilise souvent le DTD externe, j'ai jamais mis l'attribut "standalone" à "no" (je connaissais pas son existence) et pourtant ça a toujours fonctionné, c'est normal ?
Voilà voilà.
Loceka.
Comme tu as mauvais je ne vais pas faire la modif
les deux écritures sont parfaitement valide
Je reconnais ne pas avoir eu trop envie de m'étendre sur les namespaces, les possibilités d'imbrication étant énormes...mais oui, surtout si tu utilises les préfixes ont peut imbriquer les namespaces.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <a></a> </a>
J'évite les DTD autant que je peux, je ne pouvais néanmoins en faire l'impasse ici.
Le standalone a à voir avec les entités pas nécessairement avec les DTD si elles n'en contiennent pas.
Merci pour les commentaires, il me permettront de faire évoluer cet article dans le futur (pas immédiat j'ai plusieurs autres articles à venir)
Oui.
Les deux exemples que tu donnes sont possibles, et arrivent assez souvent dans certains formats en pratique.
C'est normal, car la présence d'une DTD permettant de valider le document n'est pas forcément indispensable à son exploitation, même si elle existe.
Par contre, si cette DTD définissait des ENTITY pour ce document, et que tu utilisais ces ENTITY à l'intérieur du document, ne pas avoir déclaré standalone="no" le rendrait mal formé. En effet, l'entité n'est pas définie à l'intérieur du document, donc le document ne peut pas être exploité sans sa DTD.
Autre exemple : les DTDs qui définissent une valeur par défaut aux attributs s'ils sont absents. Le document seul sans DTD ne fournit pas ces valeurs par défaut, standalone doit donc être à "no". (Mais amusément, ça ne peut être vérifié que si une DTD est bien fournie et vérifiée pour validité.)
=> De manière générale, si la DTD modifie les données qui seraient obtenues par la seule lecture du document, standalone doit être à "no"... Mais pareil, à part la question des ENTITY, une erreur ne se voit que si on cherche à vérifier la validité du document par rapport à cette DTD.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager