« XML » : différence entre les versions
mAucun résumé des modifications |
m (correction d'un pluriel) |
||
(51 versions intermédiaires par 15 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{tutoriel | {{tutoriel | ||
|fait_partie_du_cours=XML | |fait_partie_du_cours=XML | ||
|pas_afficher_sous-page=Non | |||
|page_precedente=XML | |||
|page_suivante=Tutoriel XSLT débutant | |page_suivante=Tutoriel XSLT débutant | ||
| | |pages_module=Tutoriel XSLT débutant, | ||
Tutoriel XSLT intermédiaire, | |||
Tutoriel XPath | |||
|cat tutoriels=XML | |||
}} | }} | ||
== Introduction à XML et DOM== | == Introduction à XML et DOM== | ||
Note: Ce texte a été importé à partir de [http://tecfa.unige.ch/guides/tie/pdf/files/xml-dom.pdf transparents (PDF)]. A étoffer un jour - [[Utilisateur:Daniel K. Schneider|Daniel K. Schneider]] 8 mai 2009 à 20:17 (CEST). | Note: Ce texte a été importé à partir de [http://tecfa.unige.ch/guides/tie/pdf/files/xml-dom.pdf transparents (PDF)]. A étoffer un jour - [[Utilisateur:Daniel K. Schneider|Daniel K. Schneider]] 8 mai 2009 à 20:17 (CEST). | ||
<div class="tut_goals"> | <div class="tut_goals"> | ||
Ligne 13 : | Ligne 17 : | ||
'''Objectifs''': | '''Objectifs''': | ||
* Une idée de la définition technique de XML: Formalisme XML, la notion de | * Une idée de la définition technique de XML: Formalisme XML, la notion de métalangage, la notion du "Domain Object Model" (DOM) | ||
* Fournir une idée du XML framework du consortium WWW, la place de ce nouveau framework par rapport aux autres outils (HTML, bases de données, etc.) | * Fournir une idée du XML framework du consortium WWW, la place de ce nouveau framework par rapport aux autres outils (HTML, bases de données, etc.) | ||
* Introduire les noms et fonctions de quelques langages XML, par exemple: | * Introduire les noms et fonctions de quelques langages XML, par exemple: | ||
Ligne 27 : | Ligne 31 : | ||
</div> | </div> | ||
== | == Le paradigme XML == | ||
* Ce chapitre contient quelques définitions, | * Ce chapitre contient quelques définitions, | ||
* définit le rôle de XML par rapport à l’évolution des TIC, | * définit le rôle de XML par rapport à l’évolution des TIC, | ||
* fait quelques réflexions concernant le "rapport" entre XML et HTML | * fait quelques réflexions concernant le "rapport" entre XML et [[HTML]] | ||
===XML sert à fabriquer des | ===XML sert à fabriquer des langages de balises=== | ||
XML = e'''X'''tended '''M'''arkup '''L'''anguage | XML = e'''X'''tended '''M'''arkup '''L'''anguage | ||
Ligne 43 : | Ligne 47 : | ||
L'histoire de XML a commencé en 1986 avec son précurseur, SGML. | L'histoire de XML a commencé en 1986 avec son précurseur, SGML. | ||
; SGML (Standard Generalized Markup Language, ISO standard en 1986 | ; SGML (Standard Generalized Markup Language, ISO standard en 1986) | ||
* | * métalangage pour définir des langages de balises | ||
* HTML (1990) est une application SGML ayant assez peu de balises (tags) | * HTML (1990) est une application SGML ayant assez peu de balises (tags) | ||
; XML (1997, - ) | ; XML (1997, - ) | ||
* un | * un métalangage plus léger que SGML, adapté au Web | ||
* permet la définition de langages adaptés à des besoins très variés | * permet la définition de langages adaptés à des besoins très variés | ||
* XML est un formalisme pour décrire des structures de données | * XML est un formalisme pour décrire des structures de données | ||
** sert à organiser l’échange d’informations | ** sert à organiser l’échange d’informations | ||
** sert à remplacer HTML pour | ** sert à remplacer HTML pour certaines tâches (mais fonctionne d’une autre façon ! ) | ||
** donc: XML '' n’existe pas'' au même sens que HTML, ce n’est qu’un formalisme ! | ** donc: XML'' n’existe pas'' au même sens que HTML, ce n’est qu’un formalisme, qui permet la création de règles et de structures ! | ||
===Deux façons d’aborder XML=== | ===Deux façons d’aborder XML=== | ||
Ligne 69 : | Ligne 73 : | ||
[[Image:xml-dom-2.png]] | [[Image:xml-dom-2.png]] | ||
; Attention | ; Attention : | ||
* Aborder XML à travers les déficiences de HTML est une chose | * Aborder XML à travers les déficiences de HTML est une chose ... | ||
* | * ... faire croire que XML se discute au même niveau est faux ! | ||
** XML est un '' formalisme'' pour fabriquer des langages alors que HTML est un langage | ** XML est un'' formalisme'' pour fabriquer des langages, alors que HTML est un langage | ||
** | ** La version moderne de HTML (c.a.d. XHTML) est définie avec XML ("est une application XML") | ||
** HTML ancien est défini avec SGML ("est une application SGML") | ** HTML ancien est défini avec SGML ("est une application SGML") | ||
** XML est simplement un sous-ensemble de SGML. | ** XML est simplement un sous-ensemble de SGML. | ||
Ligne 80 : | Ligne 84 : | ||
===Desiderata du monde Internet=== | ===Desiderata du monde Internet=== | ||
; Les besoins en matière des TIC ont beaucoup évolué depuis une | ;<nowiki> Les besoins en matière des TIC ont beaucoup évolué depuis une décennie. On cherche par exemple à :</nowiki>: | ||
* Mieux structurer de l’information : par exemple pour la retrouver facilement ou bien la traiter électroniquement. Une bonne structure de l'information permet également une meilleure imbrication dans les différentes applications. | |||
* Faire des systèmes de documentation et d’hypertextes puissants. | |||
* Afficher et imprimer de façon flexible et jolie: que ce soit pour les écrans, le papier, les portables, etc. | |||
* Créer un format universel pour toute sorte de données et d’usages: diffuser/échanger/stocker/chercher. En quelques mots, on a la possibilité de réutiliser les mêmes outils informatiques pour certaines tâches. | |||
* Créer un format lisible pour les humains (=spécialistes) et les machines | |||
Il fallait un métalangage propre qui permette de créer des "langages" variés | |||
;<nowiki> Rappel important : XML n’est pas un langage comme HTML, mais un formalisme qui permet de fabriquer des langages !</nowiki> | |||
==Formats principaux de données XML sur Internet == | |||
Notice: XML est aujourd'hui beaucoup utilisé pour encoder des données hors Internet (par exemple toute la suite office de Microsoft) ou pour transporter des données (formats d'échange) | |||
===Éléments du "XML framework" du W3C pour les documents=== | |||
== | |||
[[Image:xml-dom-3.png]] | [[Image:xml-dom-3.png]] | ||
Suite à une "révolte" des grandes entreprises et autres organisations, ce modèle a été abandonné au profit de [[HTML5]] | |||
=== Petite explication de quelques notions et sigles === | === Petite explication de quelques notions et sigles === | ||
XML et SGML sont des | XML et SGML sont des métalangages: | ||
* Un | * Un métalangage est un langage qui permet de définir d’autres langages (appelés souvent “applications” dans ce contexte) | ||
* SGML: Standardized Generalized Markup Language (ISO 8879) | * SGML: Standardized Generalized Markup Language (ISO 8879) | ||
* XML (eXtensible Markup Language): version simplifiée de SGML) | * XML (eXtensible Markup Language): (version simplifiée de SGML) | ||
Les langages SGML (en voie de disparition): | |||
* | * Il y en a beaucoup (notamment dans le domaine du "document processing") | ||
* HTML: | * [[HTML]]: jeu de balises pour structurer un texte selon des catégories plutôt "typographiques" (titres, paragraphes, listes, etc.), et qui permet d'inclure un peu de multimédia et un peu d’hypertexte. | ||
Langages de | Langages de style non XML: | ||
* [[CSS]] (1/2/3): Langage de style pour HTML et XML | * [[CSS]] (1/2/3): Langage de style pour HTML et XML | ||
* DSSL: | * DSSL: langage de style le plus populaire pour SGML (Scheme like) | ||
Langages de style en format XML: | Langages de style en format XML: | ||
* XSL/FO (application XML): | * XSL/FO (application XML): langage de style pour XML | ||
* XSLT (application XML): | * XSLT (application XML): langage de transformation pour XML | ||
La notion | La notion "d'application": | ||
* Structure: le document est associé à un “modèle d’information” / "grammaire" / "application" | * Structure: le document XML/SGML est associé à un “modèle d’information” / "grammaire" / "application" | ||
* Il existe 3 standards populaires pour définir une grammaire: les DTD | * Il existe 3 standards populaires pour définir une grammaire: les [[DTD]] (Document Type Definitions), XSchema (XS) et Relax-NG (RNG/RNC) | ||
* Le fait de pouvoir définir une grammaire | * Le fait de pouvoir définir une grammaire implique une validation (autrement dit, qu'on peut contraindre les auteurs à obéir à une grammaire) | ||
===Applications XML pour définir des "documents"=== | ===Applications XML pour définir des "documents"=== | ||
Ligne 136 : | Ligne 141 : | ||
* XSL/FO (application XML): Langage de style pour XML | * XSL/FO (application XML): Langage de style pour XML | ||
* XSLT (application XML): Langage de transformation pour XML | * XSLT (application XML): Langage de transformation pour XML | ||
* XLink: Hypertext links | * [[XLink]]: Hypertext links | ||
** '' http://www.w3.org/TR/xlink/'' | ** '' http://www.w3.org/TR/xlink/'' | ||
* XPointer (pointeurs vers une ressource) et XPath (chemins dans la structure) | * XPointer (pointeurs vers une ressource) et XPath (chemins dans la structure) | ||
** (utilisés par XSLT, XInclude, XLink, XQuery, etc.) | ** (utilisés par XSLT, XInclude, XLink, XQuery, etc.) | ||
* Applications RDF: (langage pour définir des relations entre objets) | * Applications RDF: (langage pour définir des relations entre objets) | ||
** voir:'' | ** voir:'' http://tecfa.unige.ch/guides/rdf/pointers.html'' | ||
* PICS 2.0: Platform for Internet Content Selection | * PICS 2.0: Platform for Internet Content Selection | ||
** '' http://www.w3.org/PICS/'' | ** '' http://www.w3.org/PICS/'' | ||
Ligne 147 : | Ligne 152 : | ||
** '' http://www.w3.org/AudioVideo/'' | ** '' http://www.w3.org/AudioVideo/'' | ||
* P3P: Platform for Privacy Preferences | * P3P: Platform for Privacy Preferences | ||
** '' | ** '' http://www.w3.org/P3P/'' | ||
* SVG: Scalable Vector Graphics | * [[SVG]]: Scalable Vector Graphics | ||
** '' http://www.w3.org/TR/SVG/'' | ** '' http://www.w3.org/TR/SVG/'' | ||
* MathML: Mathematical Markup Language | * MathML: Mathematical Markup Language | ||
** '' | ** '' http://www.w3.org/Math/'' | ||
* | * [[XHTML]] | ||
** '' http://www.w3.org/TR/html/'' | ** '' http://www.w3.org/TR/html/'' | ||
Ligne 163 : | Ligne 168 : | ||
** IMS Content packaging (structure et emballage de contenus e-learning) | ** IMS Content packaging (structure et emballage de contenus e-learning) | ||
** vous pouvez créer votre propre langage..... | ** vous pouvez créer votre propre langage..... | ||
* Certains langages XML ajoutent des | * Certains langages XML ajoutent des fonctionnalités à ce type de vocabulaire: | ||
** feuilles de style | ** feuilles de style | ||
** | ** hyperliens | ||
** graphismes et animations: SVG, X3D, Smile | ** graphismes et animations: SVG, X3D, Smile | ||
** catégorisations / | ** catégorisations / métadonnés: RDF/Dublin Core | ||
** échange de données | ** échange de données | ||
** échange de requêtes entre programmes: XML-RPC, SOAP | ** échange de requêtes entre programmes: XML-RPC, SOAP | ||
Ligne 177 : | Ligne 182 : | ||
; Résumé | ; Résumé | ||
* Il existe déjà des centaines d’applications XML | * Il existe déjà des centaines d’applications XML... | ||
* Il faut distinguer | * Il faut distinguer les applications plutôt "text-centric" et "data-centric" | ||
** "text-centric": contenu destiné à la lecture | ** "text-centric": contenu destiné à la lecture | ||
** "data-centric": contenu destiné à un logiciel (qui utilise, traite, met en forme, communique, etc.) | ** "data-centric": contenu destiné à un logiciel (qui utilise, traite, met en forme, communique, etc.) | ||
Ligne 186 : | Ligne 191 : | ||
===La syndication des nouvelles et le web social=== | ===La syndication des nouvelles et le web social=== | ||
* Internet subit depuis | * Internet subit depuis plusieurs années une profonde mutation en ce qui concerne l’organisation de ses "espaces d’information" | ||
* [[RSS]] (sous ses formes variées) permet l’échange automatique de "titres" et de "résumés" entre différents portails et weblogs | * [[RSS]] (sous ses formes variées) permet l’échange automatique de "titres" et de "résumés" entre différents portails et weblogs | ||
* FOAF (et autres formats) permettent de définir des profils de personnes qui sont ensuite utilisés pour organiser des réseaux sociaux en ligne | * FOAF (et autres formats) permettent de définir des profils de personnes et de leurs relations, qui sont ensuite utilisés pour organiser des réseaux sociaux en ligne | ||
===Le Web sémantique=== | ===Le Web sémantique=== | ||
* Le Web devient plus "smart" | * Le Web devient plus "smart" | ||
* Les Topic | * Les Topic maps (standard ISO) permettent d’organiser des collections de ressources sous forme de réseau sémantique (donc on ne retrouve pas juste les arbres, mais on a une "carte" de la forêt.) | ||
* RDF est un langage qui permet de décrire des relations entre objets | * RDF est un langage qui permet de décrire des relations entre objets | ||
** exemple: standards de " | ** exemple: standards de "métadonnées" qui décrivent ce qu’il y a dans une ressource | ||
* OWL, le "Web Ontology Language" (construit avec RDF) est un formalisme qui permet de décrire les relations qui existent entre des choses. Il existe un lien conceptuel avec les "topic maps". | * OWL, le "Web Ontology Language" (construit avec RDF) est un formalisme qui permet de décrire les relations qui existent entre des choses. Il existe un lien conceptuel avec les "topic maps". | ||
===XML et documentation=== | ===XML et documentation=== | ||
* | * Aujourd’hui, on peut directement présenter des informations codées en XML (n’importe quelle grammaire) dans un navigateur, mais à condition d’utiliser une feuille de style. | ||
; Les style-sheets permettent de | ; Les style-sheets permettent de | ||
* préparer/arranger un contenu pour une "présentation" | * préparer/arranger un contenu pour une "présentation" | ||
* définir le "layout" (mise en forme, | * définir le "layout" (mise en forme, formatage) d’un "texte" écrit en XML | ||
; L’utilité des style-sheets est donc de: | ; L’utilité des style-sheets est donc de: | ||
Ligne 221 : | Ligne 226 : | ||
: Par exemple: création de tables de matières, traduction de XML vers HTML | : Par exemple: création de tables de matières, traduction de XML vers HTML | ||
: '' http://www.w3.org/TR/xslt'' | : '' http://www.w3.org/TR/xslt'' | ||
(2) langage de mise en page ( | (2) langage de mise en page (formatage) (XSL/FO) | ||
: '' http://www.w3.org/TR/xsl/'' | : '' http://www.w3.org/TR/xsl/'' | ||
[[Image:xml-dom-4.png|tiré de la recommendation XSL-1]] | [[Image:xml-dom-4.png|tiré de la recommendation XSL-1]] | ||
; Le | ; Le formatage avec XSL-FO | ||
* formatage sophistiqué, aussi selon héritage, descendance, position etc. | * formatage sophistiqué, aussi selon héritage, descendance, position etc. | ||
Ligne 241 : | Ligne 246 : | ||
* Aucun problème pour afficher un document XML de type "texte" | * Aucun problème pour afficher un document XML de type "texte" | ||
===Xlink - Vers un meilleur hypertexte ?=== | ===Xlink - Vers un meilleur hypertexte?=== | ||
* reste une proposition, pas d’implémentation complète pour le moment. | * reste une proposition, pas d’implémentation complète pour le moment. | ||
Ligne 257 : | Ligne 262 : | ||
; Caractéristiques principales | ; Caractéristiques principales | ||
* Liens | * Liens multidirectionnels, liens à multiple destinations | ||
* Occlusions, inclusions, remplacements de contenus dans un document, | * Occlusions, inclusions, remplacements de contenus dans un document, | ||
; | ; D’où vient ce standard | ||
* HTML | * HTML | ||
Ligne 274 : | Ligne 279 : | ||
; Exemples | ; Exemples | ||
* Le protocole SOAP (Simple Object Access Protocol) définit un langage d’échange.<br /> Il est composé de deux parties : | |||
** une enveloppe, informations permettant son acheminement et son traitement | |||
* Le protocole SOAP (Simple Object Access Protocol) | ** un modèle de données pour les informations à transmettre | ||
** une enveloppe, informations permettant son acheminement et son traitement | |||
** un modèle de données pour les informations à transmettre | |||
* WSDL (Web Services Description Language) | * WSDL (Web Services Description Language) | ||
** décrit une interface publique d’accès à un Service Web | ** décrit une interface publique d’accès à un Service Web | ||
** indique comment communiquer pour utiliser le service | ** indique comment communiquer pour utiliser le service | ||
(il existe toute une panoplie d’instruments) | |||
==Sous le capot: Le Document Objet Model (DOM)== | ==Sous le capot: Le Document Objet Model (DOM)== | ||
Ligne 295 : | Ligne 300 : | ||
* naviguer dans leur structure avec un programme | * naviguer dans leur structure avec un programme | ||
* ajouter, modifier ou détruire des éléments avec un langage de programmation comme PHP (du côté serveur) ou JavaScript (dans votre navigateur) | * ajouter, modifier ou détruire des éléments avec un langage de programmation comme PHP (du côté serveur) ou JavaScript (dans votre navigateur) | ||
* Cela a | * Cela a permis de standardiser ce qu’on appelle "DHTML" | ||
** Le terme DHTML ne se retrouve dans aucun standard, mais indique qu’on manipule les propriétés [[CSS]] et le contenu des éléments avec JavaScript | ** Le terme DHTML ne se retrouve dans aucun standard, mais indique qu’on manipule les propriétés [[CSS]] et le contenu des éléments avec JavaScript | ||
; Définition officielle du terme "DOM" | ; Définition officielle du terme "DOM" | ||
De l’abstract de la spécification'' [http://www.w3.org/TR/REC-DOM-Level-1/ | De l’abstract de la spécification'' [http://www.w3.org/TR/REC-DOM-Level-1/ (http://www.w3.org/TR/REC-DOM-Level-1/):]'' a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents. The Document Object Model provides a standard set of objects for representing HTML and XML documents, a standard model of how these objects can be combined, and a standard interface for accessing and manipulating them. Vendors can support the DOM as an interface to their proprietary data structures and APIs, and content authors can write to the standard DOM interfaces rather than product-specific APIs, thus increasing interoperability on the Web. | ||
* Note: Le DOM est compliqué | * Note: Le DOM est compliqué et c'est pour cela qu'il existe des alternatives plus simples ! | ||
===Le principe du DOM avec un exemple=== | ===Le principe du DOM avec un exemple=== | ||
Ligne 329 : | Ligne 334 : | ||
; Affichage typique dans un navigateur | ; Affichage typique dans un navigateur | ||
{| border="1" | {| border="1" | ||
| | | colspan="1" rowspan="1" | | ||
Pierre Muller | Pierre Muller | ||
| | | colspan="1" rowspan="1" | | ||
http://pm.com/ | http://pm.com/ | ||
|- | |- | ||
| | | colspan="1" rowspan="1" | | ||
Elisabeth Dupont | Elisabeth Dupont | ||
| | | colspan="1" rowspan="1" | | ||
..... | ..... | ||
|} | |} | ||
; Représentation alternative dans un | ; Représentation alternative dans un navigateur ou un applet | ||
* ligne 1: | * ligne 1: | ||
Ligne 366 : | Ligne 371 : | ||
* Contenus e-learning, par exemple la norme "simple sequencing" de l’IMS | * Contenus e-learning, par exemple la norme "simple sequencing" de l’IMS | ||
* "Quiz Markup" | * "Quiz Markup" | ||
* Langages pour | * Langages pour structurer des activités d’écriture (faits maison) | ||
* Informations sur les étudiants | * Informations sur les étudiants | ||
** format d’échange de données concernant les étudiants | ** format d’échange de données concernant les étudiants | ||
Ligne 396 : | Ligne 401 : | ||
* travaillent sur le concept du "reusable learning object" (des éléments que l’on peut réutiliser dans différents contextes et dans différents systèmes). | * travaillent sur le concept du "reusable learning object" (des éléments que l’on peut réutiliser dans différents contextes et dans différents systèmes). | ||
* utilisent des designs pédagogiques très simples ("simple-sequencing") | * utilisent des designs pédagogiques très simples ("simple-sequencing") | ||
* une norme plus | * une norme plus sophistiquée publiée est "learning design", mais il manque des implémentations | ||
== | == Logiciels de XML == | ||
===Création de XML === | ===Création de XML === | ||
*Regardez [http://edutechwiki.unige.ch/en/XML_editor XML editor] | *Regardez [http://edutechwiki.unige.ch/en/XML_editor XML editor] | ||
[http://www.altova.com/downloadxsleditor.html?gclid=CMv6tbGM3M4CFWsq0wodnNUAuQ XMLSpy] est un éditeur et un environnement de développement XML édité par la société Altova. Il permet d'éditer, transformer, déboguer des technologies liées à XML. Par exemple, il propose l'édition XMl intelligente, l'éditeur DTD, l'éditeur et débogage XSLT. Il offre aussi une intégration complète de base de données, une prise en charge de XSLT, XPath, XQuery, WSDL, SOAP, XBRL, JSON et Office Open XML (OOXML), etc. Grâce à l'interface intuitive, cet éditeur est facile à prendre en main et à utiliser. | |||
Il existe deux versions de cet éditeur Altova® XMLSpy 2016 Professional XML Editor et la version Altova® XMLSpy 2016 Enterprise XML Editor qui sont payantes. | |||
===Base de | Mais la bonne nouvelle c'est qu'il existe une version d'essai gratuite de 30 jours de [http://www.altova.com/xmlspy.html Altova® XMLSpy 2016] Enterprise XML Editor qui permet de faire un court exercice (comme STIC, par exemple) en tout confort et d'utiliser toutes les fonctionnalités de cet éditeur très connu. | ||
*Regardez [http://edutechwiki.unige.ch/en/XML_database XML database] | |||
* [http://brackets.dnbard.com/extension/dtd Plug-in DTD highlighter] et [https://github.com/shumpei/brackets-formatter-extension plug-in Auto formatter] | |||
Ce sont deux plug-ins pour brackets qui permettent l'édition de fichiers XML et DTD en profitant des couleurs. Ils ne permettent cependant pas de vérifier la validité des fichiers. | |||
===Base de données de XML === | |||
*Regardez [http://edutechwiki.unige.ch/en/XML_database XML database] | |||
===Validation === | ===Validation === | ||
Validation offline | Validation offline | ||
<br /> | <br /> | ||
*La plupart des [http://edutechwiki.unige.ch/en/XML_editor éditeurs XML] | *La plupart des [http://edutechwiki.unige.ch/en/XML_editor éditeurs XML] décents proposent la fonctionnalité de validation. Toutefois, certains éditeurs libres XML ne font pas la même chose. Certains (comme Xemacs) ne proposent pas plus qu’une vérification limitée. | ||
*[http://xmlsoft.org/xmllint.html xmllint], un outil de ligne de commande qui est distribué dans le cadre de l'[http://xmlsoft.org/ analyseur libxml2 C] développé pour le projet Gnome. Cela signifie qu'il est livré avec la plupart des installations Linux, mais il ya aussi des distributions de Windows et autres systèmes d'exploitation. | *[http://xmlsoft.org/xmllint.html xmllint], un outil de ligne de commande qui est distribué dans le cadre de l'[http://xmlsoft.org/ analyseur libxml2 C] développé pour le projet Gnome. Cela signifie qu'il est livré avec la plupart des installations Linux, mais il ya aussi des distributions de Windows et autres systèmes d'exploitation. | ||
*[ | *[https://www.macupdate.com/app/mac/19204/xml-nanny XML Nanny]. XML Nanny est un outil de développement libre de Mac OS X qui fournit une interface Aqua pour la vérification des documents XHTML et XML pour le bien-forme et de validité, soit localement soit à travers le réseau. (Tiger OS X 10.4) [sept 2005] | ||
Validation online | Validation online | ||
<br /> | <br /> | ||
Note: Vous devez peut-être à changer [http://edutechwiki.unige.ch/en/DTD DTD] ou schéma identifiant le système local. Ces programmes doivent être capables de faire le DTD. On vous suggère plutôt d’installer un programme local à | Note: Vous devez peut-être à changer [http://edutechwiki.unige.ch/en/DTD DTD] ou schéma identifiant le système local. Ces programmes doivent être capables de faire le DTD. On vous suggère plutôt d’installer un programme local à votre ordinateur. (comme xmllint ou xmlTester). | ||
*[http:// | *[http://nl.ijs.si/et/teach/png06-jt/xmlvalid.html STG XML Validation Form], courtesy of Scholarly Technology Group, Université de Brown. | ||
*[http://www.ltg.ed.ac.uk/~richard/xml-check.html XML well-formedness checker and validator], Richard Tobin, Université d’Endinburgh (parseur RXP) | *[http://www.ltg.ed.ac.uk/~richard/xml-check.html XML well-formedness checker and validator], Richard Tobin, Université d’Endinburgh (parseur RXP) | ||
*[ | *[https://www.xml.com/ XML.com's] (simple well-formedness) | ||
Validation on-line pour les applications spécifiques de XML | Validation on-line pour les applications spécifiques de XML | ||
*[http://validator.w3.org/ W3C HTML Validation Service]. Ce validateur ne fonctionne pas avec votre propre DTD. Sa fonction principale est de valider les vocabulaires du W3C (HTML, XHTML, SVG, MathML, ...) | *[http://validator.w3.org/ W3C HTML Validation Service]. Ce validateur ne fonctionne pas avec votre propre DTD. Sa fonction principale est de valider les vocabulaires du W3C (HTML, XHTML, SVG, MathML, ...) | ||
*[http:// | *[http://www.feedvalidator.org/ FEED Validator]. Valide divers formats RSS, plus [http://www.intertwingly.net/wiki/pie/ PIE] | ||
===Les Outils Online === | ===Les Outils Online === | ||
Certains sites web proposent des fonctionnalités pour effectuer de simples tâches comme le formatage xml, | Certains sites web proposent des fonctionnalités pour effectuer de simples tâches comme le formatage xml, la transformation, la validation, l'interrogation XML. | ||
<table border="1"> | <table border="1"> | ||
Ligne 433 : | Ligne 446 : | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>https://shancarter.github.io/mr-data-converter/</td> | ||
<td>Conversion d'Excel et de csv à XML</td> | <td>Conversion d'Excel et de csv à XML</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>https://xslttest.appspot.com/</td> | ||
<td>Transformation (XSLT)</td> | <td>Transformation (XSLT)</td> | ||
</tr> | </tr> | ||
Ligne 458 : | Ligne 471 : | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>https://www.online-toolz.com/tools/xslt-transformation.php</td> | ||
<td>Format, transformation (XSLT) et Validation (XSD)</td> | <td>Format, transformation (XSLT) et Validation (XSD)</td> | ||
</tr> | </tr> | ||
<tr> | <tr> | ||
<td> | <td>https://www.w3schools.com/xml/xsl_transformation.asp</td> | ||
<td>Transformation (XSLT)</td> | <td>Transformation (XSLT)</td> | ||
</tr> | </tr> | ||
Ligne 473 : | Ligne 482 : | ||
== Liens == | == Liens == | ||
===Présentations === | ===Présentations === | ||
*[ | *[https://www.w3.org/XML/1999/XML-in-10-points-19990327 XML in 10 points] (W3C, 2001) | ||
===Tutoriaux === | ===Tutoriaux === | ||
(Les informations qui se trouvent dans cette section | (Les informations qui se trouvent dans cette section sont-elles suffisantes ?) | ||
*Regardez les articles qui sont | *Regardez les articles qui sont liés au sujet [http://edutechwiki.unige.ch/en/Category:XML XML] dans le wiki. Il y a quelques tutoriaux. | ||
*[http://www.scriptorium.com/structure.pdf | *[http://www.scriptorium.com/structure.pdf Whitepaper on structured authoring], par Sarah O’Keefe. | ||
*[http://en.wikibooks.org/wiki/XML XML:Managing Data Exchange]. Ce projet de Wikibook a introduit XML à partir d’une perspective d’échange de | *[https://www.tutorialspoint.com/xml/index.htm XML tutorial] : un ensemble de pages et de ressources assez complet sur XML (en anglais) | ||
*[http://en.wikibooks.org/wiki/XML XML:Managing Data Exchange]. Ce projet de Wikibook a introduit XML à partir d’une perspective d’échange de données. | |||
*[https://openclassrooms.com/courses/le-point-sur-xml Le point sur XML] | |||
===Nouvelles=== | ===Nouvelles=== | ||
*[http://www.ibiblio.org/xml/ Cafe con Leche XML News and Resources] ( | *[http://www.ibiblio.org/xml/ Cafe con Leche XML News and Resources] (C'est la meilleure source pour rester en contact avec les nouvelles liée au XML) | ||
===Liste des applications de XML (schémas) === | ===Liste des applications de XML (schémas) === | ||
Ligne 489 : | Ligne 500 : | ||
*[http://en.wikipedia.org/wiki/List_of_XML_markup_languages List of XML markup languages]. C’est une liste bien, mais p.ex. plusieurs [http://edutechwiki.unige.ch/en/Standard standards] d’e-Learning sont perdus. | *[http://en.wikipedia.org/wiki/List_of_XML_markup_languages List of XML markup languages]. C’est une liste bien, mais p.ex. plusieurs [http://edutechwiki.unige.ch/en/Standard standards] d’e-Learning sont perdus. | ||
*[http://www.oasis-open.org/ OASIS] (une organisation de standardisation de XML) publie des [http://xml.coverpages.org/ Coverpages] (bulletin et le ressource XML). C’est inclue [http://xml.coverpages.org/xmlApplications.html les applications et les initiatives de XML] . | *[http://www.oasis-open.org/ OASIS] (une organisation de standardisation de XML) publie des [http://xml.coverpages.org/ Coverpages] (bulletin et le ressource XML). C’est inclue [http://xml.coverpages.org/xmlApplications.html les applications et les initiatives de XML] . | ||
[[Category: XML]] | |||
[[en:XML]] | |||
== '''Mise en page interne au document XML''' == | |||
Dans cette partie vous allez retrouver ce qui ne fonctionne pas sur XML pour la mise en page. C'est à dire quand on se retrouve avec un grand document et que l'on désir se souvenir de ce que cela est. Par exemple sur une page java script on peut écrire du texte qui n'est pas pris en compte par l'application "//Identifier les elements interactif". | |||
Sur XML cette formulation du double slash "//" avec le texte à la suite ne fonctionne pas. Une autre formulation ne fonctionne pas "<!-- Le titre de l exercice -->", elle va créer une page blanche quand elle est chargée, via le serveur Tecfa. | |||
La seule méthode qui fonctionne pour l'instant c'est la création d'espace entre les paragraphes et entre les exercices. Par exemple, on peut mettre 10 retours à la ligne entre le cours Stic I et le cours Stic II, puis mettre 3 retours à la ligne entre le premier exercice et le deuxième exercice de Stic I. |
Dernière version du 23 mai 2021 à 18:04
XML | |
---|---|
◀▬▬▶ | |
⚐ | ☸ |
⚒ 2021/05/23 | |
Autres pages du module | |
Catégorie: XML |
Introduction à XML et DOM
Note: Ce texte a été importé à partir de transparents (PDF). A étoffer un jour - Daniel K. Schneider 8 mai 2009 à 20:17 (CEST).
Objectifs:
- Une idée de la définition technique de XML: Formalisme XML, la notion de métalangage, la notion du "Domain Object Model" (DOM)
- Fournir une idée du XML framework du consortium WWW, la place de ce nouveau framework par rapport aux autres outils (HTML, bases de données, etc.)
- Introduire les noms et fonctions de quelques langages XML, par exemple:
- les langages les plus importants du W3C
- XML pour la documentation
- Le web sémantique
- Webservices
Prochains pas:
Le paradigme XML
- Ce chapitre contient quelques définitions,
- définit le rôle de XML par rapport à l’évolution des TIC,
- fait quelques réflexions concernant le "rapport" entre XML et HTML
XML sert à fabriquer des langages de balises
XML = eXtended Markup Language
Un markup langage (en français langage de balises) sert à encoder/structurer des données (textes, formats vectoriels, messages entre machines, feuilles de style,...)
XML fournit le formalisme + des mécanismes pour définir ces langages (grammaires, schémas)
L'histoire de XML a commencé en 1986 avec son précurseur, SGML.
- SGML (Standard Generalized Markup Language, ISO standard en 1986)
- métalangage pour définir des langages de balises
- HTML (1990) est une application SGML ayant assez peu de balises (tags)
- XML (1997, - )
- un métalangage plus léger que SGML, adapté au Web
- permet la définition de langages adaptés à des besoins très variés
- XML est un formalisme pour décrire des structures de données
- sert à organiser l’échange d’informations
- sert à remplacer HTML pour certaines tâches (mais fonctionne d’une autre façon ! )
- donc: XML n’existe pas au même sens que HTML, ce n’est qu’un formalisme, qui permet la création de règles et de structures !
Deux façons d’aborder XML
Le rapport avec HTML, PDF, etc.
- On ne peut pas vraiment comparer XML et HTML, on le fait puisque d’autres le font ...
- On l’aborde sous l’angle "le problème HTML et la solution XML ...."
- HTML vs. XML
- Attention
- Aborder XML à travers les déficiences de HTML est une chose ...
- ... faire croire que XML se discute au même niveau est faux !
- XML est un formalisme pour fabriquer des langages, alors que HTML est un langage
- La version moderne de HTML (c.a.d. XHTML) est définie avec XML ("est une application XML")
- HTML ancien est défini avec SGML ("est une application SGML")
- XML est simplement un sous-ensemble de SGML.
Desiderata du monde Internet
- Les besoins en matière des TIC ont beaucoup évolué depuis une décennie. On cherche par exemple à :
- Mieux structurer de l’information : par exemple pour la retrouver facilement ou bien la traiter électroniquement. Une bonne structure de l'information permet également une meilleure imbrication dans les différentes applications.
- Faire des systèmes de documentation et d’hypertextes puissants.
- Afficher et imprimer de façon flexible et jolie: que ce soit pour les écrans, le papier, les portables, etc.
- Créer un format universel pour toute sorte de données et d’usages: diffuser/échanger/stocker/chercher. En quelques mots, on a la possibilité de réutiliser les mêmes outils informatiques pour certaines tâches.
- Créer un format lisible pour les humains (=spécialistes) et les machines
Il fallait un métalangage propre qui permette de créer des "langages" variés
- Rappel important : XML n’est pas un langage comme HTML, mais un formalisme qui permet de fabriquer des langages !
Formats principaux de données XML sur Internet
Notice: XML est aujourd'hui beaucoup utilisé pour encoder des données hors Internet (par exemple toute la suite office de Microsoft) ou pour transporter des données (formats d'échange)
Éléments du "XML framework" du W3C pour les documents
Suite à une "révolte" des grandes entreprises et autres organisations, ce modèle a été abandonné au profit de HTML5
Petite explication de quelques notions et sigles
XML et SGML sont des métalangages:
- Un métalangage est un langage qui permet de définir d’autres langages (appelés souvent “applications” dans ce contexte)
- SGML: Standardized Generalized Markup Language (ISO 8879)
- XML (eXtensible Markup Language): (version simplifiée de SGML)
Les langages SGML (en voie de disparition):
- Il y en a beaucoup (notamment dans le domaine du "document processing")
- HTML: jeu de balises pour structurer un texte selon des catégories plutôt "typographiques" (titres, paragraphes, listes, etc.), et qui permet d'inclure un peu de multimédia et un peu d’hypertexte.
Langages de style non XML:
- CSS (1/2/3): Langage de style pour HTML et XML
- DSSL: langage de style le plus populaire pour SGML (Scheme like)
Langages de style en format XML:
- XSL/FO (application XML): langage de style pour XML
- XSLT (application XML): langage de transformation pour XML
La notion "d'application":
- Structure: le document XML/SGML est associé à un “modèle d’information” / "grammaire" / "application"
- Il existe 3 standards populaires pour définir une grammaire: les DTD (Document Type Definitions), XSchema (XS) et Relax-NG (RNG/RNC)
- Le fait de pouvoir définir une grammaire implique une validation (autrement dit, qu'on peut contraindre les auteurs à obéir à une grammaire)
Applications XML pour définir des "documents"
- Quelques applications XML du W3C (consortium WWW)
- XSL/FO (application XML): Langage de style pour XML
- XSLT (application XML): Langage de transformation pour XML
- XLink: Hypertext links
- XPointer (pointeurs vers une ressource) et XPath (chemins dans la structure)
- (utilisés par XSLT, XInclude, XLink, XQuery, etc.)
- Applications RDF: (langage pour définir des relations entre objets)
- PICS 2.0: Platform for Internet Content Selection
- SMIL: Synchronized Multimedia Integration Language
- P3P: Platform for Privacy Preferences
- SVG: Scalable Vector Graphics
- MathML: Mathematical Markup Language
- XHTML
- Autres applications
- “XML est un formalisme universel, utilisé dans beaucoup de contextes pour encoder un contenu spécifique (formules chimiques, échange de nouvelles, contenus e-learning, etc.):
- CML (Chemical Markup Language)
- X3D (VRML-Xmlisé)
- NML (News Markup Language) et NITF (News Interchange Text Format)
- IMS Content packaging (structure et emballage de contenus e-learning)
- vous pouvez créer votre propre langage.....
- Certains langages XML ajoutent des fonctionnalités à ce type de vocabulaire:
- feuilles de style
- hyperliens
- graphismes et animations: SVG, X3D, Smile
- catégorisations / métadonnés: RDF/Dublin Core
- échange de données
- échange de requêtes entre programmes: XML-RPC, SOAP
- .... etc.
- XML permet de définir des langages de programmation:
- par exemple XSLT, XQuery
- XML définit des langages de communication entre machines (webservices)
- Résumé
- Il existe déjà des centaines d’applications XML...
- Il faut distinguer les applications plutôt "text-centric" et "data-centric"
- "text-centric": contenu destiné à la lecture
- "data-centric": contenu destiné à un logiciel (qui utilise, traite, met en forme, communique, etc.)
Quelques exemples de langages XML
La syndication des nouvelles et le web social
- Internet subit depuis plusieurs années une profonde mutation en ce qui concerne l’organisation de ses "espaces d’information"
- RSS (sous ses formes variées) permet l’échange automatique de "titres" et de "résumés" entre différents portails et weblogs
- FOAF (et autres formats) permettent de définir des profils de personnes et de leurs relations, qui sont ensuite utilisés pour organiser des réseaux sociaux en ligne
Le Web sémantique
- Le Web devient plus "smart"
- Les Topic maps (standard ISO) permettent d’organiser des collections de ressources sous forme de réseau sémantique (donc on ne retrouve pas juste les arbres, mais on a une "carte" de la forêt.)
- RDF est un langage qui permet de décrire des relations entre objets
- exemple: standards de "métadonnées" qui décrivent ce qu’il y a dans une ressource
- OWL, le "Web Ontology Language" (construit avec RDF) est un formalisme qui permet de décrire les relations qui existent entre des choses. Il existe un lien conceptuel avec les "topic maps".
XML et documentation
- Aujourd’hui, on peut directement présenter des informations codées en XML (n’importe quelle grammaire) dans un navigateur, mais à condition d’utiliser une feuille de style.
- Les style-sheets permettent de
- préparer/arranger un contenu pour une "présentation"
- définir le "layout" (mise en forme, formatage) d’un "texte" écrit en XML
- L’utilité des style-sheets est donc de
- séparer contenu et présentation
- rationaliser le travail (un style-sheet pour beaucoup de documents)
XSL: Extensible Stylesheet Language
- XSL est un langage recommandé par le W3C
- http://www.w3.org/TR/xsl
- XSL possède 2 fonctions principales
(1) langage de transformation (XSLT) d’éléments XML
- Par exemple: création de tables de matières, traduction de XML vers HTML
- http://www.w3.org/TR/xslt
(2) langage de mise en page (formatage) (XSL/FO)
- Le formatage avec XSL-FO
- formatage sophistiqué, aussi selon héritage, descendance, position etc.
- génération de textes et graphiques
- possibilité de définir des macros
- tout ce que l’on trouve dans CSS et plus ....
CSS (Cascading Style Sheets)
- CSS1 (pour HTML seulement, mais prédominant)
- CSS2 (support pour XML, marche avec IE 6 / Firefox, etc.)
- Conclusion
- Aucun problème pour afficher un document XML de type "texte"
Xlink - Vers un meilleur hypertexte?
- reste une proposition, pas d’implémentation complète pour le moment.
- utilisation d’une version "simple" dans SVG, X3D etc.
- Xlink = comment insérer un lien dans un document XML (le lien exprime une relation entre deux ou plusieurs objets)
- http://www.w3.org/TR/xlink
- Xlink repose sur d’autres standards (partagés avec XSLT par exemple
- XPointer = comment identifier un fragment XML (utilisable par des liens). XPointer repose sur XPath
- XPath = comment identifier un chemin vers une ressource
- Caractéristiques principales
- Liens multidirectionnels, liens à multiple destinations
- Occlusions, inclusions, remplacements de contenus dans un document,
- D’où vient ce standard
- HTML
- Ancres: href (attribut de A), src (attribut de IMG et NOTE) ...
- Targets: name attributs (A), id (attribut dans HTML 4.x)
- surtout: langages SGML HyTime et TEI Extended Pointers (extension à HyTime)
La notion de "service Web"
- Un service Web est un ensemble de protocoles et de normes informatiques utilisés pour échanger des données entre les applications
- Les données échangées sont en format XML
- Exemples
- Le protocole SOAP (Simple Object Access Protocol) définit un langage d’échange.
Il est composé de deux parties :- une enveloppe, informations permettant son acheminement et son traitement
- un modèle de données pour les informations à transmettre
- WSDL (Web Services Description Language)
- décrit une interface publique d’accès à un Service Web
- indique comment communiquer pour utiliser le service
(il existe toute une panoplie d’instruments)
Sous le capot: Le Document Objet Model (DOM)
- Le DOM est la représentation informatique (dans la machine) d’un document XML
- Le DOM est un standard pour lire et manipuler des documents par le biais d’un programme
- Voir W3C Data Formats (http://www.w3.org/TR/NOTE-rdfarch)
- L’API (application programming interface) pour documents HTML et XML sert à
- construire des documents (navigateurs)
- naviguer dans leur structure avec un programme
- ajouter, modifier ou détruire des éléments avec un langage de programmation comme PHP (du côté serveur) ou JavaScript (dans votre navigateur)
- Cela a permis de standardiser ce qu’on appelle "DHTML"
- Le terme DHTML ne se retrouve dans aucun standard, mais indique qu’on manipule les propriétés CSS et le contenu des éléments avec JavaScript
- Définition officielle du terme "DOM"
De l’abstract de la spécification (http://www.w3.org/TR/REC-DOM-Level-1/): a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure and style of documents. The Document Object Model provides a standard set of objects for representing HTML and XML documents, a standard model of how these objects can be combined, and a standard interface for accessing and manipulating them. Vendors can support the DOM as an interface to their proprietary data structures and APIs, and content authors can write to the standard DOM interfaces rather than product-specific APIs, thus increasing interoperability on the Web.
- Note: Le DOM est compliqué et c'est pour cela qu'il existe des alternatives plus simples !
Le principe du DOM avec un exemple
Exemple 6-1: Un simple table HTML comme “DOM tree”
- voir: REC-DOM-Level-1.19981001
- Les données XML
<TABLE>
<TBODY>
<TR>
<TD>Pierre Muller</TD>
<TD>http://pm.com/</TD>
</TR>
<TR>
<TD>Elisabeth Dupont</TD>
<TD> .....</TD>
</TR>
</TBODY>
</TABLE>
- Affichage typique dans un navigateur
Pierre Muller |
|
Elisabeth Dupont |
..... |
- Représentation alternative dans un navigateur ou un applet
- ligne 1:
- Pierre Muller
- http://pm.com/
- ligne 2:
- Elisabeth Dupont
- Représentation interne très APPROXIMATIVE de l’arbre dans le DO
- Un script peut manipuler cette structure au niveau du contenu, de l’affichage et de l’interface utilisateur
- Javascript dans les navigateurs Web
- Java, Flash (et autres) dans des extensions (applets, Flash player).
- PhP, Java, ASP etc. au niveau du serveur
- Grâce au DOM: changement de paradigme pour les pages Internet:
Display quasi-statique => filtrages, multiples feuilles de style, applications, etc. (web 2.0) ==XML dans le monde de l’éducation ?==
XML dans l'éducation
Vocabulaires typiques
Voir en:Educational modeling languages (EdutechWiki anglais). Tous ces formats y sont expliqués...
- Contenus e-learning, par exemple la norme "simple sequencing" de l’IMS
- "Quiz Markup"
- Langages pour structurer des activités d’écriture (faits maison)
- Informations sur les étudiants
- format d’échange de données concernant les étudiants
- Textes structurés dans des bibliothèques en ligne, par ex:
- The Oxford Text Archive
- The Humanities Text Initiative (Univ of Michigan)
- Catalogues:
- "Learning objects" indexés avec les normes Dublin Core ou IMS/IEEE
- Catalogues bibliothécaires comme MARC
- “Content packaging”
- Emballage de "learning objects"
- “Instructional design” (comme la norme "learning design" de l’IMS)
Certains standards sont déjà bien déployés (voir les "normes" IMS qui dominent le monde du e-learning).
Organisations
- Il existe plusieurs organisations qui développent des standards pédagogiques:
- IMS (Meta-data, persons, some content, student work)
- http://www.imsproject.org/
- DoD ADL / SCORM (meta-data, contents)
- http://www.adlnet.org/
- IEEE LTSA (LOM meta-data)
- http://edutool.com/ltsa/
- Ariadne (meta-data)
- http://ariadne.unil.ch /
- se coordonnent quelque peu,
- se sont concentrés d’abord principalement sur les "meta-data" et le "content packaging" (catégoriser et emballer des ressources),
- travaillent sur le concept du "reusable learning object" (des éléments que l’on peut réutiliser dans différents contextes et dans différents systèmes).
- utilisent des designs pédagogiques très simples ("simple-sequencing")
- une norme plus sophistiquée publiée est "learning design", mais il manque des implémentations
Logiciels de XML
Création de XML
- Regardez XML editor
XMLSpy est un éditeur et un environnement de développement XML édité par la société Altova. Il permet d'éditer, transformer, déboguer des technologies liées à XML. Par exemple, il propose l'édition XMl intelligente, l'éditeur DTD, l'éditeur et débogage XSLT. Il offre aussi une intégration complète de base de données, une prise en charge de XSLT, XPath, XQuery, WSDL, SOAP, XBRL, JSON et Office Open XML (OOXML), etc. Grâce à l'interface intuitive, cet éditeur est facile à prendre en main et à utiliser.
Il existe deux versions de cet éditeur Altova® XMLSpy 2016 Professional XML Editor et la version Altova® XMLSpy 2016 Enterprise XML Editor qui sont payantes.
Mais la bonne nouvelle c'est qu'il existe une version d'essai gratuite de 30 jours de Altova® XMLSpy 2016 Enterprise XML Editor qui permet de faire un court exercice (comme STIC, par exemple) en tout confort et d'utiliser toutes les fonctionnalités de cet éditeur très connu.
Ce sont deux plug-ins pour brackets qui permettent l'édition de fichiers XML et DTD en profitant des couleurs. Ils ne permettent cependant pas de vérifier la validité des fichiers.
Base de données de XML
- Regardez XML database
Validation
Validation offline
- La plupart des éditeurs XML décents proposent la fonctionnalité de validation. Toutefois, certains éditeurs libres XML ne font pas la même chose. Certains (comme Xemacs) ne proposent pas plus qu’une vérification limitée.
- xmllint, un outil de ligne de commande qui est distribué dans le cadre de l'analyseur libxml2 C développé pour le projet Gnome. Cela signifie qu'il est livré avec la plupart des installations Linux, mais il ya aussi des distributions de Windows et autres systèmes d'exploitation.
- XML Nanny. XML Nanny est un outil de développement libre de Mac OS X qui fournit une interface Aqua pour la vérification des documents XHTML et XML pour le bien-forme et de validité, soit localement soit à travers le réseau. (Tiger OS X 10.4) [sept 2005]
Validation online
Note: Vous devez peut-être à changer DTD ou schéma identifiant le système local. Ces programmes doivent être capables de faire le DTD. On vous suggère plutôt d’installer un programme local à votre ordinateur. (comme xmllint ou xmlTester).
- STG XML Validation Form, courtesy of Scholarly Technology Group, Université de Brown.
- XML well-formedness checker and validator, Richard Tobin, Université d’Endinburgh (parseur RXP)
- XML.com's (simple well-formedness)
Validation on-line pour les applications spécifiques de XML
- W3C HTML Validation Service. Ce validateur ne fonctionne pas avec votre propre DTD. Sa fonction principale est de valider les vocabulaires du W3C (HTML, XHTML, SVG, MathML, ...)
- FEED Validator. Valide divers formats RSS, plus PIE
Les Outils Online
Certains sites web proposent des fonctionnalités pour effectuer de simples tâches comme le formatage xml, la transformation, la validation, l'interrogation XML.
Website | Features |
https://shancarter.github.io/mr-data-converter/ | Conversion d'Excel et de csv à XML |
https://xslttest.appspot.com/ | Transformation (XSLT) |
http://www.shell-tools.net/index.php?op=xml_format | Format et validation (dtd et xsd) |
http://tools.decisionsoft.com/xmldiff.html | Diff (comparaison des fichiers XML) |
http://tools.decisionsoft.com/schemaValidate/ | Validation (XSD) |
http://chris.photobooks.com/xml/ | Format, transformation (XSLT) et interrogation (Xpath) |
https://www.online-toolz.com/tools/xslt-transformation.php | Format, transformation (XSLT) et Validation (XSD) |
https://www.w3schools.com/xml/xsl_transformation.asp | Transformation (XSLT) |
Liens
Présentations
- XML in 10 points (W3C, 2001)
Tutoriaux
(Les informations qui se trouvent dans cette section sont-elles suffisantes ?)
- Regardez les articles qui sont liés au sujet XML dans le wiki. Il y a quelques tutoriaux.
- Whitepaper on structured authoring, par Sarah O’Keefe.
- XML tutorial : un ensemble de pages et de ressources assez complet sur XML (en anglais)
- XML:Managing Data Exchange. Ce projet de Wikibook a introduit XML à partir d’une perspective d’échange de données.
- Le point sur XML
Nouvelles
- Cafe con Leche XML News and Resources (C'est la meilleure source pour rester en contact avec les nouvelles liée au XML)
Liste des applications de XML (schémas)
- XML Standards Library par Liquid technologies. C’est une liste bien. Indexé par catégorie. Ajouté 15:54, 28 July 2010 (UTC).
- List of XML markup languages. C’est une liste bien, mais p.ex. plusieurs standards d’e-Learning sont perdus.
- OASIS (une organisation de standardisation de XML) publie des Coverpages (bulletin et le ressource XML). C’est inclue les applications et les initiatives de XML .
Mise en page interne au document XML
Dans cette partie vous allez retrouver ce qui ne fonctionne pas sur XML pour la mise en page. C'est à dire quand on se retrouve avec un grand document et que l'on désir se souvenir de ce que cela est. Par exemple sur une page java script on peut écrire du texte qui n'est pas pris en compte par l'application "//Identifier les elements interactif".
Sur XML cette formulation du double slash "//" avec le texte à la suite ne fonctionne pas. Une autre formulation ne fonctionne pas "", elle va créer une page blanche quand elle est chargée, via le serveur Tecfa.
La seule méthode qui fonctionne pour l'instant c'est la création d'espace entre les paragraphes et entre les exercices. Par exemple, on peut mettre 10 retours à la ligne entre le cours Stic I et le cours Stic II, puis mettre 3 retours à la ligne entre le premier exercice et le deuxième exercice de Stic I.