« XML français » : différence entre les versions
Aucun résumé des modifications |
|||
(8 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
XML en français | XML | ||
Traduction en français | |||
== Introduction == | == Introduction == | ||
Cet article fournit une vue d'ensemble courte et plutôt non technique de XML. Voir aussi la [[: catégorie: XML | catégorie XML]] pour tous les sujets liés au XML (nombreux) ou les liens de suivi dans cette vue d'ensemble. | Cet article fournit une vue d'ensemble courte et plutôt non technique de XML. | ||
Voir aussi la [[: catégorie: XML | catégorie XML]] pour tous les sujets liés au XML (nombreux) ou les liens de suivi dans cette vue d'ensemble. | |||
Ligne 20 : | Ligne 23 : | ||
* [[DTD tutorial]] | * [[DTD tutorial]] | ||
* [[XML Schema tutorial - Basics]] | * [[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 [http://www.w3.org/TR/xml/ 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 [http://kensall.com/ 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. | |||
[[Image: xml-document.png | thumb | 724px | aucun | HTML ou contenu Web XML ... créé il y a plusieurs années ([[User: DSchneider | DKS]])]] | |||
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; | |||
** [http://edutechwiki.unige.ch/fr/RSS 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> ... ... </ 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]] | |||
[[Image: xml-simple-dtd.png | pouce | 750px | aucun | DTD simple]] | |||
=== 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 | |||
** http://www.w3.org/TR/xlink/ | |||
* XPointer (pointeurs de ressources) | |||
** http://www.w3.org/TR/xptr/ | |||
* [[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 | |||
** http://www.w3.org/TR/xsl/ | |||
* [[XSLT]] (application XML): langage de transformation XML | |||
** http://www.w3.org/TR/xslt | |||
** Voir le [[Tutoriel XSLT - Notions de base]] | |||
* [[XQuery]]: Langage de requête XML | |||
** http://www.w3.org/TR/xquery/ | |||
** Voir le [[tutoriel XQuery - notions de base]] | |||
=== Métadonnées et web sémantique === | |||
* Applications RDF (beaucoup de langages pour le web sémantique) | |||
** Voir http://www.w3.org/RDF/ | |||
* PICS 2.0: Plate-forme pour la sélection de contenu Internet | |||
** http://www.w3.org/PICS/ | |||
* P3P: Plate-forme pour les préférences de confidentialité | |||
** http://www.w3.org/P3P/ | |||
=== Graphique et multimédia === | |||
* [[SMIL]]: Langage d'intégration multimédia synchronisé | |||
** http://www.w3.org/AudioVideo/ | |||
* [[SVG]]: Graphiques vectoriels évolutifs | |||
** http://www.w3.org/TR/SVG/ | |||
* [[MathML]]: Langage de balisage mathématique | |||
** http://www.w3.org/Math/ | |||
=== Table des matières === | |||
* [[XHTML | XHTML:]] cette variante moins populaire du HTML est une application XML | |||
** http://www.w3.org/TR/html/ | |||
* [http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=docbook 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. | |||
* [[ePub]], un standard populaire ouvert [[e-book]]. | |||
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. | |||
[[File: _xml-document-pipeline.png | aucun | thumb | 700x700px | Pipelines de production de documents XML] | |||
=== Présentation de documents XML avec des feuilles de style === | |||
Aujourd'hui, on peut directement afficher des informations codées en XML (de toute grammaire) dans un navigateur, en utilisant une feuille de style. | |||
'' 'Les feuilles de style permettent de:' '' | |||
* Préparer / organiser le contenu pour une "présentation". | |||
* Définir la "mise en page" (format, formatage) d'un texte écrit en Xml. | |||
* Modifier le contenu, par ex. en ajoutant une table des matières ou des en-têtes de page | |||
'' 'L'utilité des feuilles de style est donc' '' | |||
* Séparation du contenu et de la présentation | |||
* Simplification du travail (une feuille de style pour de nombreux documents, publication à source unique, etc.) | |||
==== XSL - Le langage de feuille de style extensible ==== | |||
XSL fait référence à deux langues recommandées par W3C | |||
* http://www.w3.org/TR/xsl | |||
'' 'XSL se réfère soit à XSLT ou XSL / FO et ils fournissent deux fonctions principales:' '' | |||
(1) XSLT est un langage de transformation pour les éléments XML. | |||
Par exemple: XSLT permet la création de table des matières ou la traduction XML vers HTML | |||
* http://www.w3.org/TR/xslt | |||
(2) XSL / FO est un langage de formatage qui permet de créer des documents d'impression de haute qualité | |||
* http://www.w3.org/TR/xsl/ | |||
'' 'Formatage avec XSL-FO' '' | |||
* formatage sophistiqué, aussi par héritage, position etc. | |||
* génération de texte et de graphiques | |||
* possibilité de définir des macros | |||
* tout ce qui peut être trouvé dans [http://edutechwiki.unige.ch/fr/CSS CSS], et plus ... | |||
==== [http://edutechwiki.unige.ch/fr/CSS CSS] (Feuilles de style en cascade) ==== | |||
CSS peut également être utilisé pour les contenus XML de style. Cependant, puisque ses capacités de transformation sont plutôt mauvaises, le XML devrait déjà inclure toutes les données à publier. | |||
* Le support XML est inclus depuis CSS2. | |||
=== XLink - Vers un meilleur hypertexte? === | |||
Xlink permet d'insérer un lien dans un document XML, où un lien exprime une relation entre deux objets ou plus. XLink reste une proposition, il n'y a pas de mise en œuvre complète pour le moment. Cependant, des sous-ensembles de Xlink sont utilisés dans divers autres langages XML. | |||
* un sous-ensemble est utilisé en SVG, X3D etc. | |||
* http://www.w3.org/TR/xlink | |||
'' 'XLink est basé sur d'autres standards (et qui sont également partagés avec XSLT)' '' | |||
* XPointer = comment identifier un fragment XML (utilisé par des liens). XPointer est basé sur Xpath | |||
* XPath = comment identifier un chemin vers une ressource | |||
: * http://www.w3.org/TR/xptr | |||
: * http://www.w3.org/TR/xpath | |||
'' 'Principales caractéristiques de XLink' '' | |||
* Liens multidirectionnels, liens vers des destinations multiples | |||
* Occlusions, inclusions, remplacements de contenu dans un document | |||
'' 'D'où vient cette norme?' '' | |||
* HTML | |||
: * Ancres: href (attribut A), src (attribut de IMG et NOTE) ... | |||
: * Cibles: attributs de nom (A), id (attribut en HTML 4.x) | |||
* principalement: langages SGML HyTime et TEI Extended Pointers (extension vers HyTime). | |||
== XML dans l'éducation == | |||
On doit faire une distinction entre les langues spécifiquement développées pour la section éducation (voir ci-dessous) et tout le reste de la technologie XML, dont la plupart peuvent être utiles à l'éducation | |||
* Voir les différents [[Langage de modélisation pédagogique]], en particulier ceux produits par [[IMS]] | |||
* Emballage et stockage de contenu, par ex. | |||
** [[IMS Content Packaging]] | |||
** [[Norme sur les métadonnées des objets d'apprentissage]] | |||
* En outre, il existe des langues pour la vente de l'éducation, pour échanger des données sur les étudiants, des données sur les programmes, etc. | |||
== Logiciel XML == | |||
(Les entrées plus longues ont leur propre page) | |||
=== Création XML === | |||
* Voir [[éditeur XML]] | |||
=== Bases de données XML === | |||
* Voir [[base de données XML]] | |||
=== Validation === | |||
; Validation hors ligne | |||
* Les [éditeurs XML]] 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. | |||
* [http://xmlsoft.org/xmllint.html xmllint], un outil de ligne de commande qui est distribué dans le cadre du [http://xmlsoft.org/ 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 [http://sourceforge.net/directory/freshness:recently-updated/?q=xml%20validation 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). | |||
* [http://www.stg.brown.edu/service/xmlvalid/ Formulaire de validation XML STG], curtosy de Scholarly Technology Group, Brown University | |||
* [http://www.ltg.ed.ac.uk/~richard/xml-check.html Contrôleur de validité de formulaire XML et validateur], Richard Tobin, Université d'Endinburgh (parseur RXP) | |||
* [http://www.xml.com/pub/a/tools/ruwf/check.html XML.com] (forme simple) | |||
; Validation en ligne pour des applications XML spécifiques | |||
* [http://validator.w3.org/ 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, ...) | |||
* [http://feeds.archive.org/validator/ FEED Validator]. Valide divers formats RSS plus [http://www.intertwingly.net/wiki/pie/ 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. | |||
<table border = "1"> | |||
<tr> | |||
<td> '' 'Site Web' '' </ td> | |||
<td> '' 'Caractéristiques' '' </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://www.shancarter.com/data_converter/ </ td> | |||
<td> Conversion d'Excel et de csv en XML </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://www.shell-tools.net/index.php?op=xml_format </ td> | |||
<td> Format et validation (dtd et xsd) </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://tools.decisionsoft.com/xmldiff.html </ td> | |||
<td> Diff (comparer les fichiers XML) </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://tools.decisionsoft.com/schemaValidate/ </ td> | |||
<td> Validation (XSD) </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://chris.photobooks.com/xml/ </ td> | |||
<td> Format, transformation (XSLT) et requête (Xpath) | |||
</ td> | |||
</ tr> | |||
<tr> | |||
<td> http://www.xmltools.dk/ </ td> | |||
<td> Requête (Xpath) </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://xslt.online-toolz.com/tools/xslt-transformation.php </ td> | |||
<td> Format, transformation (XSLT) et validation (XSD) </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog </ td> | |||
<td> Transformation (XSLT) </ td> | |||
</ tr> | |||
<tr> | |||
<td> http://www.qutoric.com/xslt/analyser/xpathtool.html </ td> | |||
<td> Requête (Xpath) </ td> | |||
</ tr> | |||
</ table> | |||
== Liens == | |||
=== Vue d'ensemble === | |||
* [http://www.w3.org/XML/1999/XML-in-10-points XML en 10 points] (W3C, 2001) | |||
* [http://users.jyu.fi/~airi/xmlfamily.html Famille de langages XML], aperçu et classification des spécifications du W3C, par Airi Salminen, 07 septembre 2012 | |||
=== Tutoriels === | |||
(Cette section doit être élargie un jour) | |||
* Voir les entrées [[: Category: XML | XML]] dans ce wiki. Il y a quelques tutoriels. | |||
* [http://www.scriptorium.com/structure.pdf livre blanc sur la création structurée], par Sarah O'Keefe. | |||
* [http://en.wikibooks.org/wiki/XML XML: gestion de l'échange de données]. Thi Wikibook projet introduit XML à partir d'une perspective d'échange de données. | |||
=== Nouvelles === | |||
* [http://www.ibiblio.org/xml/ Cafe Con Leche XML Nouvelles et ressources] (Meilleure ressource pour rester en contact avec les nouvelles liées au XML) | |||
=== Listes d'applications XML (schémas) === | |||
* [http://schemas.liquid-technologies.com/ XML Standards Library] par Liquid technologies. Bonne liste, indexée par catégorie. Ajouté 15h54, le 28 juillet 2010 (UTC). | |||
* [http://en.wikipedia.org/wiki/List_of_XML_markup_languages Liste des langages de balisage XML] Bonne liste, mais à partir de 17h11, 9 Juin 2010 (UTC) en aucun cas complète, par exemple. la plupart des [[standard]] e-learning sont manquants. | |||
* [http://www.oasis-open.org/ OASIS] (une organisation de standardisation XML) publie [http://xml.coverpages.org/ Coverpages] (newsletter et ressource XML). Il inclut [http://xml.coverpages.org/xmlApplications.html XML Applications and Initiatives] (une liste non triée mais intéressante). | |||
* [http://xml.gov/ XML.gov] est un site Web du gouvernement américain qui coordonne les initiatives XML. Aide à trouver diverses normes qui les intéressent, par ex. un [http://xml.gov/efforts.asp liste des efforts]. | |||
== Références == | |||
* Elliotte Rusty Harold, (2004). XML in a Nutshell, O'Reilly, [http://www.ibiblio.org/xml/books/xian3/ Résumé / TOC] ISBN 0-596-00764-7 (Meilleur achat selon [[User: DSchneider | DSchneider ]]). | |||
[[Catégorie: XML]] [[Catégorie: standards web]] | |||
[[fr: XML]] |
Dernière version du 28 mars 2018 à 16:57
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
|