Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

XML dans Mozilla

Mozilla offre un vaste support des technologies XML. De nombreuses Recommandations et spécifications en développement du World Wide Web Consortium (W3C), ainsi que d'autres technologies associées, sont supportées.

Le contenu de cette page est dépassé. Aidez-nous à la mettre à jour avec des informations actualisées.

Recommandations W3C ducore XML supportées

Parmi les fonctionnalités faisant partie ducore XML on peut citer l'analyse XML sans validation (par l'utilisation de l'analyseur Expat), l'affichage de documents XML avec CSS et leur manipulation par des scripts via le DOM, l'association de feuilles de styles avec des documents XML, et les espaces de noms dans XML. Le support ducore XML est très bon, et les quelques bogues qui subsistent sont peu nombreux.

Les DTD et les autres entités externes

Mozilla ne charge pas les entités externes depuis le Web.

Mozilla peut charger les entités externes dont l'identifiant système utilise le protocole chrome. Cette fonctionnalité est principalement utilisée pour localiser Mozilla dans différentes langues (les chaînes de l'interface utilisateur (UI) sont stockées dans des fichiers DTD externes). Autre exception, les entités dont l'identifiant système est un chemin relatif lorsqu'elles se trouvent dans un document dont la déclaration XML indique qu'il n'est pas autonome (c'est le cas par défaut). Dans ce cas, Mozilla n'essayera pas de chercher l'entité dans le répertoire <bin>/res/dtd.

Mozilla peut également faire une exception pour certains documents XHTML, voir ci-dessous.

Mozilla lira les sous-ensembles internes (DTD), et dans certaines circonstances les DTD externes comme détaillé ci-dessus et utilisera ces informations pour identifier les attributs de type ID, les valeurs par défaut des attributs et les entités générales.

Autres notes

Une grande partie du Document Object Model (DOM, recommandations et de documents de travail du W3C) s'applique au XML. De même, les Cascading Style Sheets (CSS, recommandations et de documents de travail du W3C) peut être utilisé pour définir les styles d'un document XML.

Le code ducore XML peut être consulté depuis les répertoires suivants du serveur CVS de Mozilla : content/xml/, parser/expat/ et parser/htmlparser/.

Le forum Usenet dans lequel discuter du XML dans Mozilla, dépend largement de la nature de la question. Par exemple, les questions relatives au DOM auront plus leur place sur le forum mozilla.dev.tech.dom, alors que celles concernant les styles seront plus appropriée sur mozilla.dev.tech.css. Le forum de discussion général pour les discussions XML est mozilla.dev.tech.xml.

Spécification ou technologie Statut et/ou autres documentations
XML Recommandation W3C (traduction)
Espaces de noms dans XML Recommandation W3C
Associer des feuilles de styles à des documents XML Recommandation W3C (traduction)
Styler les documents XML avec CSS  
Manipuler les document XML avec des scripts à l'aide du DOM  

Autres recommandations XML du W3C supportées

Spécification ou technologie Documentation
XHTML Recommandation W3C (traduction)
XML Base (uniquement pour les liens, non utilisé pour les propriétés CSS comme :visited, etc.) Recommandation W3C (traduction)
XLink (uniquement XLinks simple) Recommandation W3C (traduction)
FIXptr « Proposition » W3C
Framework XPointer Recommandation W3C (traduction)
Schéma XPointer element() Recommandation W3C (traduction)
Schéma XPointer xmlns() Recommandation W3C (traduction)
Schéma XPointer fixptr() Ce schéma est simplement une classe enveloppante de FIXptr
Schéma XPointer xpath1() Brouillon
document.load(), document.async Partie du DOM niveau 3, moduleLoad & Save, document de travail du W3C

XHTML

Mozilla possède un support de XHTML très correct, la plupart des éléments doivent fonctionner. Mozilla traite les documents XHTML différemment suivant le type MIME (ou le suffixe d'extension du fichier si celui-ci est chargé depuis un disque local). Les fichiers traités comme du HTML ne sont pas vérifiés quant à la bonne formulation du code. Vous remarquerez également que toutes les fonctions XHTML sont supportées lorsque vous les traitez comme du code HTML.

Type MIME Extension du fichier Traitement du code
text/xml
application/xml
application/xhtml+xml
xml
xht
xhtml
XML
text/html html
htm
HTML

Le document n'a pas besoin d'être intégralement en XHTML. Vous pouvez utiliser des éléments XHTML dans un document XML quelconque en utilisant les espaces de noms XHTML. Voir la section Tests et assurance qualité pour des exemples. L'équivalent XHTML correct est https://www.w3.org/1999/xhtml.

Veuillez noter que les entités XHTML, telles que &auml;, fonctionnent uniquement dans les documents XHTML conformes qui possèdent unidentifiant public officiel XHTML (ou, en d'autres mots, une section DOCTYPE avec un identifiant public). Les entités XHTML ne s'afficheront pas dans des documents XML quelconques, même si les équivalents XHTML sont utilisés. Les identifiants publics reconnus sont :

-//W3C//DTD XHTML 1.0 Transitional//EN
-//W3C//DTD XHTML 1.1//EN
-//W3C//DTD XHTML 1.0 Strict//EN
-//W3C//DTD XHTML 1.0 Frameset//EN
-//W3C//DTD XHTML Basic 1.0//EN
-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN
-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN
-//W3C//DTD SVG 20001102//EN
-//WAPFORUM//DTD XHTML Mobile 1.0//EN

Lier et pointer dans XML

Le support des liens dans XML inclut XML Base (utilisé uniquement lorsque vous survolez ou que vous cliquez sur un lien) et XLinks simple. Vous faire de n'importe quel élément XML un XLink en utilisant l'espace de noms XLink https://www.w3.org/1999/xlink. Vous pouvez également utiliser les éléments de liens de l'espace de noms XHTML. Voir la section Tests et assurance qualité pour des exemples.

Pour pointer vers d'autres ressources depuis des documents XML, Mozilla permet aussi d'utiliser FIXptr, une version simplifiée et non compatible de XPointer. Outre son utilisation dans des liens, FIXptr peut être utilisé à partir de scripts. Voir l'interface propriétaire dom/public/idl/core/nsIDOMXMLDocument.idl. Un cas de texte est disponible pour les liens FIXptr ainsi qu'un exemple de script.

Depuis sa version 1.4 alpha, Mozilla supporte également le Framework XPointer, le schéma XPointer element(), le schéma XPointer xmlns(), le schéma XPointer fixptr() et le schéma XPointer xpath1(). Le processeur XPointer est extensible et il est facile d'implémenter le support d'autres schémas — jetez un œil à l'API. Le schéma xpath1() a été implémenté en utilisant ce mécanisme d'extensibilité. Il existe également une API propriétaire à partir de scripts au processeur XPointer. Vous pouvez encore étudier un cas de test pour XPointers.

Enfin, il existe une préférence que vous pourriez avoir envie d'essayer (particulièrement utile avec FIXptr) qui sélectionne la cible d'un lien lorsque vous le traversez. Il n'y pas encore d'UI pour activer cette préférence, aussi aurez-vous besoin de l'éditer manuellement dans le fichier des préférences. Ajoutez cette ligne :

pref("layout.selectanchor", true);

Méthodes DOM de chargement et d'enregistrement (Load and Save)

document.load() appartient à une ancienne version du module DOM Level 3 Load & Save du W3C. À l'heure actuelle, Mozilla implémente uniquement la méthode load() et la propriété async. Depuis la version 1.4 alpha, il est possible de charger des documents de façon synchrone, auparavant cela se faisait de façon asynchrone. Consultez l'exemple<em>load</em> dans le répertoire des tests XML. Charger le fichier load.html depuis la page LXR ne fonctionnera pas, car LXR convertira le fichier test.xml en HTML et le servira en tant que tel. Pour tester cette fonctionnalité, créez les fichiers localement sur votre disque dur ou sur un serveur Web.

Recommandations XML externes du W3C supportées

Spécification ou technologie Documentation Projet Mozilla
XSLT Recommandation W3C (traduction) XSLT
XQuery W3C Recommendation  
XPath Recommandation W3C (traduction) XSLT
XMLHttpRequest Brouillon du W3C XML Extras
DOMParser et XMLSerializer Mozilla XML Extras
SAX https://www.saxproject.org/  
SOAP Note du W3C Services Web
XML-RPC UserLand Software XML-RPC
RDF Recommandations W3C RDF
SVG W3C Proposed Recommendation SVG
MathML Recommandation W3C (traduction) MathML
P3P Recommandation W3C (traduction) P3P
WSDL W3C Note Services Web
XBL Référence de Mozilla XBL  
XUL Référence de Mozilla XUL  

Feuille de route

Parmi les prochains grands travaux dans ce domaine, citons le support du schéma XPointer xpointer() (bug 32832), d'XInclude (bug 201754), de XML Catalogs (bug 98413), de XForms (bug 97806 ; dont une implémentation sous forme d'extension est en cours de développement), de l'analyseur de validation (bug 196355), des schémas XML et du rendu incrémental d'un document XML (bug 18333).

Pour implémenter complètement XLink, nous aurons besoin d'une fonction appelée gestionnaire de liens. Voir quelques uns des documents initiaux.

Tests et assurance qualité

La page d'Assurance Qualité recense un grand nombre de cas de test concernant la conformité aux standards du navigateur.

Les documents de test ducore XML présents sur le serveur CVS sont répertoriés dans content/xml/tests. Deux d'entre-eux sont également disponibles en ligne : la démonstration d'un livre et une démonstration de sommaire de déclaration d'impôts (pour l'IRS américain). Chacun d'eux présente des exemples mettant en œuvre XML, son association avec des feuilles de styles, son affichage avec CSS, les espaces de noms XML, XHTML, des XLinks simples, et la manipulation de XML par des scripts via le DOM.

Bugzilla possède un composant XML.

Nous avons également le mot clef « xhtml » pour les bogues concernant XHTML (Ceux-ci tendent à être dispersé entre les divers composants).

Comment aider ?

Si vous savez coder, cherchez [le mot clef « helpwanted » parmi les bogues XML. Nous n'utilisons pas toujours ce moyen, donc si vous voulez donc éviter de faire un travail en double, vous pouvez commencer à travailler sur les bogues planifiés pour des évolutions futures, ou bien sur ceux qui sont déjà planifiés mais dans un avenir éloigné.

Vous pouvez également tester notre support de XML. Nous aimeriez fortement avoir des tests automatiques (ceci nécessita de posséder des connaissances en développement Web ; document.load() et/ou XML Extras peuvent être nécessaire), mais la plupart des bogues ouverts l'ont été par des utilisateurs ordinaires essayant de faire quelque chose qui fonctionne dans d'autres navigateurs mais pas dans Mozilla.

Interwikis Laguages Links

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : fscholz, Fredchat, Mgjbot, BenoitL, Chbok
 Dernière mise à jour par : fscholz,