XML français
XML
Traduction en français
Introduction
Cet article fournit une vue d'ensemble courte et plutôt non technique de XML. Voir aussi la catégorie XML pour tous les sujets liés au XML (nombreux) ou les liens de suivi dans cette vue d'ensemble.
Buts d'apprentissage
- Comprendre le rôle du XML dans l'informatique
- Etre capable d'identifier les principaux rôles et langages XML créés pour le Web
Conditions préalables
- aucun
Prochaines étapes
- Tour de XML ou équivalent (avoir vu quelques applications du monde réel serait bon pour la motivation)
- XML principles
- Editing XML tutorial
- DTD tutorial
- XML Schema tutorial - Basics
Définition de XML
- 'XML' signifie "Langage de balisage étendu". XML est un formalisme qui permet de définir toutes sortes de langages qui décrivent un large éventail de «contenus d'informations» (par exemple des pages Web, des graphiques vectoriels, des langages de programmation). En termes techniques, ces langages sont appelés «applications XML» ou «vocabulaires XML».
- XML est conçu comme un texte persistant modifiable et lisible à la machine pour les données, mais il peut être lu (un peu) par les humains. XML est un formalisme ou un méta-langage. Un tel métalangage ne doit pas être confondu avec HTML, un langage pour décrire la structure des pages Web. XHTML, par exemple, est l'une des milliers d'applications XML existantes.
Voir aussi: Éditer le tutoriel XML
Histoire
- XML est un sous-ensemble du Langage de balisage généralisé standardisé '(SGML). SGML a été utilisé pour définir le HTML, alors que XHTML est défini avec XML (C'est pourquoi les tags vides ne sont plus autorisés dans XHTML). D'un autre côté, HTML5 n'est ni basé sur SMGL ni sur XML.
- XML a été formellement défini en 1998 comme W3C's XML Recommendation 1.0
- Depuis lors, des centaines de langages XML ont été définis et quelques dizaines sont populaires et en production. Le fameux Big Picture de Ken Sall n'en énumère que quelques-uns, par ex. aucune des nombreuses IMS normes d'apprentissage en ligne n'est mentionnée.
Normes XML et Web
Actuellement, il existe des centaines de langages XML plus ou moins populaires. Dans le domaine plus restreint des standards Web, il y en a moins et nous allons en présenter sous peu les plus importants comme les développeurs de contenu ou les concepteurs de sites Web devraient connaître.
XML pour un contenu Web plus riche
Initialement, XML a été pensé pour redéfinir la façon dont les contenus sont livrés. Après qu'il s'est avéré que XHTML n'a été (presque) jamais utilisé comme XML, par ex. sous la forme HTML combinée avec d'autres contenus XML. Cette vision «XML» du HTML existe toujours dans l'esprit de certaines personnes, mais la mort de XHTML 2 a mis un terme à cela. Le courant dominant actuel, représenté par HTML5, est un modèle centré sur les applications informatiques, c'est-à-dire que le HTML est considéré comme une plate-forme de diffusion de contenu interactif et non comme un format de document.
L'image ci-dessous montre l'idée que les documents web pourraient être composés de plusieurs composants: Dans le cas de HTML, il y a du HTML + CSS, dans le cas de HTML5 il y a du HTML + SVG intégré et du MATHML + CSS. Dans le cas de XHTML 1 ou XHTML 5, un document peut inclure n'importe quel autre langage XML, à condition que ceux-ci soient identifiés par ce que l'on appelle des espaces de noms. Bien qu'il ne soit plus populaire, nous avons également inclus SGML dans l'image, puisqu'il est la «mère» de tous les langages de balisage basés sur les balises.
Juste pour être sûr: La mort de XHTML ne signifie nullement que XML n'est pas utilisé sur Internet. C'est juste mort comme format de page Web. D'autres formats comme SVG (vector graphics), MathML (formule mathématique), RSS (syndication de contenu) sont très utilisés aujourd'hui et le seront dans le futur.
XML comme base pour le futur Web sémantique
Le web sémantique est essentiellement défini par le cadre RDF. Alors que RDF lui-même est utilisé dans certaines régions (par exemple les formalismes métadonnées), le projet global web sémantique semble être quelque peu bloqué, à l'exception des fusées occasionnelles. Le Web 2.0 était censé être sémantique mais le Web 2.0 est devenu tout le contraire, c'est-à-dire qu'il est basé sur de simples micro-formats. Puis c'est devenu le web 3. Puis l'initiative antisémantique HTML 5 est devenue dominante et le «web sémantique» reste une «petite île» d'intérêt et d'applications.
- Topic Maps (norme ISO) utilisé pour organiser des collections de ressources sous la forme d'un réseau sémantique (de sorte que vous ne trouvez pas seulement les arbres, mais il y a une "carte" de la forêt.
- RDF est un langage utilisé pour décrire les relations entre les objets et il peut être utilisé pour ajouter des "métadonnées" décrivant le contenu d'une ressource.
- OWL ("Web Ontology Language", créé avec RDF), est un formalisme qui permet la description des relations entre les choses. Il y a un lien conceptuel avec Syndication des nouvelles et le web social
- Au cours des 15 dernières années, l'internet a fait l'objet d'un profond changement dans l'organisation de ses «espaces d'information».
XML pour machine à machine à parler
Il existe plusieurs protocoles pour l'interaction machine-à-machine comme SOAP et XML-RPC. Voir l'article service web pour plus de détails.
En outre, nous pouvons identifier:
- Des moteurs de recherche spécialisés qui extraient le contenu de divers documents XML;
- Des formats comme RSS ou FOAF qui sont destinés à aider à organiser des espaces d'information en réseau, comme la syndication de contenu;
- RSS (sous ses différentes formes) permet l'échange automatique de "titres" et de "résumés" entre portails et weblogs.
- FOAF (et d'autres formats) sont utilisés pour définir des profils d'individus qui sont ensuite utilisés pour organiser des réseaux sociaux en ligne.
XML comme formalisme pour définir des "grammaires"
Dans une perspective plus générale, XML est actuellement l'une des normes les plus populaires pour définir différents types de structures de données. On pourrait définir trois types:
- Accessoires XML (par exemple XML Schema)
- * Étendre les capacités spécifiées en XML
- * Destiné à un usage large et général
- Transducteurs XML (par exemple XSLT)
- * Convertit les données d'entrée XML en sortie
- * Associé à un modèle de traitement
Applications #XML au sens étroit (par exemple XHTML)
- * Définir des grammaires, des contraintes pour une classe de données XML
- * Destiné à un domaine d'application spécifique aussi varié que le traitement de texte, l'e-learning, la banque, le multimédia, la traduction. Des exemples bien connus sont les contenus Microsoft Office (par exemple les fichiers .docx) ou les fichiers Adobe Flash * .fla. Ces fichiers sont en fait des fichiers zip composés d'une série de documents XML. Décompressez sur ceux-ci et vous pouvez voir.
Quelques concepts XML techniques
Un document XML peut faire référence à un fichier physique, une entrée de base de données, un flux de données. En d'autres termes, techniquement parlant, un document XML est une sorte de "texte" délimité défini comme une chaîne et qui a un balisage XML à l'intérieur.
Bien-être
Un document XML est bien formé si et seulement si:
- Il y a une déclaration XML appropriée au début
- Le document commence par une déclaration XML qui inclut un numéro de version (actuellement 1.0).
<source lang = "XML"> <? xml version = "1.0"?> </ source>
- Cette déclaration peut également contenir des informations encoding. Par défaut, l'encodage estUTUTF-8):
<source lang = "XML"> <? xml version = "1.0" encoding = "UTF-8"?> </ source>
Les documents XML sont hiérarchiques, c'est-à-dire que chaque élément doit se trouver à l'intérieur d'un autre élément (à l'exception du premier, le marqueur racine).
- begin-tags et end-tags qui correspondent
- Aucun tag ne se croisant comme
<source lang = "XML"> ... ... </ i> .... </ source>
- Il doit y avoir une seule racine
- Il ne peut apparaître qu'une seule fois et ne peut pas être utilisé dans d'autres éléments
- Autres caractéristiques
- XML est sensible à la casse, "LI" est 'not' "li" par exemple
- Les étiquettes "vides" doivent être à fermeture automatique, par ex.
<source lang = "XML"> </ source>
- Les valeurs d'attribut sont indiquées
<source lang = "XML"> <a href="http://tecfa.unige.ch:8080/xml.html"> </ source>
- Caractères spéciaux: <, &,>, et '. Utilisez à la place (et qui inclut les URL!):
<source lang = "XML"> & amp; & amp; & amp; & aquot; & apos; </ source>
Valide
Un document XML est dit valide s'il se conforme à une sorte de grammaire appelée aussi schéma. Une grammaire XML décrit formellement une application XML (ou un vocabulaire ou un langage).
Les plus populaires sont dans cet ordre:
- DTD s (définitions de type de document)
- Schéma XML
- Relax NG
Les applications XML en plus des DTD peuvent inclure d'autres contraintes. Certaines applications XML peuvent inclure des langages qui ne sont pas basés sur XML (par exemple CSS ou XPath).
Les grammaires les plus populaires sont les DTD. Ci-dessous, nous incluons juste une image d'une petite grammaire (lisez les détails dans tutoriel DTD
XML axé sur le texte ou centré sur les données
Le XML centré sur les données par opposition au XML centré sur le texte fait référence au XML dont l'audience principale n'est pas un lecteur humain, mais un programme informatique qui traite les informations, y répond, stocke des éléments de données dans une base de données, etc.
Une liste d'applications XML
Voir aussi Tour de XML, une sélection de liens illustrant diverses utilisations de XML.
Accessoires
Étendre la puissance de XML
- XLink: Liens hypertextes
- XPointer (pointeurs de ressources)
- XPath (identification des fragments XML)
- http://www.w3.org/TR/xpath
- (utilisé par XSLT, XInclude, XLink, XQuery, XPointer etc.)
- Voir le XPath tutorial - notions de base
Transducteurs
Diverses feuilles de style et langages de requête
- XSL / FO (application XML): langage de style XML
- XSLT (application XML): langage de transformation XML
- XQuery: Langage de requête XML
Métadonnées et web sémantique
- Applications RDF (beaucoup de langages pour le web sémantique)
- PICS 2.0: Plate-forme pour la sélection de contenu Internet
- P3P: Plate-forme pour les préférences de confidentialité
Graphique et multimédia
- SMIL: Langage d'intégration multimédia synchronisé
- SVG: Graphiques vectoriels évolutifs
- MathML: Langage de balisage mathématique
Table des matières
- XHTML: cette variante moins populaire du HTML est une application XML
- Docbook: le standard le plus populaire pour l'écriture de documents volumineux.
- DITA. Une approche plus flexible des documents basée sur des modules, initialement réalisée par IBM.
Ces normes de document (ainsi que d'autres) peuvent intervenir à toutes les étapes du pipeline de production / livraison de documents. XML dans le monde de la documentation apparaît comme:
Développement d'applications
- MXML est un langage de balisage d'interface utilisateur basé sur XML utilisé dans Adobe Flex, un kit de développement logiciel pour créer des applications Internet et de bureau Flash.
- XML User Interface Language (XUL) est le langage de balisage de l'interface utilisateur XML développé par le projet Mozilla. Il fonctionne dans des applications multi-plateformes telles que Firefox.
Langages XML et la documentation
Tout document XML peut directement être mis en ligne avec une feuille de style CSS ou une transformation XSLT. Des formats spécialisés comme SVG (graphiques vectoriels), X3D (graphiques vectoriels 3d), MathML (formules) peuvent être ajoutés aux navigateurs compatibles XML. Les documents plus volumineux sont souvent produits avec des vocabulaires spécialisés tels que DITA ou DocBook. Le contenu peut être écrit avec un éditeur XML ou un traitement de texte compatible XML. Ces documents peuvent ensuite être directement "enregistrés sous" ou envoyés via divers filtres de sortie.
les plus corrects offrent des fonctionnalités de validation. Cependant, certains éditeurs XML gratuits ne le font pas. Certains (comme Xemacs) offrent seulement une vérification limitée.
- xmllint, un outil de ligne de commande qui est distribué dans le cadre du libxml2 C parser développé pour le projet Gnome. Cela signifie qu'il est livré avec la plupart des installations Linux, mais il existe également des distributions pour Windows et d'autres systèmes d'exploitation.
- Vous pouvez trouver plusieurs outils sur source forge
- Validation en ligne
Remarque: Vous devrez peut-être modifier l'identifiant du système local de DTD ou du schéma. Ces programmes doivent pouvoir obtenir la DTD. Je suggère plutôt d'installer un programme local sur votre machine (comme xmllint ou xmlTester).
- Formulaire de validation XML STG, curtosy de Scholarly Technology Group, Brown University
- Contrôleur de validité de formulaire XML et validateur, Richard Tobin, Université d'Endinburgh (parseur RXP)
- XML.com (forme simple)
- Validation en ligne pour des applications XML spécifiques
- W3C HTML Validation Service Ce validateur ne fonctionne pas avec vos propres DTD. Sa fonction principale est de valider les vocabulaires W3C (HTML, XHTML, SVG, MathML, ...)
- FEED Validator. Valide divers formats RSS plus PIE
Outils en ligne
Certains sites Web offrent des fonctionnalités pour effectuer des tâches XML simples comme le formatage, la différenciation, la transformation, la validation, l'interrogation XML.
'Site Web' </ td> | 'Caractéristiques' </ td>
</ tr> |
http://www.shancarter.com/data_converter/ </ td> | Conversion d'Excel et de csv en XML </ td>
</ tr> |
http://www.shell-tools.net/index.php?op=xml_format </ td> | Format et validation (dtd et xsd) </ td>
</ tr> |
http://tools.decisionsoft.com/xmldiff.html </ td> | Diff (comparer les fichiers XML) </ td>
</ tr> |
http://tools.decisionsoft.com/schemaValidate/ </ td> | Validation (XSD) </ td>
</ tr> |
http://chris.photobooks.com/xml/ </ td> | Format, transformation (XSLT) et requête (Xpath)
</ td> </ tr> |
http://www.xmltools.dk/ </ td> | Requête (Xpath) </ td>
</ tr> |
http://xslt.online-toolz.com/tools/xslt-transformation.php </ td> | Format, transformation (XSLT) et validation (XSD) </ td>
</ tr> |
http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog </ td> | Transformation (XSLT) </ td>
</ tr> |
http://www.qutoric.com/xslt/analyser/xpathtool.html </ td> | Requête (Xpath) </ td>
</ tr> </ table> LiensVue d'ensemble
Tutoriels(Cette section doit être élargie un jour)
Nouvelles
Listes d'applications XML (schémas)
Références
|