XML
< ! -- L'avertissement aux utilisateurs d'AutoWikiBrowser n'essayent pas à Unicodify cette page que plusieurs des notations de sont dans le contexte et ne devraient pas être convertie en leurs représentations de glyph
Ne pas changer le " ; Extensible" ; au " ; eXtensible" ; ! Voir le http://www.com/axml/notes/TheCorrectTitle.html des spécifications annotées de XML.
Étiquettes d'éléments pas ! Par exemple, < ! ELEMENT> contre < ! TAG>. --> Extensible Markup Language de ( XML ) est un langage de balisage d'usage universel . Il est classifié comme langue extensible parce qu'il permet à ses utilisateurs de définir leurs propres éléments. Son but primaire est de faciliter le partage des données structurées à travers différents systèmes d'information, en particulier par l'intermédiaire de l'Internet . Il est employé pour coder des documents et le fabriquent des données en série de . Dans le dernier contexte, il est comparable à d'autres langues de fabrication en série basées par texte telles que le JSON et le YAML .
Il a commencé comme sous-ensemble simplifié du langage de balisage généralisé standard (SGML), et est conçu pour être relativement humain-lisible. En ajoutant des contraintes sémantiques, des langues d'application peuvent être mises en application dans XML. Celles-ci incluent le XHTML , le RSS , le MathML , le GraphML , les graphiques de vecteur extensibles , le MusicXML , et les milliers de d'autres. D'ailleurs, XML est parfois employé comme langue de spécifications pour de telles langues d'application.
XML est recommandé par par le World Wide Web Consortium . C'est un standard ouvert honoraire-libre . La recommandation de W3C définit tous les deux la grammaire lexicologique , et les conditions pour le analysant .
Documents bien formés et valides de XML
Il y a deux niveaux d'exactitude d'un document de XML :
bien formé. Un document bien formé se conforme à toutes les règles de la syntaxe de XML. Par exemple, si une commencer-étiquette apparaît sans extrémité-étiquette correspondante, ce n'est pas le bien formé. Un document qui n'est pas bien formé n'est pas considéré XML ; on ne permet pas à un un analyseur de conformation le traiter. Un document valide se conforme en plus à quelques règles sémantiques. Ces règles sont définies pour l'utilisateur, ou incluses en tant qu'un schéma du XML ou DTD . Par exemple, si un document contient un élément non défini, puis lui n'est pas le valide ; on ne permet pas à un un validant l'analyseur de le traiter.
Documents bien formés : Syntaxe de XML
Tant que seulement la forme est exigée, XML est un cadre générique pour stocker n'importe quelle quantité de texte ou de n'importe quelles données dont la structure peut être représentée comme arbre. La seule condition syntactique indispensable est que le document a exactement un élément de racine de (alternativement appelé l'élément de document de ). Ceci signifie que le texte doit être inclus entre une commencer-étiquette de racine et une extrémité-étiquette correspondante. Ce qui suit est un " ; well-formed" ; Document de XML : lang=" de
L'élément de racine peut être précédé par une déclaration facultative du XML. Cet élément énonce quelle version de XML est en service (normalement 1.0) ; il peut également contenir des informations sur le codage de caractère de et les dépendances externes. lang=" de
Le de spécifications exige que les processeurs de XML soutiennent le UTF-8 des codages de caractère de d'Unicode de casserole et le UTF-16 (le UTF-32 n'est pas obligatoire). L'utilisation des codages plus limités, de ce type a basé sur le ISO/IEC 8859 , est reconnue et est employée couramment et soutenue.
Les commentaires peuvent être placés n'importe où dans l'arbre, incluant dans le texte si le contenu de l'élément est texte ou #PCDATA.
Début de commentaires de XML avec le < de ; ! -- et extrémité avec le --> ; . Deux tirets (--) ne peut pas apparaître n'importe où dans le texte du commentaire.
lang=" de
Dans n'importe quelle application signicative, le marge bénéficiaire bénéficiaire additionnel est employé pour structurer le contenu du document de XML. Le texte inclus par les étiquettes de racine peut contenir un nombre arbitraire d'éléments de XML. La syntaxe de base pour un élément est : lang=" de
Des valeurs d'attribut doivent toujours être citées, using des citations simples ou doubles ; et chaque nom d'attribut devrait apparaître seulement une fois dans n'importe quel élément. XML exige que les éléments soient &mdash correctement niché ; les éléments peuvent ne jamais recouvrir. Par exemple, le code ci-dessous n'est pas XML bien formé, parce que la fin de support de et les éléments forts du de recouvrent : lang=" de Normal emphasized strong emphasized strong < ! -- Correct : XML bien formé. --> Normal emphasized strong emphasized strong Alternatively emphasized strong emphasized strong
Références d'entité
Une entité dans XML est un corps appelé des données, habituellement texte. Les entités sont employées souvent pour représenter les caractères simples qui ne peuvent pas facilement être écrits sur le clavier ; elles sont également employées pour représenter des morceaux de norme (" ; boilerplate" ;) texte qui se produisent dans beaucoup de documents, particulièrement s'il y a un besoin de permettre à un tel texte d'être changé dans un endroit seulement.
Des caractères spéciaux peuvent être représentés ou employant des références de l'entité , ou au moyen de références de caractère numérique un exemple d'une référence de caractère numérique est " ; & ; #x20AC ; " ; , qui se rapporte à l'euro symbole au moyen de son Unicode codepoint dans le hexadécimal.
Une référence d'entité est un texte d'attente qui représente cette entité. Elle comprend le nom d'entité précédé par une esperluète (" de ; & ; " ;) et suivi d'un point-virgule (" de ; ; " ;). XML a cinq entités de Predeclared :
Références de caractère numérique
Regard de références de caractère numérique comme des références d'entité, mais au lieu d'un nom, elles contiennent le " ; de # " ; le caractère a suivi d'un nombre. Le nombre (dans la décimale ou le " ; x" ; - le mis en tête hexadécimal) représente un point de code d'Unicode. À la différence des références d'entité, ils ni pas predeclared ni font ils doivent être déclarés dans le DTD du document. Ils ont été typiquement habitués pour représenter les caractères qui ne sont pas facilement encodable, comme un caractère arabe du dans un document produit sur un ordinateur européen. L'esperluète dans le " ; AT& ; T" ; l'exemple pourrait également être échappé par comme ceci (la décimale 38 et l'hexadécimal 26 tous les deux représentent le point de code d'Unicode pour le " ; & ; " ; caractère) : lang=" de Voir également les références de caractère numérique
Documents bien formés
Un document bien formé doit se conformer aux règles suivantes, notamment :
Les éléments non vides de
sont délimités par par une commencer-étiquette et une extrémité-étiquette.
Des éléments vides peuvent être identifiés par une étiquette (à fermeture automatique) de vide-élément, telle que le < ; IAmEmpty/>. C'est égal au < ; IAmEmpty> ; < ; /IAmEmpty> ; .
Toutes les valeurs d'attribut sont citées avec choisissent (') ou doublent (le " ;) citations. Les apostrophes clôturent une apostrophe et les guillemets clôturent des guillemets.
Des étiquettes peuvent être nichées mais ne doivent pas recouvrir. Chaque élément non-root doit être complètement contenu dans un autre élément.
Le document est conforme à son codage avoué de caractère. Le codage peut être déclaré ou impliqué extérieurement, comme dans le " ; Contenu-Type" ; en-têtes quand un document est transporté par l'intermédiaire de HTTP , ou intérieurement, using le marge bénéficiaire bénéficiaire explicite au tout début du document. Quand aucune une telle déclaration n'existe, un codage d'Unicode est assumé, comme défini par une marque d'ordre de byte de d'Unicode avant le premier caractère du document. Si la marque n'existe pas, le codage UTF-8 est assumé.
Les noms d'élément distinguent les majuscules et minuscules. Par exemple, ce qui suit est une paire d'assortiment bien formée : < de ; considérant que ce n'est pas < de Step>… ; /Step>< de ; < de Step>… ; /step>
Le choix soigneux des noms pour des éléments de XML donnera la signification des données dans le marge bénéficiaire bénéficiaire . Ceci augmente la lisibilité humaine tandis que la conservation de la rigueur avait besoin pour l'analyse de logiciel.
Le choix des noms signicatifs implique la sémantique des éléments et des attributs à un lecteur humain sans référence à la documentation externe. Cependant, ceci peut mener au verbosity, qui complique le écrivant et augmente la taille de fichier de fichier .
Vérification automatique
Il est relativement simple de vérifier qu'un document est XML bien formé ou validé, parce que les règles de la forme et de la validation de XML sont conçues pour la portabilité des outils. L'idée est que n'importe quel outil conçu pour travailler avec des dossiers de XML pourra travailler avec des dossiers de XML écrits dans n'importe quelle langue de XML (ou application de XML). Un exemple d'utiliser un outil indépendant suit :
le charger dans un navigateur XML-capable, tel que le Firefox ou le Internet Explorer
utiliser un outil comme le xmlwf (habituellement empaqueté avec expat )
analyser le document, par exemple dans le rubis : l'irb> exigent le " ; rexml/document" ; l'irb> incluent REXML irb> Doc.root
Documents valides : Sémantique de XML
En laissant les noms, la hiérarchie permise, et les significations des éléments et des attributs s'ouvrent et définissable par un schéma personnalisable ou DTD , XML de fournit une base syntactique pour la création du but spécifique, langages de balisage XML-basés. La syntaxe générale de telles langues est &mdash rigide ; les documents doivent adhérer aux règles générales de XML, s'assurant que tout le logiciel XML-averti peut au moins lire et comprendre l'arrangement relatif d'information dans eux. Le schéma complète simplement les règles de syntaxe avec un ensemble de contraintes. Les schémas limitent typiquement des noms d'élément et d'attribut et leurs hiérarchies permises de retenue, telles que permettre seulement à un élément appelé « anniversaire » de contenir 1 « mois » appelé par élément et 1 « jour » appelé par élément, qui doit contenir seulement des données-caractères. Les contraintes dans un schéma peuvent également inclure le type de données de tâches de qui affectent comment l'information est traitée ; par exemple, les données-caractères de l'élément de « mois » peuvent être définies en tant qu'étant un mois selon les conventions de langue de schéma de détail, peut-être la signification que ce doit non seulement être composé une certaine manière, mais également ne doit pas être traitée comme si c'étaient un autre type de données.
Un document de XML qui est conforme à un schema/DTD particulier, en plus d'être bien formé, serait le valide.
Un schéma de XML est une description d'un type de document de XML, typiquement exprimé en termes de contraintes sur la structure et le contenu des documents de ce type, au-dessus et au delà des contraintes de base imposées par XML lui-même. Un certain nombre de langues standard et de propriété industrielle de schéma de XML ont émergé pour formellement exprimant de tels schémas, et certaines de ces langues XML-soient basés, elles-mêmes.
Avant l'arrivée des langages de description de données généralisés tels que le SGML et le XML, les concepteurs de logiciel ont dû définir les formats de fichier spéciaux ou les petites langues pour partager des données entre les programmes. Ceci a exigé les caractéristiques détaillées par écriture et les analyseurs pour un but particulier et les auteurs
La structure régulière de XML et les règles strictes d'analyse permettent aux concepteurs de logiciel de laisser l'analyse aux outils standard, et puisque XML fournit un général, au modèle de données - le cadre orienté pour le développement des langues spécifiques à l'application, concepteurs de logiciel a besoin se concentrent seulement sur le développement des règles pour leurs données, relativement aux niveaux élevés de l'abstraction.
les outils Bien-examinés existent au valident un " de document de XML ; against" ; un schéma : le d'outil automatiquement vérifie si le document se conforme aux contraintes exprimées en schéma. Certains de ces outils de validation sont inclus dans des analyseurs de XML, et les autres sont empaquetés séparément.
D'autres utilisations des schémas existent : Les rédacteurs de XML, par exemple, peuvent employer des schémas pour soutenir le procédé d'édition (en suggérant les éléments valides et attribue des noms, etc.
DTD
voient également :
du Document type definition Le format de schéma le plus ancien pour XML est le Document type definition (DTD) de , hérité du SGML. Tandis que l'appui de DTD est dû omniprésent à son inclusion dans la norme de XML 1.0, on le voit comme limité pour les raisons suivantes :
il n'a aucun soutien de plus nouveaux dispositifs de XML, d'une manière plus importante les namespaces .
Il manque de l'expressivité. Certains aspects formels d'un document de XML ne peuvent pas être capturés dans un DTD.
Il emploie une syntaxe faite sur commande de non-XML, héritée de SGML , pour décrire le schéma.
Le DTD est encore employé dans beaucoup d'applications parce qu'on le considère le plus facile à lire et écrire.
Schéma de XML
voient également :
du schéma du XML (W3C) Une plus nouvelle langue du schéma du XML, décrite par le W3C comme successeur de DTDs, est le schéma du XML, ou plus officieusement visé par l'initialism pour des exemples de schéma de XML, XSD (définition de de schéma de XML). XSDs sont bien plus puissant que DTDs en décrivant des langues de XML. Elles emploient un système de saisie du riche , tiennent compte des contraintes plus détaillées sur la structure logique d'un document de XML, et doivent être traitées dans plus de cadre robuste de validation du . XSDs emploient également un format XML-basé qui permet pour utiliser les outils ordinaires de XML pour aider le processus ils, bien que les réalisations de XSD exigent beaucoup plus que juste la capacité de lire XML.
Les critiques de XSD incluent ce qui suit :
Les spécifications sont très grandes, qui le rendent difficile à comprendre et mettre en application.
La syntaxe XML-basée mène au verbosity dans la description de schéma, qui rend XSDs plus dur pour lire et écrire.
La validation de schéma peut être une addition chère à XML analysant, particulièrement pour les systèmes à fort débit.
Les possibilités de modélisation sont très limitées, sans la capacité de permettre à des attributs d'influencer les modèles contents
Le type le modèle de dérivation est très limité, en particulier cette dérivation par prolongation est rarement utile.
le transfert de données Base de données-connexe a été soutenu avec des idées mystérieuses telles que le nillability mais les conditions de l'édition industrielle sont under-supported.
Le principal Keyref /les mécanismes unicité ne sont pas type averti
Le concept du PSVI (validation Infoset de schéma de poteau) n'a pas une interface de programmation API pour commandes Tempus-link standard de représentation ou de de XML , ainsi il fonctionne contre l'indépendance de fournisseur de à moins que le revalidation soit exécuté.
DÉTENDRE LE NG
voient également : LE DÉTENDENT LE DE NG
OIN DSDL et d'autres langues de schéma
La norme du DSDL (langages de description d'OIN de schéma de document) rassemble un ensemble complet de petites langues de schéma, chacun visé aux problèmes spécifiques. DSDL inclut le DÉTEND NG pleines et compactes syntaxe de , langue d'affirmation de Schematron , et langues pour définir des datatypes, des contraintes de répertoire de caractère, expansion de retitrage et d'entité, et cheminement namespace-basé des fragments de document à différents validators. Les langues de schéma de DSDL n'ont pas l'appui de fournisseur des schémas de XML encore, et sont dans une certaine mesure une réaction de bases des éditeurs industriels au manque d'utilité des schémas de XML pour le éditant .Quelques langues de schéma décrivent non seulement la structure d'un format particulier de XML mais offrent également les équipements limités pour influencer le traitement des différents dossiers de XML qui se conforment à ce format. DTDs et XSDs tous les deux ont cette capacité ; ils peuvent par exemple fournir des défauts d'attribut. DÉTENDRE LE NG et Schematron intentionnellement ne fournissent pas ces derniers ; par exemple le service d'augmentation d'Infoset .
Utilisation internationale
XML soutient l'utilisation directe de presque n'importe quel caractère d'Unicode (autre que celui qui ont la signification symbolique spéciale dans XML, elle-même, tel que la parenthèse faisante le coin ouverte, " ; <" ;) dans des noms d'élément, des attributs, des commentaires, des données-caractères, et des instructions de traitement. Par conséquent, ce qui suit est un document bien formé de XML, quoiqu'il inclue le les caractères cyrilliens chinois de et : lang=" de
Déploiement de XML sur le Web
Les documents de XML ne diffusent pas des informations sur la façon montrer les données. Sans employer le CSS ou le XSL , un document générique de XML est rendu en tant que texte cru de XML par la plupart des navigateurs de Web de un certain affichage il avec les « poignées » (par exemple + et - signe dedans la marge) qui permettent à des parties de la structure d'être augmentées ou effondrées avec des souris-clics. Afin de dénommer le rendu dans un navigateur avec le CSS, le document de XML doit comporter une référence au Stylesheet : lang=" de
Noter que c'est différent de spécifier un tel stylesheet dans le HTML, qui emploie le < ; élément de link>.
La langue extensible (XSL) de Stylesheet de peut être employée pour changer le format des données de XML, dans le HTML ou d'autres formats qui conviennent à un navigateur à l'affichage.
Pour spécifier la transformation (XSLT) du XSL du Client-côté , l'instruction de traitement suivante est exigée dans le XML : lang=" de
le Client-côté XSLT n'est soutenu par beaucoup de navigateurs de Web de mais pas opéra avant la version 9. Une alternative, plutôt que dépendant le possibilités de navigateur de s d'utilisateur du des ', est d'employer XSL pour convertir XML en affichable de format sur le serveur de . L'utilisateur ne se rend pas compte sur de ce qu'est allé « dans les coulisses » ; tout qu'ils voient bien-est composé, des données affichables.
Voir le d'article de XSLT pour un exemple du serveur-côté XSLT dans l'action .
Prolongements de XML
le XPath permet pour se rapporter à différentes parties d'un document de XML. Ceci fournit à accès sélectif aux données de XML pour d'autres technologies, y compris XSLT, XSL-FO, expressions de XQuery etc. XPath peut se rapporter à l'ensemble ou une partie du texte, des données et des valeurs dans les éléments de XML, les attributs, les instructions de traitement, les commentaires etc. Ils peuvent également accéder aux noms des éléments et des attributs. XPaths peut être employé dans XML valide et bien formé, avec et sans les namespaces définis. le XInclude définit la capacité pour que les dossiers de XML incluent l'ensemble ou une partie d'un dossier externe. Quand le traitement est complet, l'infoset final de XML n'a aucun élément de XInclude, mais à la place a copié les documents ou les pièces en dans l'infoset final. Il emploie XPath pour se rapporter à une partie du document pour les inclusions partielles.
le XQuery est à XML quel SQL et PL/SQL être aux bases de données relationnelles : les manières d'accéder, manoeuvrent et renvoient XML.
le du XML Namespaces de permettent au même document de contenir des éléments et des attributs de XML pris de différents vocabulaires, sans n'importe quel appelant l'occurrence des collisions .
le de la signature du XML de définit la syntaxe et des règles de traitement pour créer les signatures digitales sur le contenu de XML.
le du chiffrage du XML de définit la syntaxe et des règles de traitement pour le chiffrant le contenu de XML.
le de XPointer de est un système pour des composants d'adressage des médias XML-basés d'Internet.
Des dossiers de XML peuvent être servis avec une série de types de supports . RFC 3023 définit les types " ; application/xml" ; et " ; texte/xml" ; , qui indiquent seulement que les données sont dans XML, et rien au sujet de sa sémantique. L'utilisation du " ; texte/xml" ; a été critiqué comme source potentielle des problèmes de codage mais est maintenant en cours d'être désapprouvée. RFC 3023 recommande également que des langues XML-basées soient données des types de supports commençant dans le " ; application/" ; et fin dans le " ; +xml" ; ; par exemple " ; application/atom+xml" ; pour l'atome . Cette page discute davantage de XML et MIME .
Traitement des dossiers de XML
Trois techniques traditionnelles pour traiter des dossiers de XML sont :
Using un langage de programmation et le api du SAXO .
Using un langage de programmation et le api des DOM .
Using un moteur de transformation et un filtre
Des techniques plus récentes et plus naissantes pour traiter des dossiers de XML sont :
Pousser l'analyse
Attache de données
< ! --- le SAXO et les DOM sont les api de la programmation orientée objectivement employés couramment pour traiter des données de XML. Les premiers analyseurs de XML ont exposé le contenu des documents de XML aux applications en tant que les événements du SAXO ou objets des DOM -->
Api simple pour XML (SAXO)
le SAXO est un lexicologique, l'interface entraînée par les événements du dans laquelle un document est lu en série et son contenu est rapporté comme " ; Quot des rappels de service ; aux diverses méthodes sur un objet de traiteur de de la conception de l'utilisateur. Le SAXO est rapide et efficace pour mettre en application, mais difficile à employer pour extraire l'information au hasard à partir du XML, puisqu'il tend à charger l'auteur d'application de maintenir quelle partie du document est traitée. Il mieux est adapté aux situations dans lesquelles certains types d'information sont toujours manipulés la même manière, n'importe où ils se produisent dans le document.
LES DOM
les DOM est une interface - l'interface de programmation API pour commandes Tempus-link orientée de qui tient compte de la navigation du document entier comme si c'étaient un arbre de " ; " du noeud ; le objecte représentant le contenu du document. Un document des DOM peut être créé par un analyseur, ou peut être produit manuellement par des utilisateurs (avec des limitations). Les données saisissent des noeuds des DOM sont abstraites ; les réalisations fournissent leur propre programmant des réalisations spécifiques à une langue des DOM des obligatoirex de tendent à être la mémoire intensive, car elles exigent généralement du document entier d'être chargé en la mémoire et d'être construit pendant qu'un arbre des objets avant l'accès est permis. Les DOM est soutenus dans Java par plusieurs paquets qui viennent habituellement avec les bibliothèques standard. Pendant que les spécifications des DOM sont réglées par le World Wide Web Consortium , les interfaces principales (noeud, document, etc.) sont dans le paquet org.*, aussi bien que certains des événements et des interfaces pour d'autres possibilités comme la fabrication en série (rendement).* fournit la fabrication en série (capacités de rendement) par impementing les interfaces appropriées, alors que le paquet de javax.* analyse des données pour créer des documents des DOM XML pour la manipulation.
Moteurs et filtres de transformation
Un filtre dans la famille extensible de la langue (XSL) de Stylesheet de peut transformer un dossier de XML pour le montrant ou impressionle XSL-FO de
est une langue déclarative et XML-basée de la disposition de page . Un processeur de XSL-FO peut être employé pour convertir un document de XSL-FO en un autre format de non-XML, tel que pdf .
le XSLT est une langue déclarative et XML-basée de transformation de document. Un processeur de XSLT peut employer un stylesheet XSLT comme guide pour la conversion de l'arbre de données représenté par un document de XML dans un autre arbre qui peut alors être fabriqués en série par comme XML, HTML, texte plat, ou n'importe quel autre format soutenu par le processeur.
le XQuery est W 3 C - langue pour le de question construisant et transformant des données de XML.
le XPath est a DOM-comme le modèle de données de d'arbre de noeud et la langue de l'expression de chemin de pour choisir des données dans des documents de XML. XSL-FO, XSLT et XQuery tous se servent de XPath. XPath inclut également une bibliothèque de fonction utile .
Tirer l'analyse
La traction de analysant traite le document car une série d'articles qui sont lus dans l'ordre using le modèle de conception d'Iterator. Ceci tient compte de l'écriture des analyseurs de récursif-descente de dans lesquels la structure du code exécutant l'analyse reflète la structure du XML étant analysé, et des résultats analysés intermédiaires peuvent être employés et accédés en tant que variables locales dans les méthodes exécutant l'analyse, ou être passés vers le bas (comme paramètres de méthode) dans des méthodes plus basses, ou être retournés (en tant que valeurs de retour de méthode) aux méthodes de plus haut niveau. Les exemples des analyseurs de traction incluent le StAX dans le langage de programmation de Java , SimpleXML dans le PHP et le System.Un analyseur de traction crée un iterator qui visite séquentiellement les divers éléments, attributs, et données dans un document de XML. Coder qui emploie cet « iterator » peut examiner l'article courant (pour dire, par exemple, si c'est un début ou finit l'élément, ou texte), et inspecte ses attributs (nom régional, namespace, valeurs des attributs de XML, valeur de texte, etc.), et peut également déplacer l'iterator au « prochain » article. Le code peut extraire ainsi l'information à partir du document pendant qu'il le traverse. L'approche de récursif-descente tend à se prêter à maintenir des données en tant que variables locales dactylographiées dans le code faisant l'analyse, alors que le SAXO, par exemple, exige typiquement d'un analyseur de maintenir manuellement des données intermédiaires dans une pile d'éléments qui sont des éléments de parent de l'élément étant analysé. le code de Tirer-analyse peut être plus franc pour comprendre et maintenir que le code d'analyse de SAXO.
Attache de données
Une autre forme de XML traitant l'api est des données de liant , où des données de XML sont rendues disponibles comme coutume, fortement dactylographiée la structure de données de langage de programmation, contrairement aux DOM interface-orientés. Les systèmes obligatoires de données d'exemple incluent l'architecture de Java pour l'attache de XML ( JAXB ).
XML Non-extractif traitant l'api
XML Non-extractif traitant l'api est une nouvelle et naissante catégorie des analyseurs qui visent à surmonter les limitations fondamentales des DOM et du SAXO. La plupart de représentant est le VTD-XML , qui supprime la modélisation orientée objectivement de la hiérarchie de XML et emploie à la place des descripteurs symboliques virtuels 64-bit (excentrages, longueurs, profondeurs, et types de codage) des marques de XML. L'approche de VTD-XML permet un certain nombre de dispositifs intéressants/de perfectionnements, tels que la haute performance, l'utilisation de basse mémoire, l'exécution d'ASIC, la mise à jour par accroissement, et l'indexation indigène de XML.
Applications spécifiques et rédacteurs de XML
Le format de fichier indigène applications d'IWork du OpenOffice.org , du AbiWord , et le d'Apple des 'de s est XML. Quelques parties de Microsoft Office 2007 peuvent également éditer des dossiers de XML avec un schéma écrit par l'utilisateur (mais pas un DTD), et Microsoft a libéré un kit de compatibilité de format de fichier pour le bureau 2003 qui permet à des versions préalables de bureau de sauver dans le nouveau format basé par XML. Il y a des douzaines d'autres rédacteurs de XML disponibles.
Histoire
La polyvalence de SGML pour l'affichage dynamique de l'information a été comprise par de premiers éditeurs numériques de médias vers la fin des années 80 avant l'élévation de l'Internet. Par le milieu des années 90 quelques praticiens de SGML avaient acquis l'expérience avec l'alors-nouveau World Wide Web , et avaient cru que les solutions offertes par SGML à certains des problèmes le Web étaient susceptibles de faire face car il s'est développé. Le Dan Connolly a ajouté le SGML à la liste d'activités de W3C quand il a joint le personnel en 1995 ; le travail a commencé dans un mid-1996 où le Jon Bosak a développé une charte et a recruté des collaborateurs. Bosak a été bien relié dans la petite communauté des personnes qui ont eu l'expérience en SGML et Web. Il a reçu l'appui dans ses efforts du Microsoft . XML a été compilé par un groupe de travail d'onze membres, soutenu par (approximativement) un groupe d'intérêt de 150 membres. La discussion technique a eu lieu sur la liste d'adresses de groupe d'intérêt et des problèmes ont été résolus par consensus ou, quand cela a échoué, vote majoritaire du groupe de travail. Un disque des décisions de conception et de leurs raisonnements a été compilé par le Michael Sperberg-McQueen le 4 décembre 1997. Le James Clark a servi de fil technique du groupe de travail, contribuant notamment le " de vide-élément ;
Le groupe de travail de XML n'a jamais rencontré tête à tête ; la conception faisait using une combinaison d'email et de téléconférences hebdomadaires. Les décisions principales de conception ont été prises en vingt semaines de travail intense entre juillet et novembre de 1996, quand le premier document de travail des spécifications de XML a été édité. Davantage de travail de conception a continué par le 1997 , et XML 1.0 est devenu une recommandation du W3C concernant le 10 février , le 1998 .0 a atteint les buts du groupe de travail de la rentabilité d'Internet, de la rentabilité d'usage universel, de la compatibilité de SGML, de la facilitation du développement facile de traiter le logiciel, de la minimisation des options, de la lisibilité, de la formalité, de la concision, et de la facilité d'écrire. Comme son SGML antécédent, XML tient compte de quelques constructions syntactiques superflues et inclut la répétition des marques d'élément. À ces égards, le laconisme n'a pas été considéré essentiel en sa structure.
Sources
XML est un profil d'un SGML de norme de l'OIN, et la majeure partie de XML vient du SGML sans changement. Du SGML vient la séparation des structures logiques et physiques (des éléments et des entités), la disponibilité de la validation grammaire-basée (DTDs), la séparation des données et des méta-données (des éléments et des attributs), le contenu mélangé, la séparation du traitement de la représentation (instructions de traitement), et la syntaxe d'angle-parenthèse de défaut. Été enlevées ont la déclaration de SGML (XML a un ensemble de délimiteur fixe et adopte le Unicode comme jeu de caractères de document).D'autres sources de technologie pour XML étaient l'initiative (TEI) de codage des textes de , qui a défini un profil de SGML pour l'usage comme « syntaxe de transfert » ; HTML , dans lequel les éléments étaient synchrones avec leur ressource, la séparation du jeu de caractères de document du codage de ressource, le xml : attribut de lang, et la notion de HTTP que les méta-données ont accompagné la ressource plutôt qu'étant nécessaires à la déclaration d'un lien ; et la syntaxe concrète prolongée de référence (ERCS), dont des règles de formation des noms de XML 1.0's ont été prises, et de laquelle avait présenté des références de caractère numérique hexadécimales et le concept des références pour faire disponible tous les caractères d'Unicode.
Les idées qui se sont développées pendant la discussion qui étaient originaux dans XML, étaient l'algorithme pour la détection de codage et l'en-tête de codage, la cible d'instruction de traitement, le xml : espacer l'attribut, et le nouveau délimiteur étroit pour des étiquettes de vide-élément.
Versions
Il y a deux versions en cours de XML. Le premier, le XML 1.0 , a été au commencement défini dans le 1998 . Il a subi des révisions mineures depuis lors, sans être donné un nombre de nouvelle version, et est actuellement en sa quatrième édition, comme édité le 16 août , le 2006 . Il est largement mis en application et recommandé toujours pour l'usage général. La seconde, le XML 1.1 , a été au commencement éditée le 4 février , le 2004 , le même jour comme édition de XML 1.0 la troisième, et est actuellement en sa deuxième édition, comme édité le 16 août , le 2006 . Elle contient le &mdash de dispositifs ; un certain &mdash controversable ; cela sont prévus pour faciliter XML pour employer dans certains cas - principalement permettant l'utilisation des caractères de ligne-fin utilisés sur des plates-formes de l'EBCDIC , et l'utilisation des manuscrits et des caractères absents d'Unicode 2.1 n'est pas très largement mis en application et est recommandé pour l'usage seulement par ceux qui a besoin de ses dispositifs uniques.1 diffèrent dans les conditions des caractères utilisés pour des noms d'élément et d'attribut : XML 1.0 permet seulement les caractères qui sont définis dans Unicode 2.0, qui inclut la plupart des manuscrits du monde, mais exclut ceux qui ont été ajoutés dans des versions postérieures d'Unicode. Parmi les manuscrits exclus sont le Mongolian , le Cambodgien , le amharique, le birman, et d'autres.
Presque n'importe quel caractère d'Unicode peut être employé en données-caractères et valeurs d'attribut d'un document de XML 1.1, même si le caractère n'est pas défini, hormis avoir un point de code, dans la version en cours d'Unicode. L'approche dans XML 1.1 est que seulement on interdit certains caractères, et tout autrement est laissé, tandis que dans XML 1.0, seulement on permet explicitement certains caractères, ainsi XML 1.0 ne peut pas adapter à l'addition des caractères dans de futures versions d'Unicode.
En données-caractères et valeurs d'attribut, XML 1.1 permet l'utilisation de plus de caractères de commande que XML 1.0, mais, pour le " ; robustness" ; , la plupart des caractères de commande présentés dans XML 1.1 doivent être exprimées comme références de caractère numérique. Parmi les caractères de commande soutenus dans XML 1.1 sont deux la ligne codes de coupure qui doit être traitée comme whitespace. Les caractères de Whitespace sont les seuls codes de commande qui peuvent être écrits directement.
Il y a également des discussions sur un XML 2.0, bien qu'il reste à voir fièvre paludéenne si tels surviendront jamais. XML-SW (le commutateur pour la mouffette de fonctionne ), écrit par un des réalisateurs originaux de XML, contient quelques propositions pour à quel XML 2.0 pourrait ressembler : élimination de DTDs de la syntaxe, intégration du XML ensemble bas (infoset de l'information de des namespaces et de XML de ) dans la norme de base.
World Wide Web Consortium a également un groupe de travail binaire de caractérisation de XML faire la recherche préliminaire dans des cas et des propriétés d'utilisation pour un codage binaire de l'infoset de XML. Le groupe de travail n'est pas affrété pour n'élaborer aucune norme officielle. Puisque XML est par définition texte basé, ITU-T et OIN emploient le nommé rapidement Infoset [HTTP //asn1.htm] de pour que leur propre infoset binaire évite la confusion (voir l'ITU-T REC.891 | ISO/IEC 24824-1).
Réclamations de brevet
En octobre 2005 le Scientigo de petites entreprises a publiquement affirmé que deux de ses brevets, et, s'appliquent à l'utilisation de XML. Les brevets couvrent le " ; données de modélisation, de stockage et de transfert dans un particulier non hiérarchique, form" neutre non-integrated ; , selon leurs applications, qui ont été déposées en 1997 et 1999. Le Doyal Bryant de PRÉSIDENT de Scientigo a exprimé un désir au " ; monetize" ; les brevets mais déclaré que la compagnie était " ; non intéressé en nous ayant contre le world." ; Il a dit que Scientigo discutait les brevets avec plusieurs grandes sociétés.Les utilisateurs de XML et les experts indépendants ont répondu aux réclamations de Scientigo avec le scepticisme et la critique répandus. Certains moqués la compagnie en tant que troll de brevet de . Le braillement de Tim de a décrit toutes les réclamations que les brevets ont couvert XML comme " ; ridicule sur le visage de l'it" ;.
Puisque là existe un grand nombre d'art antérieur concernant XML, y compris SGML , quelques jurisconsultes a cru qu'il serait difficile que Scientigo impose ses brevets par le litige.
Critique de XML < ! --
- UNE NOTE AUX CONTRIBUANTS :
- Des discussions sont décrites, représentées, et caractérisées, mais pas engagées dedans. Laisser les faits parler pour lui-même. Des additions concises et référencées à cette section sont bien accueillies, mais des contributions contradictoires avec et sont sujettes au déplacement immédiat.
XML est vraiment juste des données habillées vers le haut de comme un talonneur||| Dave Thomas
Avantages de XML
C'est texte basé. Il soutient le Unicode , permettant à presque n'importe quelle information dans n'importe quelle langue humaine écrite d'être communiquée.
Il peut représenter les listes de l'informatique des disques des structures de données de du commun et les arbres
Son format autoexplicatif du décrit la structure et les noms de champ aussi bien que des valeurs spécifiques.
La syntaxe stricte et le analysant des conditions de rendent les algorithmes d'analyse nécessaires extrêmement simples, efficaces, et conformés.
XML est fortement utilisé comme format pour le stockage et traitement de document de , en ligne et en différé.
Il est basé sur les normes internationales .
Il peut être mis à jour incrémentalement.
Il permet la validation using des langues de schéma telles que le XSD et le Schematron , qui facilite l'unité-essai efficace, les murs à l'épreuve du feu, l'essai d'homologation, les spécifications contractuelles et la construction de logiciel.
La structure hiérarchique du convient à la plupart des (mais non tous les) types de documents.
Il se manifeste en tant que dossiers des textes plats , qui sont moins restrictifs que d'autres formats de document de propriété industrielle.
Il est plate--indépendant, ainsi relativement immunisé contre des changements de technologie.
Il est relativement facile maintenir compatibilité vers l'avant et ascendante en dépit des changements de DTD ou de schéma.
Son prédécesseur, SGML, a été en service depuis le 1986 , tellement il y a une expérience étendue et de logiciel disponibles.
Un fragment d'élément d'un document bien formé de XML est également un document bien formé de XML.
Inconvénients de XML
La syntaxe de XML est à représentations binaires relatives superflues ou grandes des données semblables. La redondance peut affecter l'efficacité d'application par des coûts plus élevés de stockage, de transmission et de traitement.
La syntaxe de XML est bavarde, particulièrement pour les lecteurs humains, relativement à d'autres formats de transmission basés « par texte alternatif » de données.
Le modèle hiérarchique pour la représentation est limité par rapport à un graphique orienté objectivement du .
L'expression des rapports (non hiérarchiques) de recouvrement de noeud exige l'effort supplémentaire.
Il est problématique à l'appui de namespace d'utiliser-et peuvent être difficiles mettre en application correctement des namespaces de XML dans un analyseur de XML.
XML est généralement dépeint comme " ; " autoexplicatif du ; mais cette description ignore des ambiguïtés critiques.
La distinction entre le contenu et les attributs dans XML semble artificielle à certains et fait concevoir des structures de données de XML plus dur.
L'enchaînement entre les documents de XML exige l'utilisation du XLink , qui est complexe comparé aux liens hypertextes
Il est difficile de trouver un analyseur de XML qui est complet, correct, et efficace.
Voir également
ulticolAjax
APML
ASN.1
AsXML
Section , le mécanisme du CDATA pour inclure le texte de non-marge bénéficiaire bénéficiaire dans XML
Comparaison de des moteurs de disposition (XML)
DITA
DocBook
EbXML
XML binaire
Langue binaire extensible de méta de
Plate-forme extensible (XMP) de méta-données de , utilisée dans des applications de graphiques
Langage de balisage d'usage universel
JSON
OGDL
Liste de des langages de balisage de XML
S-expression
SAML
Fabrication en série
Source simple de éditant
Échange de données structurées
SAVON
Langage de gestion universel
XBRL
WBXML
Données du XML liant
XML/EDIFACT
Rédacteur de XML
Ensemble de l'information du XML
XML traitant les api
les DOM ,
SAXO ,
StAX ,
E4X
VTD-XML
Sedna ulticol-casser
Langage d'interrogation du XML
Langues du schéma du XML :
DTD ,
LE DÉTENDENT NG ,
Schematron ,
DSDL
Le XML forme l'architecture
Programme de certification du XML
XRI , XDI
YAML < ! -- -->
Normes de W3C XML :
XForms
XHTML
XLink
XML bas
Chiffrage du XML
XML-infoset
les DOM (le XML de traitant modèle de référence de ).
XQuery
Schéma du XML
Signature du XML
XPath
XPointer
Protocole de XML : XMLP et SAVON .
WSDL , service de Web
XSL et XSLT
Langage de balisage de linguistique du LGML ulticol-extrémité
Notes et références
eflist Quel est XML et pourquoi devrait je s'inquiéter ? - résumé très bon sur la matière.
| Random links: | Probabilité et statistiques | Karolinska Institutet | Élément de HTML | Blanche Stuart Scott | Pareatis | XML |