Des vêtements, des chaussures, des soldes, ... et des guides mode et beauté !

Foire aux questions sur le langage de balisage extensible (Extensible Markup Language)

Information générale sur le XML

1. Les bases

1.1 Qu'est-ce que XML?

1.2 Qu'est-ce qu'un langage de balisage?

1.3 Qu'est-ce que le XML?

1.4 Qu'est-ce que SGML?

1.5 Qu'est-ce que le HTML?

1.6 Que font toutes ces normes?

1.7 Existe-t-il une version HTML du HTML?

1.8 Qu'est-ce que HTML5?

1.9 Les XML, SGML et HTML ne sont-ils pas identiques?

1.10 Qui est responsable de XML?

1.11 Pourquoi XML est-il un développement aussi important?

1.12 Pourquoi ne pas simplement continuer à développer HTML?

1.13 Modifiez XML vers XML?

1.14 Pourquoi devrais-je utiliser XML?

1.15 Où puis-je trouver plus d'informations sur XML?

1.16 Où puis-je discuter de la mise en œuvre et du développement XML?

1.17 Quelle est la différence entre XML et C ou C ++ ou Java?

2. Utilisateurs existants

2.1 Que dois-je faire pour utiliser XML?

2.2 En quoi ressemble XML (à l'intérieur)?

2.3 Devrais-je utiliser XML au lieu de HTML?

2.4 Quelqu'un m'a envoyé un fichier XML. Comment le lire?

2.5 Comment puis-je contrôler le formatage XML?

2.6 Où puis-je obtenir un navigateur XML?

2.7 Comment puis-je exécuter ou exécuter un fichier XML?

2.8 Dois-je passer de SGML ou HTML à XML?

2.9 Puis-je utiliser XML pour les applications bureautiques régulières?

3. Auteurs

3.1 Dois-je connaître HTML ou SGML avant de prendre connaissance de XML?

3.2 Comment XML traite-t-il les espaces blancs dans mes documents?

3.3 Quelles parties du document XML sont sensibles à la casse?

3.4 Comment puis-je convertir mes informations en XML?

3.5 Comment puis-je créer mes fichiers HTML existants au format XML?

3.6 Comment puis-je convertir XML vers d'autres formats de fichiers?

3.7 Si XML n'est qu'un sous-ensemble de SGML, puis-je utiliser mes outils SGML existants?

3.8 Je suis habitué à créer et afficher HTML. Puis-je apprendre XML facilement?

3.9 XML XML peut-il utiliser des caractères non latins?

3.10 Qu'est-ce que DTD et où est-ce que je l'ai?

3.11 XML crée-t-il des balises personnalisées?

3.12 Comment puis-je créer mon propre type de document?

3.13 La DTD peut-elle déclarer explicitement le type d'élément racine?

3.14 Je continue à entendre parler des alternatives aux DTD. Qu'est-ce qu'un schéma?

3.15 Comment les liens XML sur mes documents auront-ils une incidence?

3.16 Puis-je coder les mathématiques en utilisant XML?

3.17 Comment XML traite-t-il mes métadonnées?

3.18 Comment puis-je utiliser des graphiques en XML?

3.19 Qu'est-ce que l'analyse et comment puis-je le faire en XML?

3.20 Comment puis-je inclure un fichier XML dans un autre?

3.21 Quand dois-je utiliser la section CDATA?

3.22 Comment puis-je traiter le HTML intégré dans mon XML?

3.23 Quels sont les caractères spéciaux en XML?

3.24. Quels autres schémas d'étiquetage existent-ils?

4. Développeurs

4.1 Où est la spécification?

4.2 J'essaie de comprendre les spécifications XML: pourquoi une terminologie si complexe?

4.3 Quels sont ces termes DTDless, valides et bien formés?

4.4 Que dois-je utiliser dans mes DTD / schéma, attributs ou éléments?

4.5 Qu'est-ce qui a changé entre SGML et XML?

4.6 Puis-je utiliser JavaScript, ActiveX, etc. dans des fichiers XML?

4.7 Puis-je utiliser Java pour créer ou gérer des fichiers XML?

4.8 Comment puis-je obtenir un XML dans ou hors de ma base de données?

4.9 Qu'est-ce que l'espace de noms?

4.10 Quel logiciel XML est disponible?

4.11 Le logiciel manque.

4.12 Quelles sont mes informations? DATE ou DOCUMENT?

4.13 Dois-je changer l'un de mes logiciels de serveur auquel je devrais travailler avec XML?

4.14 Puis-je utiliser les inclusions côté serveur?

4.15 Puis-je (et mes auteurs) utiliser toujours les inclusions côté client?

4.16 Pour le gestionnaire / client / investisseur / consultant, je dois rédiger un rapport XML.

De quoi me souviendrais-je?

4.17 Existe-t-il un kit de test de conformité pour les processeurs XML?

4.18 J'ai déjà reçu SGML DTD: comment puis-je les convertir en S XML?

4.19 Comment puis-je inclure une DTD (ou un fragment) dans une autre?

4.20 Comment puis-je inclure une déclaration conditionnelle dans mon XML?

4.21 Quelle est l'histoire de XML et EDI?

5. Annexes

5.1 Références.

5.2 À quelle distance allons-nous?

5.3 Pas de FAQ XML.

5.4 Logiciels XML intégrés.

Section 1: bases

Informations générales sur XML

1.1 Qu'est-ce que XML?

Langage de balisage extensible.

XML est un langage de balisage extensible.

Améliore les fonctionnalités du Web en vous permettant d'identifier vos informations de manière plus précise, flexible et personnalisable.

Il est extensible car ce n'est pas un format solide comme HTML (qui est un, un langage de balisage prédéfini).

Au lieu de cela, XML est une méta-langue - et une langue pour une description d'autres langues - qui vous permet de concevoir des langages de balisage personnalisés pour des types de documents illimités.

XML peut le faire car il est écrit en SGML, un méta-glossaire standard international pour l'étiquetage de documents texte (ISO 8879).

1.2: Qu'est-ce qu'un langage de balisage?

Une façon de décrire ce qui se trouve dans le document.

Le langage de balisage est un ensemble de mots et de symboles pour décrire l' identité ou la fonction des parties individuelles d'un document (par exemple, "c'est un paragraphe", "ceci est un titre", "ceci est une liste", "c'est le titre de ce numéro", etc.).

Les programmes peuvent utiliser l'étiquette de style pour convertir un document sur les formats de sortie, impression, audio, vidéo, Braille ou reprogrammables.

Certaines langues de balisage (en particulier celles utilisées dans les traitements de texte) ne décrivent que les regards («il est en italique», «il est audacieux», «il a un espace de 3 mm ci-dessous», etc.). Ces systèmes ne peuvent être utilisés que à voir.

Il n'est pas facilement réutilisable pour autre chose.

XML est parfois appelé «autorégressif», car le marquage des noms d'étiquettes peut représenter le type de contenu qu'ils contiennent (par exemple, titre, chapitre, lien, etc.).

1.3: Pour quoi XML?

XML est conçu pour l'identification, la transmission et le stockage.

Son objectif est de permettre au SGML générique de servir, de recevoir et de traiter sur le Web d'une manière qui est maintenant possible avec le HTML.

XML a été conçu pour une simple implémentation et une collaboration avec SGML et HTML.

(Bray, Paoli, Sperberg-McQueen, Maler et Yergeau, 2004)

Malgré les premières tentatives, les navigateurs n'ont jamais autorisé d'autres SGML, seulement HTML (bien qu'il y ait des plugins).
Les navigateurs ont également permis (même encourageant) les auteurs d'endommager ou de briser leur HTML pour le rendre «plus facile».

Cela a permis la diffusion du HTML, mais le développement s'est poursuivi pendant plus de dix ans car il n'était pas possible de programmer de manière fiable.

XML déclare qu'il est nécessaire d'adhérer aux règles et de rendre les règles beaucoup plus faciles que SGML.

Mais XML n'est pas seulement pour les sites Web: en fait, il est très rarement utilisé pour les sites Web, car les navigateurs ne fournissent toujours pas de support fiable pour leur mise en forme.

Les utilisations courantes pour XML incluent:

Identification de l'information

Vous pouvez définir votre propre étiquette afin que vous puissiez définir des noms significatifs de tous vos éléments d'information.

Stockage d'informations

Étant donné que XML est portable et non propriétaire, il peut être utilisé pour stocker des informations sur toutes les plates-formes.

Parce qu'il est pris en charge par une norme internationale, il restera accessible et gérable comme format de données.

Structure de l'information

Les structures XML peuvent "nicher" afin qu'elles puissent être utilisées pour stocker et identifier toute information hiérarchique, en particulier des fichiers de fichiers, des fichiers de fichiers complexes ou complexes, ce qui est idéal pour la gestion de la gestion de site web de back-end.

C'est l'une des applications Web les plus courantes avec un système de transformation qui sert de HTML.

éditeurs

L'objectif XML original défini dans le devis au début de cette section.

En combinant les trois thèmes précédents (identité, stockage et structure), vous pouvez obtenir tous les avantages d'une gestion et d'un contrôle des documents robustes (avec XML) et publier sur le Web (en HTML) ainsi que sur du papier (comme PDF) et d'autres formats (comme Braille, Audio, etc.) À partir d'un document source utilisant les modèles de style appropriés.

Messagerie et transmission de données

XML est également très difficile à inclure ou à encapsuler des informations pour transférer entre différents systèmes informatiques qui, autrement, ne seraient pas en mesure de communiquer en raison de leurs propres ou des formats de données secrètes.

En fournissant lingua franca pour l'identité et la structure des données, XML fournit une "enveloppe" commune pour la communication inter-communication (messagerie).

Services Web

Sur la base de ces données et de leur utilisation dans les navigateurs, il est possible de traiter des données pouvant être traitées entre les systèmes consentants où les personnes (HTML) étaient auparavant compréhensibles.

Les services météorologiques, les sites de commerce électronique, les blogs de nouvelles, les sites AJaX et les milliers d'autres services d'échange de données tels que les applications de téléphones intelligents utilisent la gestion et le transfert de données XML et un navigateur ou une application pour la visualisation et l'interaction.

1.4: Qu'est-ce que SGML?

Langage de balisage normalisé standard, ISO 8879: 1986

SGML est un langage de balisage générique standard (ISO 8879: 1986), qui est une norme internationale pour définir une étiquette pour décrire la structure de différents types de documents électroniques.

Il existe des FAQ SGML de David Megginson à http://math.albany.edu:8800/hm/sgml/cts-faq.html;

Et le site Web Robin Cover SGML peut être trouvé à http://www.oasis-open.org/cover/general.html.

Pour un aperçu rapide et une liste de ressources en ligne et imprimées, visitez http://wiht.link/SGML-intro.

Pour un peu de soulagement, essayez Joe English 'Ce n'est pas une FAQ SGML' à http://www.flightlab.com/~joe/sgml/faq-not.txt.

SGML est très large, puissant et complet.

L'usage industriel et commercial difficile depuis près de deux décennies (et est encore à certains endroits) et il existe beaucoup d'expertise et de logiciels qui ont grandi avec la plupart d'entre eux maintenant disponibles pour XML.

XML est une version légèrement déclassée de SGML qui conserve suffisamment de fonctionnalités pour être utile, mais supprime toutes les fonctionnalités facultatives qui ont rendu SGML trop compliqué pour la programmation Web.

1.5: Qu'est-ce que HTML?

HyperText tagging language, RFC 1866, langue du site.

HTML est le langage de balisage HyperText (anciennement RFC 1866, maintenant HTML 4.01), qui a débuté comme une petite application SGML pour le Web, venant de Tim Berners-Lee au CERN en 1989-90.

Il a défini à l'origine une classe très simple de rapports de style document avec des rubriques, des paragraphes, des listes, des tableaux et des illustrations, et quelques éléments d'information, mais très peu d'éléments de présentation (Flynn, 1995) et certains éléments hypertextes et multimédias.

Voir une question sur l'extension HTML.

Les recommandations actuelles du W3C sont XML HTML, XHTML;

Une variation de HTML5 plus mobile et multimédia.

Il existe des questions fréquemment posées sur HTML et XHTML gérées par Steven Pemberton à http://www.w3.org/MarkUp/2004/xhtml-faq

1.6: Que font toutes ces normes?

Tout le monde est compatible avec XML, qui à son tour supporte les autres.

La norme d'origine est le langage de balisage générique standard ISO 8879: 1986. Il s'agit d'une norme ISO, donc il est mondial et international (voir la note ci-dessous).

Le XML lui-même n'est pas une norme ISO: il se peut qu'il ne soit pas (a) le profil d'application SGML activé par "Adaptation WebSGML" (2) selon ISO 8879;

A b) la recommandation du W3C, ce qui signifie qu'elle a été menée dans un processus formel équivalant approximativement à la normalisation.

D'autre part, HTML a la norme de référence ISO ISO / IEC 15445: 2000 (E), mais HTML est un langage de balisage spécifique, l'application SGML et XML actuelle, tandis que XML et SGML sont en fait des méta-langues utilisées pour définir d'autres langages de balisage.

D'autres applications XML, telles que DocBook et TEI, ont leurs propres processus de développement.

DocBook est normalisé par le Doceman Technical Committee of OASIS (Organisation pour le développement des normes d'information structurée);

Les lignes directrices TEI sont régies par l'initiative de codage de texte du Conseil technique TEI.

Le processus de création d'une spécification d'échange de document standard (ce qui est essentiellement ce qu'il est) est long et compliqué.

Ken Holman a rédigé un essai sur la façon dont la procédure de la Commission technique d'OASIS prend en charge un groupe d'entreprises ou des membres de l'industrie dans la création de spécifications de documents commerciaux.

Les normes ISO, telles que SGML, sont régies par l'Organisation internationale de normalisation à Genève, en Suisse, et ont voté ou par leurs représentants de l'organisme national de normalisation de chaque pays.

Si vous avez des questions sur une norme internationale, contactez votre organisme national de normalisation pour le nom du représentant de votre pays dans le comité ou le groupe de travail approprié de l'ISO.

Si vous avez des questions sur la représentation de votre pays à Genève ou sur le comportement de votre organisme national de normalisation, vous devez contacter le service gouvernemental compétent dans votre pays ou contacter votre représentant public.

Représenter les pays dans l'ISO n'est pas une question de ces questions fréquentes.

Ne demandez pas aux éditeurs d'obtenir des informations sur la façon dont les représentants de l'ISO de votre pays ont voté ou voté contre une norme particulière.

1.7: Existe-t-il une version HTML du HTML?

Oui, XHTML du W3C

La recommandation W3C est XHTML, qui est "réécrire HTML 4 en XML 1.0".

Cette spécification définit HTML comme une application XML et fournit trois DTD correspondant à celles définies dans HTML 4. * (Strict, Transitional et Frameset).

La sémantique des éléments et leurs attributs sont définis dans la Recommandation HTML 4 du W3C. Ces sémantiques ont pour but de servir de base à l'extensibilité XHTML future.

La compatibilité avec les navigateurs HTML existants peut être conforme à un petit ensemble de directives (voir W3C).

1.8: Qu'est-ce que HTML5?

Nouveau XHTML pour utilisation dans des environnements interactifs et mobiles.

Si vous souhaitez que XHTML se développe dans des environnements interactifs et portables, W3C a développé une révision HTML5 appelée HTML5 qui ajoute plus de fonctionnalités de présentation, un meilleur support pour les appareils multimédia et mobiles et un modèle de document moins rigide.

Il existe une explication de Elliotte Rusty Harold et WhatWG HTML5 FAQ.

HTML5 en conjonction avec CSS3 est maintenant considéré comme la norme en vigueur pour le développement d'applications Web.

1.9: XML, SGML et HTML ne sont-ils pas les mêmes?

Non, SGML et XML sont des méta-langues.

HTML, XHTML et HTML sont toutes leurs applications.

Pas tout à fait;

SGML est une langue maternelle et est utilisé pour décrire des milliers de différents types de documents dans de nombreux domaines de l'activité humaine, des traductions d'anciens manuscrits irlandais à la documentation technique pour les bombardiers furtifs, des enregistrements médicaux et cliniques à la notation musicale.

SGML, cependant, est très vaste et complexe, et prédomine sur les applications de bureau les plus courantes.

XML est une version abrégée de SGML, facilite l'utilisation sur le Web, définit plus facilement vos propres types de documents et facilite l'écriture des programmes pour les programmeurs.

Il évite toutes les options SGML compliquées et moins utilisées en échange des avantages d'une écriture plus simple d'applications plus faciles à comprendre et plus adaptées à la livraison et à l'interopérabilité sur Internet.

Mais il est toujours basé sur SGML, et les fichiers XML peuvent encore être traités de la même manière que n'importe quel autre fichier SGML (voir la question sur XML).

HTML, XHTML et HTML5 ne sont que les applications XML les plus couramment utilisées sur le Web.

Les techniciens peuvent trouver plus utile de considérer XML comme SGML - plutôt que HTML.

(Ed: Pour ce dernier paragraphe, voir Quelle est la différence entre XML et C ou C ++ ou Java, et comment puis-je exécuter ou exécuter un fichier XML?)

1.10: Qui est responsable de XML?

W3C

XML est une recommandation du World Wide Web Consortium (W3C), et le développement de la spécification est sous la supervision du groupe de travail XML.

Un groupe d'intervenants spécialisés et des experts de différentes régions ont participé à des commentaires et des commentaires par courrier électronique.

XML est un format public: ce n'est pas le développement réel d'une entreprise, bien que les membres de WG et SIG soient des sociétés ainsi que des établissements de recherche et universitaires.

La spécification v1.0 a été acceptée par le W3C en tant que recommandation le 10 février 1998.

1.11: Pourquoi XML est-il un développement important?

Il surmonte l'inflexibilité HTML et la complexité SGML

Supprime deux limitations qui maintiennent le développement web:

  1. La dépendance à l'égard d'un seul type de document inflexible (HTML) qui a été fortement maltraité pour des tâches pour lesquelles il n'a jamais été déterminé;
  2. La complexité du SGML complet, dont la syntaxe permet de nombreuses options puissantes mais peu programmables.

XML permet un développement flexible de types de documents définis par l'utilisateur.

Fournit un format de fichier robuste, non protégé, persistant et vérifiable pour stocker et transférer du texte et des données sur et hors site;

Et il supprime les options SGML plus compliquées, ce qui facilite le programme.

1.12: Pourquoi ne pas continuer à développer HTML?

Le HTML est déjà surchargé avec des plug-ins exclusifs.

HTML a déjà été considéré par des dizaines d'inventions intéressantes mais incompatibles de différents fabricants, car il ne fournit qu'une seule façon de décrire vos informations.

XML permet à des groupes de personnes ou d'organisations de créer leurs propres applications de marquage personnalisées pour échanger des informations dans leur domaine (musique, chimie, électronique, tourisme, finance, surf, géologie de l'huile, linguistique, cuisson, tricot, cartographie étoilée, histoire, ingénierie, , généalogie, etc.).

Le code HTML initialement conçu est maintenant bien au-delà de son utilité pour décrire l'information, et XHTML et HTML5 continueront à jouer un rôle important pour le contenu qu'ils peuvent représenter, de nombreuses nouvelles applications nécessitent une infrastructure plus robuste et plus flexible.

1.13: XML remplace le HTML?

Non .

Non.

Le XML lui-même ne remplace pas le code HTML.

Au lieu de cela, il fournit une alternative qui vous permet de définir votre propre ensemble d'éléments de marquage.

Le HTML devrait rester en usage sur le Web, et les versions HTML (XHTML et HTML5) actuelles sont en syntaxe XML.

XML est conçu pour rendre l'écriture du logiciel de traitement beaucoup plus facile qu'avec SGML, qui est à la base du HTML original.

1.14: Pourquoi devrais-je utiliser XML?

C'est un format robuste, durable, manipulable et gratuit pour identifier, stocker et transférer des informations.

Voici quelques raisons pour utiliser XML (sans ordre particulier).

Tous ne s'appliqueront pas à vos propres besoins et vous pourriez avoir d'autres raisons qui ne figurent pas ici (si c'est le cas, laissez le lecteur de FAQ savoir!).

  • XML peut être utilisé pour décrire et identifier précisément et de manière précise les informations de telle manière que les ordinateurs puissent être programmés pour "comprendre" vos informations (bien, au moins manipuler comme si elles le comprenaient).
  • XML permet de créer et de manipuler des fichiers document du même type de manière cohérente et sans erreurs structurelles car il fournit un moyen normalisé de décrire, gérer ou autoriser / désactiver certains types de structure de document.[Notez qu'il n'a absolument rien à voir avec le formatage, l'apparence ou le texte réel ou le contenu de données de vos documents, juste par leur structure.Pour le style ou le formatage, voir Comment puis-je contrôler le formatage XML?
  • XML fournit un format robuste et durable pour stocker et transférer des informations.Robuste car il est basé sur une norme éprouvée et peut donc être testé et vérifié;Permanent (permanent) car il utilise des formats de fichiers texte simples qui dépassent le binaire propriétaire.
  • XML fournit une syntaxe commune pour les systèmes de messagerie pour échanger des informations entre les applications.Auparavant, chaque système de messagerie avait son propre format et tout était différent, ce qui rendait une messagerie inutilement inconfortable, complexe et coûteuse entre les systèmes.Si tout le monde utilise la même syntaxe, ils écrivent ces systèmes beaucoup plus rapidement et de manière plus fiable.
  • XML est gratuit.Non seulement gratuit (gratuit comme dans la bière), mais sans charges légales (libre comme dans la parole).Il n'appartient à personne, de sorte qu'il ne peut être enlevé ou piraté.Et vous ne devez pas payer de frais pour l'utiliser (bien sûr, vous pouvez utiliser des programmes commerciaux pour y faire face pour de nombreuses raisons, mais vous ne payez pas le XML lui-même).
  • Les informations XML peuvent être manipulées par programmation (sous la commande de la machine), de sorte que les documents XML peuvent être liés à différentes sources ou distribués et réutilisés de différentes façons.Ils peuvent être convertis en tout autre format sans perte d'informations.
  • XML vous permet de séparer le formulaire (look) du contenu.Le fichier XML contient des informations sur le document (texte, données) et identifie sa structure: votre formatage et les autres besoins de traitement sont identifiés séparément dans le style ou dans le système de traitement.Ces deux sont combinés au moment de la sortie pour utiliser le formatage désiré du texte ou des données identifiées par sa structure (emplacement, position, ordre, commande ou quelque chose).
  • Chacun des objectifs de conception énumérés dans la spécification XML.

Peter Flynn écrit:

Pourquoi ne pas utiliser Word ou Notes?

Les formats de données exclusives ne sont pas appropriés pour des informations publiques permanentes.

Les informations de réseau qui combinent différents types d'ordinateurs doivent être applicables à tous.

En particulier, l'information publique ne peut se permettre de se limiter à une marque, à un modèle ou à un fabricant, ou à transférer le contrôle de son format de données à des mains privées.

Il est également utile d'avoir ces informations sous une forme qui peut être réutilisée de différentes façons, car elle minimise le gaspillage de temps et d'efforts.

Les formats de données personnalisés, qu'ils soient documentés ou promus, ne sont tout simplement pas possibles: leur contrôle est encore privé et peut être arbitrairement modifié ou retiré arbitrairement sans préavis.

SGML est une norme internationale pour définir ce type d'application et était donc un choix naturel pour XML, mais ceux qui ont besoin d'une alternative basée sur d'autres logiciels à d'autres fins peuvent implémenter pleinement des services similaires avec un tel système, surtout s'ils sont destinés à un usage privé.

1.15: Où puis-je trouver plus d'informations sur XML?

Ressources en ligne et hors ligne

En ligne, vous pouvez trouver la spécification XML et la documentation supplémentaire disponible auprès du W3C.

Robin Cover XML Cover Pages avec une liste exhaustive de matériel de référence en ligne et des liens vers le logiciel;

Un résumé et de courtes questions de Tim Bray;

Et des milliers de sources de référence disponibles en tapant "xml" dans Google ou dans un autre moteur de recherche.

Découvrez les sources hors ligne dans les livres XML, les articles et les listes XML des pages de couverture XML dans Robin Cover (articles et livres).

Ce site devrait toujours être votre premier port pour les ressources archivées.

Des informations sur l'accès aux professionnels, en particulier dans le domaine du conseil et de la formation, se trouvent dans la Guilde XML, dont les membres forment le consortium de certains des meilleurs consultants indépendants au monde.

Les événements énumérés ci-dessous sont ceux dont j'ai parlé.

Envoyez-moi un courriel si vous rencontrez d'autres: Il existe de nombreux autres événements XML à travers le monde et la plupart d'entre eux sont signalés sur les listes de diffusion et les groupes de discussion.

Actions à venir

XML London

La conférence Web sémantique XML et XML aura lieu à l'Université des sciences, Roberts Building, à Londres, du 10 au 11 juin 2017.

balisage

La Conférence de notification de Balisage est la principale réunion technique, en particulier sur le marquage, y compris XML et TEX: elle se tiendra à Bethesda le 1er août 2017 avec le symposium athénien le 31 juillet.

Conférence des sciences humaines numériques 2017

La Conférence des humanités numériques de 2017 se tiendra à Montréal du 8 au 11 août 2017, où l'Université de McGill et l'Université de Montréal seront l'hôte.

Le thème DH2017 est "Accès".

L'utilisation du marquage XML (TEI) est une partie importante des conférences DH.

DH2018 aura lieu à Mexico où El Colegio de México et l'Université nationale autonome du Mexique (UNAM) organiseront une alliance avec Red de Humanidades Digitales (la date à annoncer).

Conférence TEI

La Conférence TEI de 2017 se tiendra à Victoria, en Colombie-Britannique (il faut encore que les détails soient connus).

XML Summerschool

L'école annuelle Summer XML aura lieu au St Edmund Hall à Oxford du 18 au 22 septembre 2017 avec une présentation de l'après-midi à XML le dimanche 17 mai.

Cet événement hebdomadaire couvre tout, depuis les débutants jusqu'à la publication XML, la transformation XSLT2 et XQuery et l'utilisation de données liées.

XML Amsterdam

XML Amsterdam 2015 a eu lieu le 5 novembre au Center Science Wiskunde & Informatica (CWI) à Amsterdam.

Le prochain XML Amsterdam sera en 2017 (la date sera notifiée).

WWW 2016

Les 25 et 25 avril 2016 ont eu lieu la 25e Conférence internationale sur World Web à l'Université de Québec, à Montréal, au Canada.

TUG 2016

Le TEX Users Group 2016 a eu lieu à Toronto (Canada) du 25 au 27 juillet 2016.

balisage

La conférence Balingage Marking a eu lieu du 2 au 5 août au Théâtre Bethesda.

Conférence TEI

La conférence TEI en 2016 a eu lieu à l'Académie autrichienne des sciences à Vienne, qui a eu lieu du 26 au 30 septembre 2016 au Centre autrichien des sciences humaines numériques.

XML Praha

XML Prague 2017 aura lieu du 9 au 11 février 2017 à l'Université d'économie de Prague.

Les vidéos de hangout précédentes sont disponibles sur leur chaîne YouTube (lien de site).

TUG 2017

TEX Users Group 2017 tiendra une réunion conjointe avec GUST à l'occasion du 25ème anniversaire de BachoTEX, qui se tiendra à Bachotek, en Pologne, du 29 avril au 3 mai 2017. Bien qu'il s'agisse principalement de lancer, de nombreux aspects de LATEX sont Strait est liée à l'utilisation de XML et au traitement de documents structurés.

1.16: Où puis-je discuter de la mise en œuvre et du développement XML?

Sur les listes de diffusion, les groupes de discussion Usenet, les bulletins d'information Web et les canaux IRC

Le support principal du support en ligne est les forums Internet et les listes d'adresses.

Les groupes de discussion Usenet pour XML existent mais sont rarement utilisés maintenant, bien que leur recherche dans Google Groups puisse apporter beaucoup d'informations utiles.

Le réseau IRC est également utilisé dans une certaine mesure, et la plupart des projets individuels et des programmes XML ont leurs propres tableaux d'affichage sur leurs sites Web.

Il existe également un nombre inconnu de pages de forums de questions et de réponses qui peuvent être trouvées à l'aide des moteurs de recherche.

Pour obtenir un support hors ligne, voir Où puis-je trouver plus d'informations sur XML?

Pour plus de détails sur les conférences et les écoles d'été.

  • Le forum Web le plus actif semble être StackOverflow: il semble étrange qu'il n'y ait pas de site XML StackExchange spécial, comme d'autres sujets (tels que LATEX).Le forum XML W3Schools (totalement sans rapport avec W3C) semble également avoir du trafic récent ainsi que DevShed et CodingForums.Google Search augmentera le nombre d'autres utilisateurs ayant des niveaux de trafic plus faibles.
  • Le groupe de discussion principal d'Usenet est comp.text.xml, bien qu'il soit beaucoup moins utilisé qu'auparavant.Demandez à votre FAI d'accéder à Usenet ou utilisez une interface Web telle qu'une archive de recherche gérée par Google.Si votre navigateur ou votre dossier de messagerie ne fournit pas de périphérique de gestion des messages, installez-le ou (mieux) utilisez un compteur de messages distinct.Le groupe de discussion comp.text.sgml n'est plus utilisé pour des raisons pratiques.Les groupes de discussion spécifiques à Microsoft sont en train d'être éliminés en faveur des forums Web organisés par Microsoft lui-même.
  • La discussion publique à des fins générales est XML-L: Pour l'abonnement, visitez le site Web et cliquez sur le lien pour vous joindre.
  • Pour ceux qui développent des composants logiciels pour XML, il existe une liste de diffusion xml-dev.Vous pouvez vous abonner en envoyant un message électronique 1 ligne à xml-dev-request@lists.xml.org avec l'instruction SUBSCRIBE.Veuillez noter que cette liste s'adresse aux personnes qui participent activement au développement de ressources XML.Ce n'est pas une information générale sur XML (utilisez la liste XML-L à cette fin).
  • La liste XSL est destinée à la discussion sur XSL (XSLT et XSL: FO).Pour plus de détails sur la façon de vous abonner, visitez http://www.mulberrytech.com/xsl/xsl-list.
  • Il existe une longue liste d'autres groupes de discussion, de conférences par courrier électronique et de forums sur la page Robin Cover à http://xml.coverpages.org/lists.html.

Andrew Watt écrit:

Il existe une liste de diffusion spécifiquement pour XSL-FO uniquement, chez eGroups.com.

Vous pouvez vous abonner en envoyant un message à XSL-FO-subscribe@egroups.com.

Gardez à l'esprit que la liste XSL-FO dans les groupes Yahoo E-Groups enverra un spam automatisé régulier aux non-membres qui prétendent faussement s'être joints.

Gianni Rubagotti écrit:

Une nouvelle liste italienne de destinataires pour XML est en cours de création: souscrire, envoyer un message électronique sans sujet, mais avec un texte d'alerte XML-IT à majordomo@ananas.usr.dsi.unimi.it.

Tout le monde, italien ou non, qui veut discuter de XML dans notre langue, est le bienvenu.

Gianni publie également une liste des XML XML.

JP Theberge écrit:

Une liste française de destinataires XML a été créée.

Pour vous abonner, envoyez une demande à xml-request@trisome.com.

Murata Makoto écrit:

Indiquez cette liste collective à vos collègues qui utilisent RELAX NG.

Aller à: http://groups.yahoo.com/group/rng -users/.

Listes postales

Lorsque vous liez une liste d'adresses, vous obtiendrez des détails sur l'utilisation.

Lisez la documentation fine car elle contient des informations importantes, en particulier sur ce qu'il faut faire si votre entreprise ou votre FAI modifie votre adresse électronique.

Veuillez noter qu'il existe de nombreuses informations inexactes et trompeuses concernant la connexion et la sortie des listes sur le Web et sur le Web.

Ne demandez pas: lisez la documentation fine.

1.17: Quelle est la différence entre XML et C ou C ++ ou Java?

C et Java sont utilisés pour écrire des programmes;

XML sert à stocker des informations.

C et C ++ (et d'autres langues comme FORTRAN ou Pascal ou Visual Basic ou Java ou des centaines d'autres) sont des langages de programmation qui déterminent les calculs, les actions et les décisions à prendre en ordre:

mod curconfig[if left(date,6) = "01-Apr", 
    t.put "April Fool!", 
    f.put days('31102011','DDMMYYYY') -
          days(sdate,'DDMMYYYY')
    " more shopping days to Samhain"];

XML est le langage de spécification d'étiquetage qui peut vous aider à concevoir des façons de décrire des informations (texte ou données), généralement pour les programmes de stockage, de transmission ou de traitement.

Rien ne parle de ce que vous devriez faire avec les données (bien que votre choix de noms d'éléments puisse indiquer pour quoi ils sont destinés):

<part num="DA42" models="LS AR DF HG KJ" update="2001-11-22">
  <name>Camshaft end bearing retention circlip</name>
  <image drawing="RR98-dh37" type="SVG" x="476" y="226"/>
  <maker xml:id="RQ778">Ringtown Fasteners Ltd</maker>
  <notes>An <tool xml:id="GH25"/>angle-nosed insertion tool</tool> is 
    required for the removal and replacement of this part.</notes>
</part>

Le fichier XML (y compris HTML) ne fait rien.

C'est le format de données qui se trouve ici avant d'exécuter un programme qui fait quelque chose à ce sujet.

Voir aussi comment exécuter ou exécuter des fichiers XML.

XSLT2 et XSL: FO

L'eau est confuse par le fait que les langages de traitement de transformation les plus populaires (XSLT2 et XSL: FO) sont réellement écrits dans la syntaxe XML car ils sont déclaratifs plutôt que procéduraux.

Dans ces cas particuliers, vous pouvez dire que vous exécutez un fichier XML en exécutant une application de traitement telle que Saxon, qui compile les directives spécifiées dans les fichiers dans le bytecode Java pour traiter les documents XML.

Dans ce sens, vous pouvez les comparer avec d'autres langages de programmation, mais vous compareriez les périphériques de langue, et non la syntaxe XML dans laquelle ils sont écrits.

William Hammond écrit:

(Dans <i7ll1362ib.fsf@hilbert.math.albany.edu>)

SGML est une catégorie "type de document" avec une syntaxe partagée configurable, dont la plupart (par exemple, HTML classique) ne peut pas être compilé pour créer des programmes exécutables.

XML est une sous-catégorie SGML avec des contraintes syntaxiques.

Par exemple, en XML, les verbos de type de document sont toujours sensibles à la casse, tandis que SGML peut être sensible à la casse ou minuscule.

Par exemple, le HTML classique est le type de document SGML et XHTML + MathML est un type de document XML.

Bien que certains types de documents correspondent au langage de balisage du document, d'autres types de documents (tels que l'entrée du catalogue CTAN) ne sont que pour les données structurées [...]

Cependant, je doute sérieusement qu'un langage informatique tel que C soit dans un sens raisonnable équivalent au type de document SGML.

Section 2: Utilisateurs existants

(Y compris tous ceux qui utilisent le navigateur)

2.1: Que dois-je faire pour utiliser XML?

Lisez ceci: utilisez un navigateur Web moderne;

Créez-le: utilisez un éditeur XML.

Pour l'utilisateur moyen du site, vous n'avez besoin que d'un navigateur qui fonctionne avec XML (voir la question sur les navigateurs).

Gardez à l'esprit que de nouveaux périphériques liés au XML sont inventés ou implémentés en continu (voir le site Web du W3C), de sorte que certaines fonctionnalités ne fonctionnent peut-être pas dans tous les navigateurs.

Vous pouvez utiliser des navigateurs compatibles XML pour examiner certains des matériaux XML stables, comme les expériences de Jon Bosak et de chimie de marque moléculaire (CML) de Shakespeare.

À l'adresse http://xml.coverpages.org/xml.html#examples, vous trouverez d'autres exemples d'exemples, et vous trouverez XML (en particulier XHTML) qui apparaît dans les endroits où les navigateurs plus anciens ne seront pas corrompus.

Pour commencer avec les préparatifs pour la création de fichiers XML personnalisés, lisez les questions dans la section auteur et la section développeurs, en particulier la question éditeur XML.

2.2: En quoi ressemble XML (à l'intérieur)?

Supports spiky comme HTML

La structure XML de base est similaire à d'autres applications SGML, y compris HTML.

Vous pouvez trouver les dossiers de base dans les exemples suivants.

Le document XML commence avec un Prolog optionnel qui peut avoir deux parties (facultatives):

1. Déclaration XML:

<? xml version = "1.0" encoding = "utf-8"?>

Cela spécifie qu'il s'agit d'un document XML et qu'il utilise le répertoire de caractères UTF-8 (par défaut, d'autres sont disponibles, mais le support n'est autorisé que pour UTF-8);

2. Déclaration de type de document lors de l'utilisation de DTD:

<!DOCTYPE report SYSTEM "http://sales.acme.corp/dtds/salesrep.dtd">

qui identifie le type de document (ici "rapport") et indique où est stocké le type de description du document (DTD);

Prolog est suivi d' une instance de document :

  1. L'élément racine , qui est l'élément du plus haut niveau (marque de départ plus la marque de fin) qui entoure tout le reste: dans les exemples ci-dessous, les éléments racine sont la conversation et l'en-tête;
  2. Mélange structuré d' éléments descriptifs ou prescrits qui contiennent le contenu des caractères (texte) et éventuellement tous les attributs ('nom =' valeur '' paire) dans certaines marques de début.

Les documents XML peuvent être très simples, avec une inscription directe de votre propre design:

<?xml version="1.0" standalone="yes"?>
<conversation>
  <greeting>Hello, world!</greeting>
  <response>Stop the planet, I want to get off!</response>
</conversation>

Ou ils peuvent être plus compliqués avec un schéma ou une DTD et éventuellement un sous-ensemble interne (la DTD locale change en [crochets] dans la déclaration de type de document en ENTITE ci-dessous);

Et de toute structure ancrée complexe:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE titlepage 
  SYSTEM "http://www.foo.bar/dtds/typo.dtd" 
[<!ENTITY % active.links "INCLUDE">]>
<titlepage xml:id="BG12273624">
  <white-space type="vertical" amount="36"/>
  <title font="Baskerville" alignment="centered" 
   size="24/30">Hello, world!</title>
  <white-space type="vertical" amount="12"/>
	  <!-- In some copies the following 
           decoration is hand-colored, presumably 
           by the author -->
  <image location="http://www.foo.bar/fleuron.eps" 
   type="URI" alignment="centered"/>
  <white-space type="vertical" amount="24"/>
  <author font="Baskerville" size="18/22" 
   style="italic">Vitam capias</author>
  <white-space type="vertical" role="filler"/>
</titlepage>

Ou ils peuvent être n'importe où entre: beaucoup dépendra de la façon dont vous souhaitez définir le type de document (ou ce que vous utilisez) et pour quoi il sera utilisé.

La base de données ou les documents XML générés par programme utilisés dans le commerce électronique sont généralement non formatés car ils sont destinés à l'utilisation de la machine plutôt que la lecture humaine et peuvent utiliser des titres ou des valeurs très longs avec une redondance multiple et parfois aucun contenu de données de caractère, seules les valeurs dans les attributs:

<?xml version="1.0"?>
<ORDER-UPDATE AUTHMD5="4baf7d7cff5faa3ce67acf66ccda8248"
 ORDER-UPDATE-ISSUE="193E22C2-EAF3-11D9-9736-CAFC705A30B3"
 ORDER-UPDATE-DATE="2005-07-01T15:34:22.46"
 ORDER-UPDATE-DESTINATION="6B197E02-EAF3-11D9-85D5-997710D9978F"
 ORDER-UPDATE-ORDERNO="8316ADEA-EAF3-11D9-9955-D289ECBC99F3">
  <ORDER-UPDATE-DELTA-MODIFICATION-DETAIL ORDER-UPDATE-XML:ID="BAC352437484">
    <ORDER-UPDATE-DELTA-MODIFICATION-VALUE ORDER-UPDATE-ITEM="56"
     ORDER-UPDATE-QUANTITY="2000"/>
  </ORDER-UPDATE-DELTA-MODIFICATION-DETAIL>
</ORDER-UPDATE>

2.3 Devrais-je utiliser XML au lieu de HTML

XML permet aux auteurs et aux éditeurs de créer leur propre étiquette de documents au lieu de limiter le HTML.

Les types de documents peuvent être explicitement adaptés à l'application, les engins lourds et les poodlefaking qui doivent être faits en utilisant le code HTML deviennent une chose du passé: le marquage peut toujours vous indiquer ce que cela signifie.

Exemple triviale:

<date AAAA-MM-JJ = "2005-12-26"> lundi dernier </ date>

  • Le contenu d'information peut être plus riche et plus facile à utiliser, car les capacités de liaison descriptive et hypertexte de XML sont beaucoup plus importantes que celles disponibles en HTML.
  • XML peut fournir plus et de meilleurs équipements pour la présentation et les performances du navigateur à l'aide des styles XSLT et CSS;
  • Il supprime beaucoup de SGML HTML de base (qui a conduit à les ignorer et à les briser) en faveur d'un modèle plus flexible, donc écrire les programmes de traitement XML est beaucoup plus facile que faire pour tous les anciens HTML cassés.
  • L'information devient plus accessible et réutilisable car un marquage XML plus souple peut être utilisé par n'importe quel logiciel XML au lieu d'être restreint à des fabricants spécifiques, comme cela s'est produit dans HTML.
  • Les fichiers XML peuvent également être utilisés en dehors du Web dans des environnements de traitement de documents existants (par exemple, la publication).

Si votre information est transitoire ou totalement statique et non référencée ou très courte et simple et n'a probablement pas besoin d'être mise à jour, le HTML peut être tout ce dont vous avez besoin.

2.4: Quelqu'un m'a envoyé un fichier XML.

Comment le lire?

Ouvrez-le au format XML ou XML editor.

Si le fichier est correctement créé ou valide, vous pouvez facilement l'ouvrir dans n'importe quel navigateur compatible XML (voir Que faire pour utiliser XML et Où puis-je obtenir une visionneuse XML?).

Une vue non formatée apparaît, affichant toutes les étiquettes dans un format qui vous permet de plier ou d'élargir une hiérarchie imbriquée (cliquez sur les petits symboles plus et moins) qui vous permettra de lire au moins quelque chose.

Si le fichier contient un lien vers un modèle de style XSLT ou CSS (et le style est fourni ou est disponible sur le Web), le navigateur doit formater le fichier de manière lisible (mais attention, le formatage dans le navigateur n'est pas robuste).

Pour modifier le fichier, vous avez besoin d'un éditeur XML (voir l'éditeur XML).

Si vous n'êtes pas hautement qualifié avec un marqueur de pointage, n'essayez pas d'éditer des fichiers XML avec des éditeurs non XML.

2.5: Comment puis-je contrôler le formatage XML?

Utilisez la feuille de style CSS ou XSLT2.

En HTML, le style par défaut a été intégré dans les navigateurs car la balise HTML était prédéfinie et étroitement attachée aux navigateurs.

Cela s'applique également à XHTML et HTML5 dans une certaine mesure.

Dans un autre langage XML où vous pouvez définir vos propres balises, les navigateurs ne peuvent pas prévoir ou connaître les noms que vous utiliserez et ce qu'ils veulent dire, vous avez donc besoin du style pour afficher le texte formaté.

Les lecteurs XML accepteront et utiliseront le style de modèles CSS au minimum, mais vous pouvez également utiliser une feuille de style XSLT plus forte pour transformer XML en HTML - que les navigateurs savent déjà afficher (et que HTML peut toujours utiliser le modèle de style CSS) .

De cette façon, vous obtenez tous les avantages de la gestion des documents à l'aide de XML, mais ne vous inquiétez pas que vos lecteurs aient besoin de intelligences XML dans leur navigateur.

Cette transformation se fait habituellement sur le serveur du propriétaire, donc vous laissez juste le code HTML, probablement sans savoir qu'il était à l'origine XML.

Dans certains navigateurs, cependant, il est également possible d'utiliser un transformateur intégré (assez limité) XSLT 1.0, et les opérateurs de serveurs peuvent maintenant utiliser Saxon CE, une version téléchargeable de XSLT2 dans le navigateur.

Mike Brown écrit:

XSLT est un langage de traitement de document XML qui utilise le code source qui est écrit en XML.

Le document XSLT déclare un fichier de stratégie XSLT utilisé pour interpréter le contenu d'un document XML.

Cette politique indique au processeur XSLT comment générer une nouvelle structure de données de type XML et comment publier des données - en tant que document XML, en tant que document HTML en tant que texte brut ou dans un autre format.

Cette transformation peut se faire soit dans le navigateur ou sur le serveur avant de télécharger le fichier.

La transformation dans le navigateur supprime le traitement du serveur, mais elle peut introduire la dépendance du navigateur, ce qui entraîne l'exclusion de certains de vos lecteurs.

La transformation dans le serveur provoque l'indépendance du processus avec le navigateur, mais le serveur a un fardeau de traitement plus lourd.

Comme pour tout système où les fichiers peuvent être visualisés de façon aléatoire par un utilisateur, l'auteur ne peut pas savoir quelles ressources (telles que les polices) sont dans le système de l'utilisateur, de sorte que le même soin est nécessaire lorsque vous utilisez le HTML.

Pour exécuter le style d'un fichier XML vers un navigateur autonome, incluez l'une des déclarations de la feuille de style:

<? xml-stylesheet href = "foo.xsl" type = "text / xsl"?>

<? xml-stylesheet href = "foo.css" type = "text / css"?>

(Bien sûr, il remplace le style URI).

Pour plus d'informations, visitez http://www.w3.org/TR/xml-stylesheet/.

La spécification de modèle en cascade (CSS) fournit une syntaxe simple pour l'attribution de style d'élément et a été implémentée dans la plupart des navigateurs.

Dave Pawson tient des questions complexes sur XSL à http://www.dpawson.co.uk/xsl/ et son livre (Pawson, 2002) [Fox Book] est disponible chez O'Reilly.

XSL utilise la syntaxe XML (le modèle de modèle XSL est uniquement XML) et bénéficie d'un large soutien de plusieurs grands fournisseurs de navigateurs (voir les questions sur le navigateur et d'autres logiciels).

XSL se présente de deux façons:

  • XSL lui-même est une langue de mise en forme purement créative qui crée un fichier d'objets formatés (FO) qui nécessite un formatateur de texte tel que FOP, XEP ou d'autres pour créer une sortie PDF (mais voir Alternatives à XSL: FO).Je ne suis actuellement pas au courant de tous les navigateurs Web qui prennent en charge le rendu XSL direct vers PDF.
  • XSLT (T for Transformation), une langue qui spécifie la transformation XML to HTML soit dans le navigateur, soit sur le serveur de pré-transfert.Il peut également spécifier des transformations d'un dictionnaire XML vers un autre et de XML vers un texte ordinaire (qui peut être n'importe quel format, y compris RTF et LATEX).

Toutes les versions actuelles de Microsoft Internet Explorer, Firefox, Chrome, Mozilla, Safari et Opera contrôlent XSLT 1.0 dans le navigateur.

Méfiez-vous des navigateurs obsolètes comme MSIE5.5 qui ont besoin d'une opération de post-installation pour supprimer WD-xsl de longue date et le remplacer par votre processeur XSL-Transform actuel.

WYSIWYG pour XSL

Ils ont tenté de créer des modèles pseudo-WYSIWYG pour créer des modèles de style XSL [T], mais se limitant principalement à un mappage simple entre les éléments d'entrée et les éléments de sortie (par exemple, DocBook para to HTML p).

Il semble que quelque chose au-delà de cela est susceptible d'échouer en raison de la complexité infinie de ce que les gens veulent faire avec leurs informations.

Si vous avez accès à la base de données ACM, regardez le document de Pietriga, Vion-Dury et Quinta à VXT à partir des procès-verbaux ACM DocEng'01 (Atlanta).

Générer du HTML sur le serveur

Il existe une utilisation croissante des processeurs côté serveur tels que Cocoon et d'autres qui vous permettent de créer, stocker et gérer vos informations en XML, mais de convertir automatiquement en HTML ou autre format pour vous permettre d'utiliser n'importe quel navigateur.

XSLT est également largement utilisé pour transformer XML en formats non SGML pour accéder à d'autres systèmes (par exemple, pour transformer XML en LATEX pour la diffusion).

Alternatives à XSL: FO

Au lieu de créer des fichiers PDF à l'aide du processeur FO, il est possible d'utiliser XSLT2 pour transformer XML en LATEX pour charger des fichiers PDF (comme c'est le cas pour la version imprimée de cette FAQ DocBook sur LATEX).

Cela a l'avantage qu'il est possible d'utiliser une grande bibliothèque de modules de format LATEX prescrits ("paquets") qui empêchent de grandes parties de la découverte de la roue actuellement requise pour XSL: FO.

Alternativement, xmltex David Carlisle lit XML directement et offre plus de fonctionnalité s'il s'agit d'une solution expérimentale pour le rendu XML.

Une utilisation du système TEX qui peut taper des fichiers XML est en tant que processeur backend pour XSL: FO, sérialisé en tant que XML.

PassiveTEX de Sebastian Rahtz utilise xmltex pour atteindre cet objectif.

Les FAQ TEX sont à http://www.tex.ac.uk/faq.

Silmaril conserve une version en ligne de LATEX de Peter Flynn, Formatting Information, qui contient plusieurs exemples de conversion XSLT2 (Flynn, 2014).

Les systèmes SGML ont utilisé un mécanisme de modèle similaire: certains d'entre eux étaient FOSI (spécification de spécification d'instance formatée) qui était standard dans les applications de défense et d'ingénierie industrielle, principalement en utilisant l'éditeur Arbortext (Adept, puis Epic, probablement une autre semaine);

Modèle de style DynaText / DynaWeb utilisé pour la publication de SGML sur le Web;

Et le style modèle Synex utilisé dans les navigateurs Synex (tels que Panorama, dont la feuille de style a été partiellement téléchargée dans XMetaL), que les experts en conception conservent dans DocZilla.

2.6: Où puis-je obtenir un visualiseur XML?

Tous les navigateurs modernes prennent en charge XML

L'état actuel du support XML XML développé (le 1er août 2014):

  • Les versions actuelles de Microsoft Internet Explorer, Firefox, Safari, Chrome, Mozilla et Opera semblent être compatibles avec XML avec des styles CSS et / ou XSLT 1.0.L'éditeur souhaiterait de plus amples informations et des réparations.
  • N'utilisez pas Netscape (aucune version), Internet Explorer 6 ou antérieure, ou des versions antérieures de Mozilla pour prendre en charge XML: elles ne l'ont pas ou ont été désespérément cassées.Mettez à jour dès que possible sur un navigateur moderne.

Le reste de cette liste n'a qu'une signification historique.

  • Microsoft Internet Explorer 5.0 et 5.5 traités XML, il le gère de manière standard en utilisant le style de modèle intégré qui est écrit dans XSLT précédemment XSLT, qui est obsolète, spécifique à Microsoft (peut ne pas être confondue avec le XSLT réel).La sortie du modèle de modèle est DHTML qui, lorsqu'il est rendu dans le navigateur, montre une version de surbrillance de syntaxe de couleur d'un document XML avec des vues articulées.Si le document XML se réfère à une feuille de style, ce style est utilisé dans les limites de la mise en œuvre MSIE incomplète de CSS.MSIE 5.0 et 5.5 peuvent également utiliser des styles dans une autre syntaxe obsolète appelée WD-xsl, ce qui devrait être évité.Ces versions peuvent être mises à niveau pour prendre en charge le format XSLT actuel: voir les questions fréquemment posées sur MSXML.MSIE 6.0 et versions ultérieures utilisent true XSLT 1.0 mais peuvent utiliser les deux syntaxes obsolètes.
  • Mozilla Firefox 0.9, Netscape 6 et 7 (aucun de Netscape 5) et Galeon ont tous un support XML complet avec XSLT et CSS.En général, Firefox est plus robuste que MSIE et offre une meilleure conformité aux normes.J'ai un rapport d'utilisateur que Netscape 4.6 et 4.8 supporte XML mais pas d'authentification indépendante.
  • Les auteurs de l'ancien navigateur SGML dans MultiDoc Pro, CITEC (dont le moteur a été utilisé dans Panorama et d'autres navigateurs) ont fait équipe avec Mozilla pour créer un navigateur DocZilla qui lit HTML, XML et SGML avec des styles XSLT et CSS.Cela a fonctionné sous Windows et Linux et était 1.0 au moment où il était inaccessible.Ce fut de loin le projet de navigateur le plus ambitieux et a été soutenu par une expérience de manipulation de balisage très solide.

J'ai moins d'informations sur les fonctionnalités Safari XML pour Mac OS X, qui est basé sur le moteur KHTML utilisé dans Konquerore.

Le Konqueror lui-même ne semble pas supporter XML ni XSLT (au moins dans KDE sous Fedora Core, par exemple), mais Safari 1.3.2 (v312.6) sous OS 10.3 a fourni un support XML partiel mais n'a pas respecté la DTD externe Modifiée par un sous-ensemble interne (grâce à John Hayney pour les tests).

Mike Brown écrit:

Le terme "navigation" est principalement le résultat de HTML, qui a la sémantique qu'il fait.

Dans le document HTML, il existe des parties du texte appelé ancre qui sont "liées" à d'autres documents qui peuvent se trouver dans des sites distants sur le réseau ou dans le système de fichiers.

Les documents HTML fournissent un navigateur Web pour savoir comment afficher le document et les comportements attendus du navigateur lorsque l'utilisateur interagit avec lui.

La spécification HTML fournit de nombreuses suggestions et exigences pour le navigateur et fournit des significations spécifiques pour de nombreux exemples de marquage différents, comme le fait que l'élément <img> se réfère à une image qui doit être chargée par le navigateur et rendue avec le texte adjacent.

Contrairement au HTML, XML n'a pas du tout sa propre sémantique.

Il n'existe aucune méthode prescrite pour rendre les documents XML.

Par conséquent, ce que signifie «voir» XML peut être interprété.

Par exemple, un document XML décrivant les caractéristiques de la partie machine ne contient aucune information sur la manière dont ces informations doivent être présentées à l'utilisateur.

L'application sert à utiliser les données pour créer une image de pièce, générer une déclaration textuelle textuelle, afficher le marquage d'un document XML avec un schéma de couleurs agréable ou restructurer les données dans un format de sauvegarde de base de données, de réseau ou d'entrée-à-autre.

Cependant, malgré le fait que les documents XML sont des fichiers de données purement descriptifs, ils peuvent être «navigués» dans un sens en les rendant avec des styles.

Le modèle de style est un document autonome qui fournit des conseils et des algorithmes pour le rendu ou la transformation de données dans un document XML.

Les utilisateurs HTML peuvent être familiers avec les styles en cascade (CSS).

Le langage de modèle de style CSS est générique et assez puissant pour être utilisé sur des documents XML, même s'il est orienté vers le rendu visuel d'un document et ne permet pas un traitement complet des documents.

En attribuant un document XML au style de modèle CSS, il est possible de charger un document XML dans un navigateur Web connu sous CSS, et le navigateur peut être en mesure de fournir une sorte de rendu même si le navigateur ne connaît pas non plus comment lire et traiter des documents XML.

Cependant, tous les navigateurs Web ne chargent pas correctement le document XML et n'ont pas besoin de reconnaître la balise XML qui associe le document de style de modèle, de sorte qu'il ne peut pas supposer que les documents XML ne peuvent être ouverts que dans tous les navigateurs Web.

La feuille de style de style de langue plus complexe et puissante est XSLT, une partie de la transformation du langage Stylesheet Extensible qui peut être utilisée pour transformer XML en d'autres formats, y compris HTML, autres XML et texte brut.

Si le résultat de cette transformation HTML peut être affiché dans un navigateur Web comme un autre document HTML.

Le degré de support pour XML et styles dans les navigateurs Web varie considérablement.

Bien que la récupération et le rendu XML dans un navigateur soit possible dans certains cas, il n'est généralement pas pris en charge.

C'est pourquoi de nombreux contenus XML sur le Web sont traduits en HTML sur les serveurs.

Ce HTML généré est livré aux navigateurs.

La plupart des sites Web de Microsoft, par exemple, existent comme XML qui se transforme en HTML en temps d'exécution.

Le navigateur ne connaît jamais la différence.

Voir aussi les notes de création et les notes XML du développeur et une liste XML plus détaillée sur le site Web SGML à http://xml.coverpages.org/.

2.7: Comment puis-je exécuter ou exécuter un fichier XML?

Ce n'est pas une question significative.

XML est un format de données, pas un langage de programmation.

Vous ne pouvez pas et ne le faites pas.

XML lui-même n'est pas un langage de programmation, donc les documents XML normaux ne sont pas "exécutés" ou "exécutés".

XML est la langue de la spécification de l'étiquette, et les fichiers XML ne sont que des données: ils sont assis là jusqu'à ce que vous exécutez ou que vous travaillez avec un programme qui les affiche (comme un navigateur) (tel qu'un convertisseur qui écrit des données dans un format ou une base de données différente qui lit des données) (en tant que rédacteur en chef).

Pour afficher ou afficher un fichier XML, ouvrez-le avec un éditeur XML ou un visualiseur XML.

XSLT2 et XSL: FO

L'eau est confuse par le fait que les langages de traitement de transformation les plus populaires (XSLT2 et XSL: FO) sont réellement écrits dans la syntaxe XML car ils sont déclaratifs plutôt que procéduraux.

Dans ces cas particuliers, vous pouvez dire que vous exécutez un fichier XML en exécutant une application de traitement telle que Saxon, qui compile les directives spécifiées dans les fichiers dans le bytecode Java pour traiter les documents XML.

Dans ce sens, vous pouvez les comparer avec d'autres langages de programmation, mais vous compareriez les périphériques de langue, et non la syntaxe XML dans laquelle ils sont écrits.

2.8: Dois-je passer de SGML ou HTML à XML?

Non, si vous ne le faites pas

Non, le logiciel d'application HTML existant continuera à fonctionner avec les fichiers existants.

Maintenant, il y a très peu de SGML sur la gauche, mais ce qu'il va continuer à fonctionner avec son logiciel existant.

Mais comme pour tout périphérique amélioré, vous devrez utiliser un logiciel compatible XML pour afficher ou télécharger et utiliser des fichiers XML.

Beaucoup plus a été développé pour XML que pour SGML, donc presque tous les efforts actuels se concentrent sur XML (et XHTML et HTML5).

2.9: Puis-je utiliser XML pour les applications bureautiques régulières?

Oui, utilisez MS Office, Libre Office, Open Office, WordPerfect ou autre.

Oui, la plupart des paquets de productivité de bureau font déjà cela et stockent leurs documents avec des styles, des images, etc.

À ZIP:

  • Libre Office, OpenOffice et NeoOffice (Mac) ont sauvegardé leurs fichiers au format XML pendant plusieurs années (fichiers .odt, .ods et .odp sont tous des fichiers ZIP).Les paquetages sont essentiellement des variantes des implémentations OpenOffice et contiennent tous un traitement de texte, une feuille de calcul, un logiciel de présentation et un programme de dessin vectoriel et partagent les schémas connexes.Le format officiel du document (ODF) était la première norme internationale officielle (ISO / CEI 26300) pour les documents de bureau.Tout le monde peut lire et écrire des fichiers Microsoft Office.
  • WordPerfect de Corel de la société est livré avec un éditeur XML complet depuis de nombreuses années (ce qui en fait aussi plein de SGML).La sortie formatée peut être enregistrée en tant que fichier .doc dans Microsoft Word, mais elle utilise la technologie des styles exclusifs, mais pas XSLT2 ou CSS, pour le formatage du document.Il peut également enregistrer son propre format de document (WordPerfect) dans une représentation XML.
  • Le traitement de texte AbiWord (toutes les plates-formes) peut ouvrir et éditer des documents Word et OpenOffice, mais peut également les stocker dans DocBook XML ou même au format LATEX (bien qu'il ne fournisse pas d'édition XML natif), ce qui en fait un excellent convertisseur.
  • Microsoft Office 2003 a fourni un fichier "Enregistrer sous ... XML" dans toutes les parties du package, à l'exception de PowerPoint qui utilise WordML pour afficher l'apparence visuelle d'un document, bien qu'il conserve des noms de style lorsqu'il est utilisé.Office 2007, 2010 et plus tard, tout le monde enregistre en natif des documents XML (.docx, .xlsx et .pptx, qui sont des fichiers ZIP).Ils utilisent Office Open XML (OOXML, similaire mais pas lié à WordML), qui est Microsoft équivalent à ODF.Il s'agit d'une norme ISO parallèle.Word 2003 est livré avec un véritable éditeur XML et prend en charge d'autres schémas W3C ainsi que des DTD personnalisés (mais pas DTD), et fournit également une méthode pour lier des styles de style avec Word (comme le produit Microsoft antérieur pour l'auteur SGML pour Word).
  • Évitez Microsoft Works car il est incompatible avec XML et tous les autres logiciels Office.
  • Je n'ai aucune information sur les produits Lotus Office.

Pour plus d'informations, reportez-vous à la section «Formats de fichier XML pour les documents Office» sur les pages de démarrage XML qui décrivent brièvement et indiquent plus d'informations sur: Office GNOME, KOffice, Microsoft XDocs, OASIS TC pour Open Office XML File Formats, Project 1DOK.org , Et le format de fichier XML OpenOffice.org.

Section 3: Auteurs

(Y compris les auteurs HTML et les éditeurs)

3.1: Dois-je connaître HTML ou SGML avant de connaître le XML?

Non, mais c'est utile.

Vous n'avez pas besoin de connaissances préliminaires, mais il est utile car de nombreux concepts, terminologie et pratiques XML proviennent de deux décennies d'expérience avec SGML (et les systèmes qui l'ont précédé).

Notez que "la connaissance du HTML" n'est pas la même que "SGML Understanding".

Bien que HTML ait été écrit en tant qu'application SGML, les navigateurs ignorent la plupart d'entre eux (c'est pourquoi tant de choses utiles ne fonctionnent pas), donc juste parce que quelque chose dans les navigateurs HTML est faux ne signifie pas qu'il s'agisse de SGML ou XML.

Dans la plupart des cas, vous n'avez besoin d'aucune connaissance sur SGML ou HTML: uniquement si vous souhaitez entrer dans la conception du type de document.

3.2: Comment les documents XML fonctionnent-ils en espace ouvert?

Parser gardera tout cela.

Cela dépend uniquement des demandes de décider quoi faire avec elle.

Tous les espaces blancs, y compris les déchetteries (Mac CR, Win CR / LF, Unix LF), les caractères TAB et les espaces normaux, même entre les éléments "structurels" où aucun texte ne peut apparaître, navigateur, formateur, navigateur, convertisseur, etc.) .

L'analyseur identifie le contexte dans lequel l'espace blanc (contenu, contenu ou contenu du contenu mixte) a été trouvé si cette information est disponible, par exemple, à partir d'une DTD ou d'un schéma.

Cela signifie qu'il incombe à l'application de décider quoi faire avec cet espace, et non l'analyseur.

C'est l'un des rares changements vraiment radicaux de SGML, où l'ensemble de l'espace blanc dans le contenu des éléments a été rejeté par l'analyseur avant de se rapprocher de l'application.

Voyez pourquoi?

Voici pourquoi.

Il existe deux types d'espace blanc:

  • L'espace blanc insignifiant ( espace blanc rejeté) qui se produit entre les éléments structurels dans le contenu des éléments.C'est un espace qui se produit où seuls les autres éléments où le texte ne se produit jamais sont autorisés.Il est généralement inséré automatiquement dans l'éditeur ou manuellement par l'auteur pour vous aider avec la clarté visuelle de l'étiquette et n'a souvent rien à voir avec les espaces qui apparaissent lorsque vous traitez ou formatez un document.En XML, cet espace est transféré à l'application (dans SGML supprimé, c'est pourquoi vous pouvez mettre tout l'espace supplémentaire dans les anciens documents HTML et vous ne devez pas vous en soucier);
  • Espace blanc important qui se produit à l'intérieur d'éléments pouvant contenir uniquement du texte (contenu contenu des données, tel que le titre du titreHTML), ou des textes et des étiquettes mixtes (par exemple, des paragraphes).En XML, cet espace sera toujours transféré à l'application exactement comme dans SGML.

Dans les deux cas, la demande est responsable de la bonne manipulation de l'espace (XSLT2, par exemple, fournit une instruction en espace de bande

qui spécifie comment travailler avec elle).

L'analyseur doit donc avertir l'application qu'il existe un espace blanc dans le contenu de l'élément s'il peut être jugé rejeté.

(Les utilisateurs de SGML reconnaissent que cette information n'est pas dans ESIS mais se trouve à Grove.)

<chapter> 
  <title> 
   My title for
   Chapter 1. 
  </title> 
    <para> 
text 
    </para> 
</chapter>

Dans l'exemple ci-dessus, l'application recevra tous les files d'attente, les TAB et les espaces entre les éléments ainsi que ceux intégrés au titre du chapitre.

La fonction de l'application, et non l'analyseur, est de décider quel type d'espace doit être jeté et être conservé.

De nombreuses applications XML ont des options configurables qui permettent aux programmeurs ou aux utilisateurs de contrôler comment gérer un tel espace blanc.

Peter Flynn écrit:

Pourquoi?

Dans SGML, DTD est toujours nécessaire.

Par conséquent, l'analyseur sait toujours à l'avance s'il existe un espace blanc dans le contenu des éléments (et peut donc être jeté), ou dans un contenu ou des caractéristiques mixtes (où il doit être conservé).

XML permet de traiter sans DTD ou un schéma où il ne serait pas possible de dire si l'espace serait ou non mis au rebut, donc c'était une règle générale selon laquelle tous les espaces vides doivent être signalés à l'application.

3.3: Quelles parties du document XML sont sensibles à la casse?

Tout, la marque et le texte.

Tout le document XML est sensible à la casse.

Ceci est significativement différent du HTML et de la plupart des autres applications SGML où la valeur par défaut a été ignorée.

Cela a été fait pour permettre le marquage dans les langues non latines et éviter les problèmes liés à l'utilisation de systèmes de dépistage non inversés.

Les noms de type d'élément sont sensibles à la casse: vous devez les suivre avec n'importe quelle combinaison de majuscules ou minuscules que vous utilisez pour les définir (soit par une première utilisation, soit par DTD ou schéma).

Donc, vous ne pouvez pas dire <BODY> ... </ body> : les majuscules et minuscules doivent correspondre;

Ainsi, <Img /> , <IMG /> et <img /> sont trois types d'éléments différents;

Pour des documents XML bien formés sans DTD, la première apparition du nom de type d'élément définit le couvercle;

Les noms d'attributs sont également sensibles à la casse, par exemple deux attributs de largeur dans <PIC width = "7in" /> et <PIC WIDTH = "6in" /> (si présent dans le même fichier) ;

Les valeurs des attributs se distinguent également entre majuscules et minuscules.

Les valeurs CDATA (par exemple, xlink: href = "MyFile.SGML" ) ont toujours été, mais NAME (attributs ID et IDREF et attributs de listes de token) sont maintenant également sensibles à la casse;

Tous les noms génériques de noms et de paramètres (par exemple, & Aacute; ) et votre contenu de données (texte) sont sensibles à la casse, comme toujours.

3.4: Comment puis-je convertir mes informations en XML?

Tapez ou utilisez un convertisseur dans une langue qui comprend XML

Si le format du fichier source possède une structure cohérente et reconnaissable, même une simple rupture ou espacement de ligne, il est généralement possible de taper des routines correspondant au motif dans de nombreuses langues pour isoler les informations qui entrent dans de tels modèles et les imprimer à l'aide des balises qui les entourent.

XSLT2 a une syntaxe correspondant au motif pour effectuer exactement ce type de conversion ascendante, et d'autres processeurs comme Omnimark offrent des fonctionnalités similaires.

De telles conversions peuvent également créer un format "demi" temporaire pour lequel la deuxième conversion est utilisée pour créer le format XML final.

Si les fichiers sources sont dans un format connu (par exemple, CSV), il existe des téléchargements existants ou des routines d'achat qui peuvent créer un format XML.

La deuxième conversion XML-to-XML peut être utilisée pour créer le format final souhaité.

Les systèmes de gestion de base de données peuvent avoir des routines "export-to-XML" intégrées qui peuvent créer un format "demi" similaire pour une conversion ultérieure (voir exemple Comment puis-je obtenir un XML dans ou hors de ma base de données?).

Si l'information est totalement non formatée ou si le formatage est tellement grave ou incohérent que la conversion automatique n'est pas possible, vous devrez l'éditer manuellement au format XML.

Les documents de traitement de texte sont un exemple classique de ceci.

Il existe des entreprises spécialisées dans ce genre de travail, en particulier dans le Pacifique, qui ont une longue expérience du commerce avec toutes sortes de formats étranges et géniaux et vous envoient un XML à part entière.

Deux formats sont souvent requis car les sources sont mieux supportées:

latex

Les documents LATEX créés correctement (ceux qui n'utilisent pas les macros homebrew, en particulier ceux qui utilisent des commandes TEX simples ou obsolètes) peuvent être convertis à l'aide du paquet TEX4ht.

Au moment de l'écriture (2015), il n'est pas soutenu par le décès précoce de son auteur mais est entièrement fonctionnel.

TEX4ht peut convertir en HTML et ODF (format OpenOffice) de diverses manières, de sorte que le fichier résultant puisse être facilement ouvert dans OpenOffice et enregistré sous la forme d'un fichier .docx.

Il existe des options de ligne de commande pour le programme oowriter (ou lowriter si vous utilisez Libre Office) qui permettent une conversion de masse dans le fichier.

D'autres appareils sont disponibles dans certains éditeurs et services en ligne (tels que des blogs et des forums qui prennent en charge les formats LATEX sur les sites Web).

Ils peuvent également être utilisés pour la conversion.

Microsoft Word

Les fichiers Word (.docx) sont des fichiers Zip contenant des documents XML ainsi que des images et des styles associés.

Les documents Word contiennent normalement uniquement des paragraphes (w: éléments p).

Toutes les métadonnées de la structure du document sont fournies sous la forme d'une police et d'informations d'espacement que seule une personne peut interpréter de manière fiable, ce qui rend difficile une conversion significative.

Cependant, si des styles sont utilisés (à partir de menus de style intégrés ou créés par l'auteur), ils peuvent être utilisés pour écrire un script XSLT2 qui leur convient et générer une balise XML plus utilisable.

Certains éditeurs (tels que XMLMind, AbiWord) et d'autres systèmes offrent maintenant la conversion Word au format purement visuel (HTML), imitant l'apparence de l'original et un dictionnaire "sémantique" comme DocBook ou DITA sans mise en forme.

Le chemin XSLT2 s'applique également à OpenOffice / LibreOffice, qui stocke également XML dans un fichier Zip.

La marque est différente, mais elle peut être convertie dans les mêmes lignes.

3.5: Comment puis-je créer des fichiers HTML en XML?

Créez XHTML / HTML5 ou utilisez un type de document différent.

Soit les convertir pour correspondre à un nouveau type de document (avec ou sans DTD ou schéma) et écrire un style avec eux;

Ou modifiez-les par XHTML ou HTML5.

Vous devrez peut-être convertir des fichiers HTML existants car XML n'autorise pas la minimisation des points d'extrémité (manquant </ p>, etc.), des valeurs d'attribut non répertoriées et de nombreuses autres abréviations SGML couramment utilisées en HTML.

De nombreux outils de création de HTML créent déjà un format XML presque (mais pas complètement) bien conçu en s'assurant que les points d'extrémité sont utilisés, les valeurs d'attribut sont répertoriées, etc.

- beaucoup d'entre eux ne le sont pas.

Vous pouvez peut-être convertir HTML en XHTML à l'aide du programme Tidy HTML de Dave Raggett (HTML5 existe également) qui peut nettoyer certaines des fausses erreurs de pseudo-tagging qui sont restées des éditeurs HTML peu fiables et même séparer certaines des formations de style de modèle mais sont généralement disponibles un ajustement manuel.

La plupart des programmes modernes pour la création de sites Web, y compris DreamWeaver, ne produisent toujours rien de tel que le HTML bien conçu, surtout parce qu'ils sont conçus pour rendre les pages belles au lieu d'obtenir le bon label.

L'utilisation d'un programme de conception Web et de son site HTML, car le seul stockage de vos informations peut constituer une erreur dangereuse et coûteuse.

Si vous travaillez au contraire, vous obtenez d'abord des informations sur la conception de l'information en XML, puis vous l'exportez vers la conception Web créée à l'aide de la conception Web. Il est probablement moins important que le HTML soit désordonné car les navigateurs sont très indulgents.

Traduire un HTML valide sur XHTML

Si vos fichiers HTML sont valides (validation complète SGML formelle contre l'une des DTD publiées, pas seulement une simple vérification de syntaxe), essayez de les vérifier en tant que XHTML à l'aide de l'analyseur XML.

Si vous avez créé un format HTML propre sans mise en forme intégrée, ce processus devrait uniquement générer des bogues dans les attributs élément et majuscule / minuscule, des éléments VIDES comme img et tous les noms de types d'éléments non standard si vous les utilisez.

Les mains simples ou les scripts courts devraient être suffisants pour corriger ces modifications.

Si votre code HTML utilise de manière valide l'omission de points d'extrémité et les attributs non spécifiés, il peut être résolu automatiquement par un programme de standardisation tel que sgmlnorm (du package OpenSP OpenJade) ou la fonction sgml-normalize dans un éditeur comme Emacs / Psgml (ne pas être reporté par les noms , tous deux XML).

Si vous avez plusieurs fichiers HTML valides, vous pouvez écrire un script que vous faites dans un langage de programmation qui comprend la balise SGML (p. Ex., Omnimark, SGMLC ou l'une des langues de script populaires (p. Ex. Perl, Python, Tcl, etc. Utilisation de leur SGML / XML) ou vous pouvez même utiliser des macros d'éditeur si vous savez ce que vous faites.

Si votre HTML est invalide ou mal créé, essayez le HTML Tidy ci-dessus.

Si vous ne le supprimez pas, je crains que vous deviez écrire quelque chose d'spécial en utilisant la procédure ci-dessous, ou vous pouvez le faire tout à la main ou en le copiant et en le collant de votre navigateur.

Convertir en un nouveau type de document

Si vous souhaitez déplacer vos fichiers hors HTML vers une autre DTD, il existe plusieurs DTD industriels XML natifs et des versions XML modulaires de DTD populaires telles que TEI (Littérature, Documents historiques et langage) et DocBook (Documentation informatique) ou DITA (Documentation technique).

Il y a eu plusieurs sites pour échanger de nouvelles DTD XML, mais les nouveaux sont maintenant rares.

Vous pouvez bien sûr créer votre propre marque: s'il est logique de créer un fichier bien créé, vous devriez pouvoir écrire un modèle de style CSS ou XSLT et afficher le document dans votre navigateur.

Convertir un code HTML invalide en XHTML bien formé

Si vos fichiers ne sont pas valides en HTML (95% du site), ils peuvent être convertis en fichiers DTDless bien créés comme suit:

  1. Remplacer toute déclaration DOCTYPE par XML <? Xml version = "1.0" encoding = "UTF-8"?> (Ou utiliser le codage de caractères approprié).

  2. S'il n'y a pas de déclaration DOCTYPE, il suffit de pré-déclarer XML.

    Quoi qu'il en soit, la déclaration XML, si elle est utilisée, doit être la ligne 1 du document.

  3. Changez tous les éléments VIDES (p. Ex. ALL BASE , ISINDEX , LINK , META , NEXTID et RANGE dans l'en-tête et tous les AREA , ATOPARA , AUDIOSCOPE , BASEFONT , BR , CHOOSE , COL , FRAME , HR , IMG , KEYGEN , LEFT , LIMITTEXT , TAB et WBR dans un document) pour finir avec /> à la place, par exemple <img src = "mypic.gif" alt = "Image" /> ;

  4. Créez de petits noms de tous les types d'éléments et noms d'attributs;

  5. Assurez-vous que pour tous les éléments sans VIDE, les points finaux exacts sont exactement les mêmes.

    Par ex

    Chaque <para> doit avoir </ para> etc;

  6. Omettre tous les caractères < a & non-markup (c'est-à-dire, texte littéral) comme & lt;

    a & amp;

    (Ne devrait pas être isolé < caractères que vous pourriez commencer)!

  7. Assurez-vous que toutes les valeurs d'attribut sont dans des guillemets comparables (les valeurs avec inserts de devis unique doivent être entre guillemets et vice versa - si vous avez besoin des deux, utilisez une « référence à une entité de caractère»);

  8. Assurez-vous que tous les scripts URI qui ont & comme séparateur de champs sont modifiés pour utiliser & amp;

    ou plutôt un observateur.

  9. Assurez-vous que tous les scripts (tels que Javascript) ayant < ou & caractères (moins mathématiques que les tests et les conditions E Boolean) sont répertoriés soit sous forme de ruban CDATA, soit (si leurs navigateurs sont acceptés)

    a & amp;

    ou une ligne pointillée.

Notez que certains navigateurs HTML obsolètes peuvent ne pas avoir à accepter les éléments EMPTY en XML avec la barre oblique finale, de sorte que les changements ci-dessus peuvent ne pas être compatibles en arrière.

Une alternative est d'ajouter une étiquette finale fictive à tous les éléments VIDES, donc <img src = "foo.gif" /> devient <img src = "foo.gif"> </ img> .

Il s'agit d'un XML valide, mais vous devez vous assurer qu'aucun d'entre eux ne contient de contenu textuel.

L'ajout d'un espace avant la barre oblique finale dans les éléments VIDES (p . Ex. <Img src = "foo.gif" /> ) peut également empêcher les navigateurs plus anciens d'accepter XHTML comme HTML.

Si vous devez répondre à l'une des questions énumérées dans la liste de contrôle pour le code HTML non valide ci-dessous, vous pouvez économiser beaucoup de misère en résolvant d'abord ces problèmes avant de faire autre chose.

Vous serez probablement très proche de créer des fichiers bien créés.

Une étiquette qui est syntaxiquement correcte, mais sémantiquement insignifiante ou invalide doit être éditée avant la conversion.

Les exemples sont des dispositifs de partitionnement faux tels que des paragraphes vierges répétés ou des déchirages de lignes, des feuilles de calcul vierges, des espaces GIF invisibles, etc.

XML utilise des modèles de style, et CSS3 signifie que vous n'en avez pas besoin.

Malheureusement, il y a beaucoup de choses à faire si vos fichiers ne sont pas valides: c'est pourquoi de nombreux webmasters insistent maintenant sur l'utilisation de fichiers valides ou bien créés (et pourquoi vous devriez demander à vos concepteurs de faire de même) Évitez les coûts de maintenance et de maintenance manuels inutiles ultérieurement.

Liste de contrôle pour code HTML invalide

Si vos fichiers HTML sont inclus dans cette catégorie (le code HTML généré par la plupart des éditeurs WYSIWYG est généralement invalide), ils devront être convertis manuellement, même si les déformations sont régulières et soigneusement conçues, les fichiers peuvent être très bien créés et vous pouvez écrire un programme script comment faire ci-dessus.

Les particularités que vous pourriez avoir à vérifier incluent:

    • Les fichiers contenant des erreurs de syntaxe de balise?Par exemple, il existe des supports angulaires manquants, au lieu de barres obliques, ou des éléments qui correspondent incorrectement (p . Ex. <B> commencer <I> dans un élément </ B>, mais finir par celui-ci </ I> )?

    • Y a-t-il des éléments avec des points d'extrémité manquants qui ne peuvent être dérivés (par exemple) de Sgmlnorm?

    • Existe-t-il des URI (par exemple dans href s ou src s) qui utilisent les backsets de Microsoft Windows au lieu des barres obliques normales?

    • Les fichiers contenant le marquage sont-ils incompatibles avec le DTD HTML, comme les titres ou les listes dans les paragraphes, les éléments de liste des listes en dehors des environnements de liste, les éléments d'en-tête comme baseavant le premier html etc.?(Un autre tour de rédaction négligent)

    • Les fichiers utilisant des éléments imaginaires ne contiennent-ils aucun DTD HTML connu?(Beaucoup d'entre eux sont utilisés dans des systèmes de marquage exclusifs masqués en HTML).Bien qu'il soit facile de le transformer en un fichier DTDless bien créé (car il est inutile de définir des éléments), la plupart des brevets ou des extensions spécifiques au navigateur n'ont jamais été formellement définis, il est donc souvent impossible de traiter de façon significative les types d'éléments pouvant être utilisés.

    • Les caractères sont-ils invalides (autres que XML) dans les fichiers?Regardez en particulier Apple Mac Roman natif: 8 personnages laissés par des concepteurs téméraires;L'un des caractères Windows illégaux (32 caractères dans les codes décimales 128-159 inclus) incorporés par les éditeurs Microsoft;Et tous les caractères de contrôle ASCII 0-31 (sauf ceux autorisés comme TAB, CR et LF).Ceux-ci doivent être convertis aux caractères appropriés dans UTF-8 (ou tout ce que vous utilisez).

    • Vos fichiers contenant des commentaires non valides (ancien style Mosaic / Netscape)?Les commentaires doivent avoir l'air

      <!-- like this -->

      Avec des lignes doubles à chaque extrémité et aucun autre double (pas plus) tiret entre eux.

3.6: Comment puis-je convertir XML vers d'autres formats de fichiers?

Tapez une conversion dans une langue qui comprend XML

Bien qu'il soit possible d'écrire des routines de conversion en introduisant votre propre analyseur XML, il n'est pas recommandé, sauf pour les étudiants en informatique.

Toutes les langues principales possèdent des bibliothèques XML qui suppriment toute l'analyse (et, le cas échéant, l'authentification).

Vous devez savoir ce qu'il y a dans le document XML avant qu'il ne commence: il n'y a pas de baguette magique qui déduit automatiquement ce que cela signifie et où il se trouve dans le fichier.

Si vous avez des fichiers XML, vous devrez trouver le créateur ou une documentation à leur sujet.

Les trois premières lignes d'un fichier peuvent contenir un indice quant au type de XML qu'ils sont.

Vous aurez certainement besoin d'une copie de la DTD ou du schéma dans lequel les fichiers ont été créés.

Les options de programmation sont les suivantes:

  • Utilisez la langue pour la tâche.XSLT2 a toutes les options pour le traitement XML dès le début, et des processeurs distincts sont disponibles pour toutes les plates-formes.Beaucoup d'éditeurs XML ont une copie intégrée de XSLT (XSLT2, j'espère), de sorte qu'ils offrent un environnement de développement intégré pour l'édition et la conversion.La conversion XSLT2 peut également s'exécuter dans des paquets de serveurs tels que Apache Cocoon.
  • Utilisez le package XML ou pipeline.Ce sont des produits (habituellement) commerciaux qui fournissent des fonctions étendues de gestion de documents, de bases de données documentaires et de conversion de documents et d'édition, souvent dans le cadre d'une solution d'information d'entreprise beaucoup plus vaste utilisant XSLT2 ou des systèmes personnalisés sur mesure.Les deux favoris sont MarkLogic et OmniMark.
  • Pour les données, utilisez un système de conversion qui ne nécessite pas d'écriture de code: Flexter est un exemple d'une interface graphique pour mapper les éléments source (XML) vers les champs cibles (plusieurs formats).Bien que cette approche ne convienne pas aux documents XML (livres, articles, etc.), elle fournit une méthode utile de type de données XML tabulaires avec une complexité quelconque.
  • Utilisez un langage compileable conventionnel.Java ou C (ou l'une des nombreuses variantes ++ / ♯) serait commun;Pascal, FORTRAN ou COBOL sont rares ces jours-ci, mais il existe aussi des bibliothèques XML pour eux).BASIC, quelqu'un?
  • Utilisez le langage de script.Perl, Python, Tcl, VBscript, ou même Powershell sont tous populaires et les bibliothèques XML existent pour eux;Les pythons ont une excellente réputation.
  • Combinez les outils XML avec les utilitaires shell standard.Voici un exemple précoce d'une routine XML-to-CSV qui utilise onsgmls pour découvrir ESIS et awk pour le reformater.Des processus similaires peuvent être développés à l'aide de la trousse à outils LTXML2.
  • Il existe des programmes téléchargeables (parfois gratuits) qui prétendent être des convertisseurs XML "faciles".L'éditeur voudrait entendre des recommandations ou des avertissements ☺.

Le processus de conversion de XML vers d'autres formats est parfois appelé "conversion ascendante", car il peut impliquer la perte d'informations nécessaire (habituellement des métadonnées) lorsque le format cible n'a tout simplement aucun moyen de le représenter.

3.7: si XML n'est qu'un sous-ensemble de SGML, puis-je utiliser mes outils SGML existants?

Oui, si elles sont actuelles

Oui, à condition que vous utilisez le logiciel SGML actuel qui connaît WebSGML Adaptations TC par ISO 8879 (fonctionnalités requises pour le support XML, telles que les variantes EMPTY, certains aspects des déclarations SGML telles que NAMECASE GENERAL NO, Déclarations d'attribut à attributs multiples, etc. .).

Une alternative est l'utilisation de SGML DTD qui vous permet de créer un fichier SGML entièrement normalisé, mais qui n'utilise pas d'éléments vierges;

Ensuite, supprimez la déclaration DocType pour devenir un fichier XML DTDless bien formé.

La plupart des outils SGML traitent actuellement des fichiers XML et permettent de basculer entre ces deux normes.

(Voir les indicateurs dans le logiciel What XML Available?).

S'il n'y a pas de raisons très spéciales, vous devriez envisager de déplacer SGML vers XML.

3.8: J'ai l'habitude de créer et afficher HTML.

Puis-je apprendre XML facilement?

oui

Très facile, mais depuis près de 20 ans, il faut encore des tutoriels supplémentaires, des outils plus faciles et des exemples plus ouverts de documents XML.

Les documents XML «bien formés» peuvent ressembler au HTML, à l'exception de quelques points de syntaxe petits mais très importants.

La grande différence pratique est que XML doit respecter les règles.

Les navigateurs HTML leur permettent de fournir des fichiers HTML même mortellement brisés ou ridiculement endommagés car ils ne font pas d'analyses formelles mais vissent tous les bits cassés.

Avec XML, vos fichiers doivent être complètement corrects ou tout simplement ne fonctionnera pas.

L'un des problèmes les plus importants est que certains navigateurs qui disent qu'ils sont d'accord avec le format XML sont également brisés, et le soutien de certains navigateurs dans le traitement XSLT et CSS est encore douteux.

Essayez le vôtre sur la véritable liste d'hôtels de l'hôtel.

3.9: XML peut-il utiliser des caractères non latins?

Oui, c'est la valeur par défaut

Oui, la spécification XML indique explicitement que XML utilise ISO 10646, un répertoire standard international qui couvre la plupart des langues connues.

Unicode est le même répertoire, et les deux standards se suivent.

La spécification dit (2.2): "Tous les processeurs XML doivent accepter le codage UTF-8 et UTF-16 selon ISO 10646 ...".

À http://www.unicode.org/faq/, vous trouverez les FAQ de Unicode et un exemple de la gamme d'alphabets et de symboles à http://www.cogsci.ed.ac.uk/~richard/unicode-sample- 3-2. html.

Alors que le logiciel XML peut vous permettre d'entrer n'importe quel caractère Unicode dans un document, les lecteurs ne peuvent voir que des caractères si votre ordinateur possède une police appropriée.

Toutes les polices et toutes les polices n'ont pas l'intégralité du répertoire Unicode (celles qu'elles font sont énormes ).

UTF-8 est un codage Unicode pour les caractères 8 bits: les 128 premiers sont identiques à ceux d'ASCII et les caractères d'ordre supérieur sont utilisés pour coder autre chose de Unicode à des séquences comprises entre 2 et 6 octets.

UTF-8 en sa forme simple est donc identique à ISO 646 IRV (ASCII), vous pouvez donc continuer à utiliser ASCII pour l'anglais ou une autre langue à l'aide de l'alphabet latin sans diacritiques (accents).

Notez que l'UTF-8 n'est pas ISO 8859-1 (ISO Latin-1) conforme à Decimal Code 127 (fin ASCII).

UTF-16 est un codage Unicode en caractères 16 bits, ce qui lui permet de représenter 16 plans.

UTF-16 est incompatible avec ASCII car il utilise deux octets de 8 bits par personnage (quatre bits au-dessus de U + FFFF).

Peter Flynn écrit:

La spécification d'encodage peut se référer à n'importe quel jeu de caractères que votre logiciel prend en charge, mais la spécification XML exige que les applications prennent en charge UTF-8 et UTF-16.

Certains encodages communs pris en charge par le logiciel incluent:

US-ASCII

TAB, LF, CR, espaces et caractères imprimables 33 à 126 (décimal uniquement) (tous les autres caractères de contrôle sont désactivés par XML).

ISO-8859-1

(Latin-1 de l'Europe occidentale) En tant que code ASCII plus 128 à 255 (décimal).

Comprend la plupart (mais pas toutes) les lettres d'Europe occidentale avec des diacritiques.

ISO-8859-2 à 15

Ces autres avions ISO-8859 couvrent les ensembles de symboles latins et alphabétiques restants et divers.

"Codes de page" et d'autres fichiers périmés

Certains logiciels peuvent également supporter diverses "pages de code" obsolètes telles que IBM-850, Microsoft Windows-1252, Macintosh Romain-8, DEC Multinationales et autres codages de caractères non standard, mais ceux-ci sont généralement impénétrables et devraient être évités possible.

Une pratique courante en Europe occidentale est l'utilisation de ISO-8859-1, donc les lettres accentuées les plus communes peuvent être utilisées comme octets autonomes et utilisent des références d'entités de caractères ou des entités numériques pour tous les autres caractères.

Cela présente l'avantage que de tels fichiers peuvent être ouverts dans presque tous les éditeurs d'octets.

L'inconvénient est que les entités numériques ne sont pas mnémoniques et les entités de caractères doivent être déclarées dans une DTD ou un sous-groupe interne, mais si elles sont rares, il ne doit pas s'agir d'un problème grave.

Bertilo Wennergren écrit:

UTF-16 est l'encodage qui représente chaque caractère Unicode du premier plan (premiers 64K caractères) d'Unicode avec une unité 16 bits - en pratique avec deux octets pour chaque personnage.

Par conséquent, il est compatible avec ASCII ou Latin-1.

UTF-16 peut obtenir un autre million de caractères par des mécanismes appelés paires de remplacement (deux unités de 16 bits pour chaque personnage).

"... les mécanismes de signalisation de laquelle est utilisé et l'inclusion d'autres codes dans le jeu sont [...] dans la discussion sur le codage des caractères". La spécification XML explique comment spécifier dans votre fichier XML quel personnage codé que vous utilisez.

"Indépendamment du codage spécifique utilisé, n'importe quel caractère dans l'ensemble de caractères ISO 10646 peut être désigné par un équivalent décimal ou hexadécimal de sa chaîne de bits": quel que soit le jeu personnel que vous utilisez, vous pouvez toujours vous référer à des caractères individuels spécifiques. De n'importe où dans le répertoire codé à l'aide de & # dddd;

(Caractère décimal) ou & # xHHHH;

(Hexadécimal, lettres majuscules).

La terminologie peut confondre aussi bien que les nombres: voir le dictionnaire conceptuel ISO 10646.

Rick Jelliffe possède un jeu de caractères XML au format XML.

L'information de codage de Mike Brown à http://skew.org/xml/tutorial/ est une explication très utile pour la nécessité d'un codage approprié.

Au serveur de l'Institut de langue estonienne, vous pouvez trouver à http://www.eki.ee/letter/ une base de données de glyphes en ligne géniale et des caractères dans de nombreux codes.

3.10: Qu'est-ce que DTD et où l'ai-je?

Spécification de la structure du document.

Vous pouvez les écrire ou les télécharger.

DTD est une description dans la syntaxe de la déclaration XML d'un type ou classe de document spécifique.

Il détermine les noms à utiliser pour différents types d'éléments où ils peuvent se produire et comment ils correspondent tous.

Le schéma fait de même dans la syntaxe du document XML, afin qu'il puisse être lu comme le document XML lui-même.

Les schémas permettent une plus grande entrée de données.

Par exemple, si vous souhaitez que le type de document décrive des listes contenant des éléments, la partie pertinente de votre DTD peut contenir quelque chose comme ceci:

<!ELEMENT List (Item)+> 
<!ELEMENT Item (#PCDATA)>

Cela définit la liste comme un type d'élément contenant un ou plusieurs éléments (c'est-à-dire un signe plus);

Et il définit les éléments sous forme de types d'éléments contenant uniquement du texte (Parsed Character Data ou PCDATA).

Les validateurs lisent les DTD avant de lire le document pour savoir où se trouve chaque type d'élément, ce qu'il peut contenir et comment chacun est lié à l'autre, aux applications qu'ils doivent savoir à l'avance (processeurs, navigateurs, éditeurs, moteurs de recherche, navigateurs et bases de données) peuvent être configurés correctement.

L'exemple ci-dessus vous permet de créer des listes telles que:

<List>
  <Item>Chocolate</Item>
  <Item>Music</Item>
  <Item>Surfing</Item>
</List>

Comme expliqué dans Comment le XML traite-t-il les espaces blancs dans mes documents?, Odd dans l'exemple sert uniquement à la lisibilité lors de l'édition: XML ne l'exige pas.

Il pourrait également être facilement écrit comme suit:

<List><Item>Chocolate</Item><Item>Music</Item><Item>Surfing</Item></List>

DTD fournit donc aux applications un préavis des noms et des structures pouvant être utilisés dans un type de document spécifique.

L'utilisation d'une DTD et d'un éditeur de validation signifie que vous pouvez être sûr que tous les documents de ce type particulier seront construits et nommés de manière cohérente.

Les DTD ne sont pas nécessaires pour traiter des documents bien formés, mais ils doivent utiliser des types spéciaux d'attributs XML tels que les références croisées intégrées ID / IDREF;

Ou utiliser les valeurs d'attribut par défaut;

Ou des liens vers des fichiers externes autres que XML ("Notations"), tels que des images;

Ou, si vous souhaitez simplement vérifier la validité du document avant le traitement.

Il existe des milliers de DTD qui existent déjà dans toutes sortes de domaines (voir Enveloppes SGML / XML pour pointeurs).

Beaucoup d'entre eux peuvent être téléchargés et utilisés librement, certains sont limités à certaines industries ou protégés.

Mais vous pouvez également écrire votre propre question (voir la question sur la création d'une DTD personnalisée: la vieille SGML DTD doit être convertie en XML pour une utilisation avec les systèmes XML: lisez la conversion SGT DTD en XML, mais les DTD SGML les plus populaires sont déjà disponibles XML .

Certains éditeurs XML utilisent le format DTD compilé binaire créé par leurs propres techniques de gestion pour permettre aux individus de l'organisation d'être responsables des modifications et de distribuer aux utilisateurs une version non modifiable (compilée en binaire).

Les alternatives à la DTD sont diverses formes du schéma.

Ces fonctionnalités fournissent des fonctionnalités d'authentification plus étendues que la DTD, y compris la vérification du contenu des données personnelles.

3.11: XML crée-t-il des balises personnalisées?

Oui, mais ils ne sont pas appelés des marques.

Ce sont les types d'éléments.

XML vous permet de créer des noms pour les types d'éléments personnalisés.

Si vous pensez que les marques et les éléments sont les mêmes, vous avez beaucoup de problèmes: lisez attentivement le reste de la question.

La même chose est vraie lorsque vous pensez à "champs" (voir Comment puis-je obtenir un XML dans ou hors de ma base de données?).

Paradigme incorrect, mauvaise langue.

Bob DuCharme écrit:

Ne mélangez pas le terme "étiquette" avec "élément".

Ils ne sont pas mutuellement interchangeables.

La caractéristique inclut généralement deux types de marques différentes: une étiquette de démarrage et un texte ou une marque de fin d'étiquette multiple.

XML vous permet de décider quels éléments vous voulez dans le document, puis de marquer les limites de vos éléments en utilisant les marques de début et de fin appropriées pour ces éléments.

Chaque déclaration <! ELEMENT ... définit le type d'élément qui peut être utilisé dans le document correspondant à la DTD donnée.

Ce type d'élément s'appelle le "type d'élément".

Tout comme HTML DTD contient des types H1 et P , votre document peut avoir la couleur

ou le prix des

types d'éléments ou tout ce que vous voulez.

Les éléments normaux (qui ne sont pas vides) consistent en l'étiquette de départ, le contenu de l'élément et la marque de fin.

<color> rouge </ color> est l'instance complète de l'élément de couleur.

<color> n'est que la variable de début de l'élément qui montre où elle commence;

Ce n'est pas l'élément lui-même.

Les éléments vides sont un cas spécial qui peut être représenté comme une paire d'étiquettes de début et de fin sans avoir entre eux (par exemple, <price retail = "123"> </ price> ) ou comme étiquette de départ Il existe une boucle de fermeture pour dire à l'analyste , "Ne cherchez pas une étiquette d'extrémité qui correspondrait à celle-ci" (p . Ex. <Price retail = "123" /> ).

3.12: Comment créer mon propre type de document?

Analyser la classe de documents et écrire la DTD ou le schéma

Les types de documents nécessitent généralement une description formelle, DTD ou schéma.

Bien qu'il soit possible de traiter des documents XML bien conçus sans une telle description, ils essaient de les créer sans poser de problèmes.

Le DTD ou le schéma est utilisé avec un éditeur XML ou une API pour guider et contrôler la construction d'un document, en vous assurant que les éléments appropriés sont au bon endroit.

Par conséquent, la création d'un type de document personnalisé commence par l'analyse de la classe de documents que vous souhaitez coder: les messages, les factures, les feuilles, les fichiers de configuration, les demandes de vérification de la carte de crédit, les romans, les jeux, les travaux ou toute autre chose.

Une fois que la structure est correcte, écrivez le code pour l'exprimer formellement à l'aide de la syntaxe DTD ou Schema.

Pour créer une DTD, vous devez apprendre la syntaxe de la déclaration XML (très simple: la déclaration des mots clés commence plus tôt que <! Plutôt que l'angle ouvert et la façon dont les déclarations sont faites diffère aussi légèrement).

Voici un exemple de DTD pour une liste d'achats en fonction du fragment que vous avez utilisé avant:

<!ELEMENT Shopping-List (Item)+>
<!ELEMENT Item (#PCDATA)>

Il est dit qu'un élément de liste de courses doit être situé et doit contenir des éléments appelés Objet

: il doit y avoir au moins un élément (c'est un signe plus), mais il peut être plus d'un.

Il indique également que l' élément Objet

ne peut contenir que les données de caractères analysées (PCDATA, c'est-à-dire texte: plus de tag).

Parce qu'il n'y a pas d'autre élément contenant la liste d'achat , cet élément est considéré comme un élément "racine" qui contient tout le reste du document.

Vous pouvez maintenant l'utiliser pour créer un fichier XML: tapez votre éditeur de déclaration:

<?xml version="1.0"?> 
<!DOCTYPE Shopping-List SYSTEM "shoplist.dtd">

(En supposant que vous avez DTD inséré dans ce fichier).

Votre éditeur vous permet maintenant de créer les fichiers suivants:

<Shopping-List>
  <Item>Chocolate</Item>
  <Item>Sugar</Item>
  <Item>Butter</Item>
</Shopping-List>

Il est possible de développer une DTD complexe et puissante avec une grande finesse, mais pour toute utilisation significative, vous devriez en apprendre davantage sur l'analyse du système documentaire et la conception du type de document.

Voir, par exemple, Maler et el Andaloussi (1995): cela a été écrit pour SGML, mais environ 95% s'applique également au XML, car XML est beaucoup plus facile que le SGML complet - voir la liste des contraintes qui indiquent ce qui a été supprimé.

En passant, un fichier DTD n'a jamais de déclaration DOCTYPE: il ne se produit que dans une instance d'un document XML (c'est ce qu'il fait référence à DTD).

Et le fichier DTD n'a pas non plus de déclaration XML en haut.

Malheureusement, il existe toujours un logiciel dans lequel un ou les deux est inséré.

3.13: Le type explicite de l'élément racine peut-il être déclaré dans DTD?

Non, utilisez la Déclaration de type de document.

Cela se fait dans une déclaration de type de document, pas une DTD.

Bob DuCharme écrit:

Dans une déclaration de type de document, procédez comme suit:

<!DOCTYPE chapter SYSTEM "docbookx.dtd">

Le point entier du chapitre est de déterminer lequel des types d'éléments déclarés dans la DTD spécifiée doit être utilisé comme élément racine.

Je crois que l'élément de niveau supérieur DocBook est défini, mais il est difficile d'imaginer que quelqu'un crée un document qui serait un ensemble de livres.

Nous pouvons utiliser librement un ensemble

, un livre

, un chapitre

, un article

, ou même un para -document en tant qu'élément de document pour un DocBook valide.

[L'une des tâches que certains analystes font est de déterminer quel type d'élément [s] dans DTD n'est pas contenu dans le modèle de contenu d'un autre type d'élément: ils sont la déduction des principaux candidats pour les éléments racine par défaut.

(PF)]

C'est une bonne chose car cela vous donne une certaine souplesse dans la façon dont la DTD est utilisée.

C'est pourquoi XML (et SGML) sont entrés dans les systèmes d'édition électronique dans lesquels différents éléments ont été mélangés et adaptés pour produire différents documents compatibles avec la même DTD.

J'ai vu des suggestions schématiques qui vous permettent de déterminer quels éléments schématiques pourraient être l'élément racine d'un document, mais après avoir examiné la partie 3.3 de la partie 1 de la Recommandation de schéma W3C et le schéma RELAX NG pour RELAX, Croyez que certains ceux-ci.

Je pourrais avoir tort.

3.14: J'écoute des alternatives à DTD.

Quel est le schéma?

Comme la DTD pour la validation de contenu et de structure.

W3C XML Schema Recommendation fournit des moyens pour spécifier la saisie formelle des données et la vérification du contenu des éléments pour les types de données afin que les concepteurs de type de document puissent fournir des critères pour contrôler le contenu de données des éléments ainsi que le marquage.

Les schémas sont écrits dans la syntaxe des documents XML, semblables aux documents XML, et évitent le besoin de traitement logiciel pour lire la déclaration de syntaxe XML (utilisée pour DTD).

Il existe un schéma commun séparé à http://schema.org/docs/faq.html Le terme vocabulaire est parfois utilisé pour désigner les DTD et les schémas.

Les schémas se concentrent sur le commerce électronique, la gestion des données et les applications de type base de données où le contenu des données de caractères nécessite une authentification et où un contrôle de données plus strict est nécessaire que possible avec la DTD;

Ou bien, une forte saisie des données est requise.

Généralement, ils ne sont pas nécessaires pour les applications traditionnelles de publication de texte où les DTD sont encore utilisées.

Contrairement à DTD, le schéma ne peut pas être spécifié dans la déclaration de type de document XML.

Ils peuvent être spécifiés dans l'espace de noms où Schémma-aware devrait être informé, mais il est facultatif:

<?xml version="1.0"?>
<invoice xml:id="abc123"
         xmlns="http://example.org/ns/books/"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://acme.wilycoyote.org/xsd/invoice.xsd">
...
</invoice>    

Vous êtes plus susceptible d'entrer un schéma dans votre logiciel de traitement qui doit enregistrer séparément quel schéma est utilisé comme une instance d'un document XML.

Contrairement à la complexité du schéma W3C, Relax NG est le langage de schéma XML facile et facile à utiliser proposé par James Clark (voir http://relaxng.org/) avec le développement hébergé par OASIS.

Il permet une richesse d'expression similaire et l'utilisation de XML comme syntaxe, mais fournit une autre syntaxe simplifiée qui est facile à utiliser pour ceux qui sont habitués à DTD.

Les auteurs et les éditeurs doivent noter que l'ensemble anglais des schémas est un schéma: l'utilisation d'une forme singulière plurielle est gratuite pour les semi-alphabètes;

L'utilisation de diagrammes anciens (grecs) est une didactique inutile.

Les auteurs doivent également noter que le DTD en plural est DTD: il n'y a pas d'apostrophe - voir Truss (2003).

Bob DuCharme écrit:

De nombreux développeurs XML n'étaient pas satisfaits de la syntaxe des instructions d'étiquetage décrites dans la spécification XML pour deux raisons.

Tout d'abord, ils estiment que si les documents XML sont si bons lorsqu'ils décrivent des informations structurées, il devrait s'agir d'une description d'une structure de type de document personnalisée (schémas) dans un document XML au lieu d'être écrite avec sa propre syntaxe spéciale.

En plus de la cohérence, il serait plus facile de modifier et de manipuler des schémas avec des outils communs de gestion de documents.

Deuxièmement, ils ont estimé que les inscriptions traditionnelles à la DTD n'autorisaient pas les concepteurs de types de documents à mettre suffisamment de restrictions de données - comme la possibilité de dire qu'un certain type d'élément a toujours une valeur entière positive, qu'il ne doit pas être vide ou qu'il doit être l'une des options possibles.

Cela facilite le développement du logiciel à l'aide de ces données car le développeur a moins de code pour vérifier les erreurs d'écriture.

Peter Flynn écrit:

DTD sert uniquement à spécifier la structure des éléments de fichier XML avec un contrôle très limité sur les valeurs d'attribut.

Liste les noms des éléments, des attributs et des entités pouvant être utilisés et leur adéquation.

Les DTD sont destinés à être utilisés avec des documents de texte traditionnels, pas des données rectangulaires ou de table, de sorte que le concept de types de données n'est pas si pertinent: le texte est simplement du texte.

Si vous devez spécifier des plages numériques ou définir des restrictions ou un contenu de contrôle de contenu (texte), DTD est un outil incorrect.

3.15: Comment les liens XML sur mes documents auront-ils une incidence?

Les liens XML sont beaucoup plus puissants mais pas encore implémentés dans les navigateurs

Les capacités de connectivité des systèmes XML sont potentiellement beaucoup plus puissantes que celles en HTML afin que vous puissiez en faire plus.

Les liens existants de href resteront utilisables, mais la nouvelle technologie de connectivité est basée sur l'expérience acquise grâce au développement de normes supplémentaires d'hypertexte telles que TEI et HyTime qui vous permettent de gérer les liens bidirectionnels et multi-voies ainsi que les liens vers l'élément entier ou la gamme de texte propres ou d'autres documents) plutôt qu'un point unique.

Ces fonctionnalités sont disponibles pour SGML depuis de nombreuses années, une expérience et une expertise étendues sont disponibles dans leur utilisation.

Actuellement, seul Mozilla Firefox implémente XLink.

Les spécifications XML Link Specification (XLink) et XML Pointer Documents (XPointer) contiennent des détails.

XLink peut être un URI ou un pointeur avancé dans le style TEI (XPointer), ou les deux.

L'URI lui-même est considéré comme la source;

Si le XPointer le surveille, il est supposé être une source subordonnée de cet URI;

XPointer lui-même est censé se référer au document actuel (comme HTML).

XLink peut utiliser l'un des # ,?

ou |

.

# a ?

signifie la même chose que dans les applications HTML;

|

signifie que la sous-source peut être trouvée par référence à la source, mais la méthode d'exécution est laissée pour l'application.

XPointer ne peut être suivi que par # .

La notation TEI Extended Pointer (EPN) est beaucoup plus puissante que l'adresse du fragment à la fin de certains URI, car elle vous permet de spécifier l'emplacement de la fin du lien à l'aide de la structure du document ainsi que (ou plus) des points connus comme ID.

Par exemple, une deuxième occurrence combinée du mot "XPointer" de deux paragraphes peut être référencée par l'URI (présentée ici avec des lignes et des espaces pour plus de clarté: en pratique, cela serait bien sûr une longue chaîne):

http://xml.silmaril.ie/faq.xml#ID(hypertext)
    .child(1,#element,'answer')
    .child(2,#element,'para')
    .child(1,#element,'link')

Cela signifie le premier élément de lien dans le deuxième paragraphe dans la réponse

dans l'élément dont l'ID est "hypertexte" (cette question).

Comptez les objets dès le début de cette question (qui a l'ID "hypertexte" ) dans la source XML:

  1. Le premier objet enfant est un élément quantaentry;
  2. Le second objet subordonné est la réponse ( réponse d'élément);
  3. Sous cet élément, passez au deuxième paragraphe;
  4. Trouvez le premier élément de lien.

Eve Maler a expliqué la relation XLink et XPointer comme suit:

XLink spécifie comment vous insérez des références à un document XML où le lien se réfère à quoi que ce soit (par exemple, un fichier GIF);

XPointer gère l'identificateur de fragment qui peut accéder à l'URL lorsque vous liez un document XML de n'importe où (par exemple, à partir d'un fichier HTML).

[Ou à partir d'un fichier XML, un URI dans un message électronique, etc. ... Ed.]

David Megginson a créé le xpointer pour Emacs / psgml, qui déduira XPointer pour n'importe quel emplacement dans un document XML.

XML Spy a une fonction similaire.

3.16: Puis-je encoder des maths en utilisant XML?

Oui, en utilisant MathML.

Les mathématiques sont activées si le type de document que vous utilisez fournit des mathématiques et des navigateurs d'utilisateurs peut le rendre.

La communauté mathématique a développé la recommandation MathML sur W3C, une application XML naturelle adaptée à l'insertion dans d'autres DTD et schémas.

Il est également possible de créer des fragments XML à partir d'autres DTD, tels que ISO 12083 Math ou OpenMath, ou de votre propre création.

Les navigateurs qui affichent des mathématiques intégrées dans SGML existent depuis de nombreuses années (par exemple, DynaText, Panorama, Multidoc Pro), et les navigateurs communs rendent maintenant MathML.

David Carlisle a créé un ensemble de styles pour créer MathML dans les navigateurs.

Il est également possible d'utiliser XSLT pour convertir des balises mathématiques XML en LATEX pour l'impression (PDF) ou pour utiliser XSL: FO.

Gardez à l'esprit que XML n'est pas un langage de programmation, de sorte que les concepts tels que l'arithmétique et les if-statements (if-then-else logic) ne sont pas significatifs dans les documents XML normaux.

3.17: Comment XML traite-t-il mes métadonnées?

Quoi que vous vouliez.

Parce que XML vous permet de définir vos propres langages de balisage, vous pouvez utiliser pleinement les fonctions d'hypertexte améliorées XML (voir le lien Références) pour stocker ou référencer des métadonnées dans n'importe quel format (p. Ex. Utilisation de l'ISO 11179 comme sujet d'un sujet publié, Dublin Core, Warwick Framework ou Resource Description Framework (RDF), ou même Platform for Internet Selection (PICS)).

Il n'existe pas d'éléments prédéfinis dans XML car il s'agit d'une architecture, et non d'une application, donc il ne fait pas partie de la tâche XML pour déterminer comment ou si les auteurs doivent ou ne doivent pas implémenter les métadonnées.

Par conséquent, vous avez la possibilité d'utiliser toute méthode appropriée.

Les fabricants de sites Web peuvent également avoir leurs propres recommandations architecturales ou méthodes de conception.

Je sais que vous créez HTML5 à partir de votre XML, vous savez que HTML5 n'utilise pas Dublin Core en tant que HTML (voir http://www.w3.org/TR/html5/document-metadata.html), mais il dispose d'un jeu de noms de métadonnées inclut un registre de Extensions .

Q 3.18: Comment utiliser des graphiques en XML?

Reliez-les en HTML ou utilisez XLink.

Ou insérer SVG.

Les graphiques ont traditionnellement uniquement des liens qui ont un fichier image plutôt qu'un autre texte.

Ils peuvent donc être mis en œuvre de quelque manière que ce soit en fonction des spécifications XLink et XPointer (voir Comment le lien XML sur mes documents affecte-t-il?) Y compris l'utilisation d'une syntaxe similaire aux images HTML existantes.

Ils peuvent également se référer à l'aide des mécanismes incorporés NOTATION et ENTITY XML intégrés de manière similaire à SGML standard en tant qu'entités externes non encadrées .

Cependant, les graphiques vectoriels évolutifs (graphiques vectoriels XML) vous permettent d'utiliser une balise XML pour dessiner des objets vectoriels directement dans votre fichier XML.

Il offre un énorme pouvoir d'inclure des graphiques portables, en particulier des séquences interactives ou animées, et est maintenant pris en charge dans les navigateurs et peut être exporté à partir de programmes graphiques (dessin) standard tels que GIMP .

Les spécifications de liaison XML pour les images externes vous donnent un meilleur contrôle sur la transition et l'activation de la liaison, de sorte que l'auteur peut déterminer si l'image doit être affichée ou non lorsque la page est chargée ou cliquée par l'utilisateur ou dans une fenêtre séparée sans avoir à faire une offre les scripts.

XML lui-même ne contient pas de prédicats ou de limitations de formats de fichiers graphiques: GIF, JPG, TIFF, PNG, CGM, EPS et SVG semblent au moins significatifs.

Les formats vectoriels (EPS, SVG) sont habituellement requis pour les images non-images (diagrammes).

Graphiques binaires intégrés

Il n'est pas possible d'insérer un fichier graphique binaire brut (ou d'autres données binaires [données non textuelles]) directement dans un fichier XML, car les appartements qui ressemblent à la balise seraient mal interprétés: vous devez vous référer à eux (voir ci-dessous).

Cependant, il est possible d'inclure une transformation de fichier binaire encodé en texte comme une section étiquetée comme CDATA, en utilisant quelque chose comme UUencode avec les caractères de marquage ] , & a > supprimé de la carte afin qu'ils ne puissent pas se produire en tant que sortie CDATA défectueuse et doivent être interprétés de manière incorrecte.

Vous pouvez même utiliser un encodage hexadécimal simple car il est utilisé dans PostScripte.

Pour les graphiques vectoriels, cependant, la solution consiste à utiliser SVG (voir le conseil de Peter Murray-Rust).

Les fichiers audio sont des objets binaires de la même manière que les graphiques externes, de sorte qu'ils ne peuvent être référencés à l'extérieur (en utilisant les mêmes techniques que les graphiques).

Cependant, les fichiers musicaux écrits dans MusiXML ou XML SMDL peuvent être insérés de la même manière que pour SVG.

Le point sur l'utilisation des objets de gestion graphique est que vous pouvez laisser une liste des instructions d'entités séparées du reste du document afin que vous puissiez les réutiliser si l'image est nécessaire à plusieurs reprises, mais enregistrez uniquement le fichier de spécification physique dans un seul endroit.

Les entités externes ne sont disponibles qu'en utilisant DTD, et non comme un schéma.

Bob DuCharme écrit:

Toutes les données d'une entité de document XML doivent être XML parsable.

Vous pouvez définir une entité externe en tant que XML parsable ou une entité non partitionnée (autre chose).

Les entités hors valeur peuvent être utilisées pour les fichiers image, les fichiers audio, les fichiers vidéo ou tout ce que vous voulez.

Seule la valeur de l'attribut peut être référencée à partir du document (similaire à l'image bitmap sur le site HTML est la valeur de l'attribut de l'élément srcimg ) et ne fait pas partie du document actuel.

Dans un document XML, cet attribut doit être déclaré ENTITE et l'état de l'entité doit spécifier la NOTATION déclarée car si l'entité n'est pas XML, le processeur XML doit savoir ce qu'elle est.

Par exemple, dans le document suivant, une entité colliepic

est déclarée comme JPEG et est utilisée comme l'attribut picfile d' un élément de chien vide.

<?xml version="1.0"?> 
<!DOCTYPE dog [ 
<!NOTATION JPEG SYSTEM "Joint Photographic Experts Group"> 
<!ENTITY colliepic SYSTEM "lassie.jpg" NDATA JPEG>
<!ELEMENT dog EMPTY> 
<!ATTLIST dog picfile ENTITY #REQUIRED> 
]> 
<dog picfile="colliepic"/> 

La méthode Entity est particulièrement utile si vous avez plusieurs images ou une réutilisation multiple des mêmes images, car vous ne les déclarez que dans la partie supérieure du document, ce qui rend plus facile la gestion de l'image.Les spécifications de lien XLink et XPointer décrivent d'autres façons de pointer vers un fichier non XML tel que des graphiques.

Ils offrent un contrôle plus sophistiqué sur la position, le contrôle et l'apparence d'une entité externe dans un document XML.

Peter Murray-Rust écrit:

GIF et JPEG prennent soin des bitmaps (représentation pixel des images: tous sont des points colorés).

Les graphiques vectoriels (scalable, dessin des spécifications de dessin) sont dédiés à l'activité graphique W3C en tant que graphiques vectoriels évolutifs (voir http://www.w3.org/Graphics/SVG).

Une fois la spécification terminée, il est possible de transférer la représentation graphique en tant que vecteurs directement au fichier XML.

Pour de nombreux objets graphiques, cela signifie considérablement réduit le temps de téléchargement et la mise à l'échelle sans perdre de détails.

Max Dunn écrit:

SVG vient d'être publié et est une histoire XML assez réussie [...] il existe [plusieurs] implémentations conformes.

Nous avons récemment commencé à utiliser les FAQ de SVG à http://www.svgfaq.com/.

XSLT peut être utilisé pour générer SVG à partir de XML;

Pour plus de détails, visitez http://www.svgfaq.com/xslt.asp (veillez à ne pas utiliser XSLT, pas la technologie WD-xsl désuète de Microsoft).

Les documents peuvent également interagir avec les images SVG (voir http://www.xml.com/pub/a/2000/03/22/style/index.html).

3.19: Qu'est-ce que l'analyse et comment puis-je le faire en XML?

Parsing divise l'information en parties

L'analyse est l'acte de distribuer de l'information dans ses parties (les écoles l'ont enseigné dans les cours de langue jusqu'à ce que le métier de l'enseignant ait capturé le virus anti-gramme).

"Mary Lives Spots" analyse comment

Sujet = Marie, nom propre, cas nominatif;

Verbe = alimentation, transitif, troisième unique, voix active, temps présent;

Objet = Spot, nom correct, cas acoustique.

Pour les calculs, l'analyseur est un programme (ou une partie du code ou API que vous pouvez spécifier dans vos propres programmes) qui analysent les fichiers pour l'identification des composants.

Toutes les applications qui ont lu des entrées ont un analyseur de quelque sorte, sinon ils ne seront jamais en mesure de comprendre ce que cela signifie.

Microsoft Word contient un analyseur qui s'exécute lorsque le fichier .doc est ouvert et vérifie s'il peut identifier tous les codes cachés;

ICal et Google Calendar contiennent un analyseur de syntaxe qui lit une pièce jointe dans l'e-mail dans un courrier électronique et définit les informations qu'il contient.

Donnez-leur un fichier endommagé et un message d'erreur apparaîtra.

Les applications XML sont identiques: elles contiennent un analyseur qui lit XML et identifie la fonction des parties individuelles du document, puis accède à l'information dans le reste de la mémoire du programme.

Lors de la lecture d'un fichier XML, l'analyseur de syntaxe vérifie la syntaxe créée correctement (brackets supérieurs, échantillons correspondants, etc.) et signale toute violation (rapports de bogue).

La spécification XML indique ce qu'elle est.

La vérification est la prochaine étape au-delà de l'analyse.

Étant donné que les composants individuels du programme sont identifiés, l'analyseur de comparaison les compare avec le modèle ou le schéma DTD pour vérifier la conformité.

Dans ce processus, les valeurs par défaut et les types de données (si spécifié) peuvent être ajoutés au résultat de la vérification en mémoire fournie par l'analyseur de validation de l'application.

<person xml:id="abc123" birth="1960-02-31" gender="female"> 
  <name>
    <forename>Judy</forename> 
    <surname>O'Grady</surname> 
  </name>
</person>

L'exemple ci-dessus est traité comme suit:

  1. L'étiquette <person> identifiée avec l'attribut xml: id (type "ID" prédéfini) contenant "abc123" et l'attribut de naissance contenant "1960-02-31" et l'attribut "femelle" degenre...
  2. Élément <nom> contenant ...
  3. L'élément <prénom> , contenant le texte "Judy", suivi de ...
  4. L'élément <nom> contenant le texte 'O'Grady'.

(et beaucoup d'autres choses).

Cela finira par être une arborescence d'arborescence dans la mémoire de l'application (les structures arborescentes sont la manière courante pour les programmes de stockage de données connexes).

En plus des analyseurs intégrés, des analyseurs d'analyseurs séparés (voir la fiche de Bill Rayer) sont également disponibles pour lire le fichier XML et savoir s'ils trouvent une erreur (par exemple, des angles manquants ou des guillemets ou des étiquettes incorrectement étiquetées). Il est important de tester les fichiers isolément avant , comme vous faites autre chose, surtout si elles ont été créées manuellement sans un éditeur XML ou API, ce qui peut être trop profondément ancré ailleurs pour permettre un test facile.

Bill Rayer écrit:

Pour une analyse / validation séparée, utilisez des logiciels tels que James Orsgmls de James Clark ou le rxp de Richard Tobin.

Les deux fonctionnent sous Linux et Windows / DOS.

La différence se trouve dans le format de la liste des erreurs (le cas échéant) et certaines versions onsgmls ne remplacent pas DTD ou d'autres fichiers sur le réseau alors que rxp le fait.

Assurez-vous que votre fichier XML se connecte correctement à sa DTD dans la Déclaration de type de document et que DTD [s] est localement disponible (rxp les charge si vous avez une connexion Internet, il se peut que les opérations ne soient pas nécessaires, donc il peut être nécessaire d'avoir une copie locale)

Téléchargez et installez le logiciel.

Assurez-vous qu'il est installé où votre système d'exploitation le trouve.

Si vous ne savez pas ce que cela signifie, vous aurez besoin d'aide de quelqu'un qui sait comment charger et installer le logiciel sur votre type de système d'exploitation.

Pour onsgmls, copiez pubtext / xml.soc et pubtext / xml.dcl dans le répertoire de travail.

Pour vérifier myfile.xml , ouvrez la fenêtre shell (commande ou terminal) (Linux) ou MS-DOS (Command) (Microsoft Windows).

Dans ces exemples, nous supposerons que votre fichier XML s'appelle myfile.xml et se trouve dans le dossier nommé myfolder .

Lorsque vous entrez des commandes, utilisez le dossier et les noms de fichiers réels.

Pour onsgmls :

$ onsgmls -wxml -wundefined -cxml.soc -s myfile.xml

Il existe de nombreuses autres options pour les jeux qui sont décrits sur le site.

Ceci est nécessaire car ils sont basés sur l'analyseur SGML et ces options le basculent en mode XML et suppriment la sortie normale et ne laissent que des erreurs (le cas échéant).

Dans Microsoft Windows, vous devrez peut-être taper la commande onsgmls avec le chemin d'accès complet où elle a été installée,

C: \ Program Files \ OpenSP \ bin \ onsgmls .

Pour rxp:

$ rxp myfile.xml

Rxp possède également certaines des options décrites sur son site Web.

Dans Microsoft Windows, vous devrez peut-être préfixer la commande rxp avec le chemin d'accès complet vers l'endroit où il a été installé,

C: \ Program Files \ ltxml2 \ bin \ rxp .

3.20: Comment puis-je inclure un fichier XML dans un autre?

Utilisez l'entité générale comme pour SGML, ou utilisez XInclude.

Une méthode consiste à utiliser des entités de documents qui fonctionnent exactement comme pour SGML, mais nécessitent une DTD ou un sous-ensemble interne.

Tout d'abord, vous déclarez l'entité que vous souhaitez inclure, puis renvoyez l'entité comme référence de l'entité:

<?xml version="1.0"?>
<!DOCTYPE novel SYSTEM "/dtd/novel.dtd" [
<!ENTITY chap1 SYSTEM "mydocs/chapter1.xml">
<!ENTITY chap2 SYSTEM "mydocs/chapter2.xml">
<!ENTITY chap3 SYSTEM "mydocs/chapter3.xml">
<!ENTITY chap4 SYSTEM "mydocs/chapter4.xml">
<!ENTITY chap5 SYSTEM "mydocs/chapter5.xml">
]>
<novel>
  <header>
    ...blah blah...
  </header>
&chap1; 
&chap2; 
&chap3; 
&chap4; 
&chap5; 
</novel>

La différence entre cette méthode et celle utilisée pour inclure le fragment DTD (voir Comment écrire un DTD (ou Fragment) dans un autre? ) C'est qu'une entité générale (fichier) externe est utilisée qui est référencée de la même manière que pour l'entité Character (avec l'amperse).

La seule chose à faire est que le fichier inclus ne doit pas contenir de déclaration XML ou DOCTYPE.

Si vous avez utilisé un pour éditer le fragment, supprimez-le avant d'utiliser le fichier de cette façon.

Oui, c'est une douleur dans le bout, mais si vous avez beaucoup de telles inclusions, écrivez le script pour annuler la déclaration (et collez-la pour l'édition).

Les schémas ne prennent pas en charge les entités, donc l'alternative est d'utiliser XInclude.

Il s'agit d'une spécification W3C qui comprend un document XML (ou un fragment) dans un autre document.

<?xml version="1.0"?>
...
<article xmlns="http://docbook.org/ns/docbook"
      xmlns:xi="http://www.w3.org/2001/XInclude">
   <info>
     <xi:include href="metadata.xml" parse="xml"
         xpointer="title"/>
   </info>
   <sect1>
      ...
   </sect1>
</article>

Votre logiciel de traitement doit pouvoir gérer XInclude.

La syntaxe XPointer peut rediriger l'analyseur vers un emplacement spécifique dans le document, contrairement aux entités où l'intégralité du document est inclus.

3.21: Quand dois-je utiliser la section CDATA?

CDATA sert uniquement au texte contenant des caractères similaires à une balise.

Vous n'aurez presque jamais à utiliser les sections CDATA.

La CDATA a été conçue de telle sorte que l'auteur cite des fragments de texte contenant les marquages ​​(bracket et ampersand), par exemple dans la documentation XML (cette FAQ utilise des raisons évidentes).

La section CDATA désactive la reconnaissance des marques pendant la durée de l'étirement (ne redémarre que par des séquences de fermeture de barrières carrées à double extrémité et un angle étroit).

En conséquence, rien dans la section CDATA ne peut jamais être reconnu comme étant lié à l'étiquette: il ne s'agit que d'une chaîne de caractères inaccessibles, et si vous utilisez une conversion de langage XML, comme XSLT, toutes les marques seront équivalentes à leurs entités personnelles .

Par exemple, si vous essayez d'utiliser:

some text with &lt;em>markup&lt;/em> in it.

en elle.

dans l'attente que la balise intégrée reste intacte, elle ne sera pas: elle produira uniquement

un texte avec & lt; em> markup & lt; / em> dans celui-ci.

En d'autres termes, les sections CDATA ne peuvent pas conserver la balise intégrée comme une étiquette .

Normalement, c'est exactement ce que vous voulez, car cette technique a été conçue pour permettre aux gens de faire des choses comme la documentation de marquage d'écriture.

Il n'a pas été conçu pour permettre à de petits morceaux de faux, corrompus ou invalides HTML incompréhensible intégré dans votre propre XML dans un processus ultérieur - car cela pourrait provoquer une dévaluation de la sortie.

En conséquence, vous ne pouvez pas vous attendre à garder la balise non cryptée simplement parce qu'elle semblait être cachée en toute sécurité dans la section CDATA: elle ne peut pas être utilisée comme un bouclier magique pour conserver la balise HTML pour une utilisation ultérieure comme étiquette uniquement en tant que caractères.

Apprenez comment traiter le HTML intégré dans mon XML? Ce qui est très étroitement lié.

3.22: Comment puis-je traiter le HTML intégré dans mon XML?

Pointez-le sur la sortie, utilisez une copie en profondeur ou essayez d'éteindre la sortie.

En plus d'utiliser des sections CDATA, il existe deux occasions fréquentes lorsque les gens veulent travailler avec du HTML intégré dans l'élément XML:

  1. Quand ils ont obtenu (peut-être mal conçu) XML ou HTML d'ailleurs, ils doivent trouver un moyen de les traiter;
  2. Lorsqu'une application est conçue explicitement pour stocker une chaîne de caractères contenant & lt;a & amp;références des entités de caractères pour retourner au marquage dans un processus ultérieur (par exemple, FreeMind, Atom).

En général, vous souhaitez éviter un tel tour, car il suggère généralement que la structure et la conception du document n'ont pas été bien pensées.

Cependant, il y a des occasions où cela devient nécessaire, donc si vous avez vraiment besoin ou souhaitez utiliser le marquage HTML intégré dans XML et qu'il soit traité plus tard qu'une étiquette, il existe quelques techniques que vous pouvez utiliser:

  • Fournissez des modèles pour traiter cette balise dans votre transformation XSLT ou tout autre logiciel que vous utilisez qui reproduit simplement ce qui n'a pas été touché,Si vous devez garder <b> un texte </ b> tel qu'il est, ajoutez le modèle:
<xsl:template match="h:b">
  <b>
    <xsl:apply-templates/>
  </b>
</xsl:template/>

(Si vous travaillez avec des éléments provenant de plusieurs DTD ou schémas, vous aurez probablement besoin d'espaces de noms pour les désigner différemment, et donc préfixer h :).

  • Utilisez l'instruction XSLT 'Profondeur de copie', qui produit littéralement le balisage bien formé imbriqué, par exemple
<xsl:template match="h:b">
  <xsl:copy-of select="."/>
</xsl:template/>
  • En dernière option, utilisez l' attribut disable-output-escape sur l'élément xsl: l' élément de texte XSL [T], disponible dans certains processeurs,
<xsl:text disable-output-escaping="yes"><![CDATA[<b>Now!</b>]]&gt;</xsl:text>

Il tombe dans la section "trucs sales" et est habituellement obsolète.

Certains processeurs ne le supportent pas.

  • Certains processeurs (par exemple, JX) fournissent maintenant leurs propres équivalents pour bloquer les fuites de sortie.Leurs conseillers disent que c'est «très souhaitable» ou «ce que la plupart des gens veulent», mais il faut toujours gérer avec précaution pour éviter d'ajouter de l'addiction indésirable (éventuellement dangereuse) à votre logiciel.

Pour plus de détails sur l'utilisation de ces techniques dans XSL [T], consultez la FAQ dans les FAQ de XSL.

Apprenez à utiliser la section CDATA? Ce qui est très étroitement lié.

3.23: Quels sont les caractères spéciaux en XML?

Seulement cinq: & lt;

(<), & amp;

(&), & gt;

(& gt;), "

(& Quot;) et &

( « ).

Dans le texte normal ( sans étiquette), il n'y a pas de caractères spéciaux sauf < a &: assurez-vous simplement que votre déclaration XML se réfère au système de codage du système de langue et / ou écriture que vous souhaitez utiliser et que votre ordinateur est correctement enregistré en utilisant ce schéma de codage .

Pour plus de questions, regardez la question qui ne s'applique pas aux caractères latins.

En plus des caractères de contrôle ASCII invisibles (ceux qui ne peuvent pas être tapés), tous les autres caractères sont des textes communs.

Les caractères dans la devise (€, £, $, ƒ, ₨, Ƀ et autres), tous les signes de ponctuation (sauf < a & ) et toutes les autres lettres, symboles et symboles dans n'importe quel langage ou système d'écriture sont uniquement du texte ).

Si votre clavier ne vous permet pas de taper les caractères que vous voulez, ou si vous souhaitez utiliser des caractères en dehors des limites du schéma de codage sélectionné, vous pouvez utiliser une notation symbolique appelée «référence d'entité».

Les références d'entité peuvent être numériques, en utilisant le code décimal ou hexadécimal Unicode pour le personnage (par exemple, si votre clavier n'a pas de symbole Euro (€), vous pouvez entrer & # 8364; );

Ou, ils peuvent être un personnage utilisant un jeu de noms établi que vous pouvez déclarer dans votre DTD (p . Ex. <! ENTITY euro "& # 8364;"> ), ce qui vous permet alors d'utiliser le nom a & euro;

dans le document.

Si vous utilisez un schéma, vous devez utiliser un formulaire numérique pour tous sauf cinq ci-dessous, car les schémas n'ont aucun moyen de faire des déclarations d'entité entière.

Si vous utilisez XML sans DTD, on suppose que les entités à cinq caractères listées en haut de cette question seront étiquetées avant et vous pouvez les utiliser sans les déclarer séparément (la plupart des logiciels les empêche de réémettre):

& Lt;

Un caractère inférieur à un caractère (<) commence par une marque d'élément (le premier caractère de la marque de début ou de la fin).

& Amp;

Le caractère de l'image-image (&) démarre l'étiquette de l'entité (la première référence du caractère).

& Gt;

Une marque supérieure au caractère (>) met fin à la marque de début ou à la marque de fin.

& Quot;

Le caractère à deux chiffres (") peut être symbolisé par cette référence d'entité de caractère si vous devez insérer un double devis dans une chaîne qui est déjà un code à deux chiffres.

& apos;

Une apostrophe ou un caractère non ambigu (') peut être symbolisé par cette référence d'entité de personnage si vous devez insérer un simple clic ou une apostrophe dans une chaîne déjà unique.

Si vous utilisez DTD, vous devez déclarer toutes les entités de personnage que vous devez utiliser, donc il serait judicieux de déclarer l'un des cinq plus hautes que vous envisagez d'utiliser.

Si vous utilisez un schéma, vous devez utiliser un formulaire numérique pour tous, à l'exception des cinq ci-dessus, car les schémas n'ont aucun moyen de créer des états d'entité entière.

Il existe des circonstances où vous pouvez utiliser des caractères spéciaux comme vous, par exemple dans les sections CDATA.

La plupart des caractères de contrôle sont désactivés en XML: voir la spécification.

Il n'y a pas non plus de mot réservé dans l'espace de noms XML: vous pouvez appeler l'élément de l' élément et l'attribut d' attribut,

etc., comme dans l'exemple suivant (inversé):

<?xml version="1.0"?>
<!DOCTYPE DOCTYPE SYSTEM "SYSTEM" [
<!ELEMENT DOCTYPE (ELEMENT+)>
<!ATTLIST ELEMENT ATTLIST ENTITY #IMPLIED>
<!NOTATION DOCTYPE SYSTEM "ENTITY">
<!ENTITY NOTATION SYSTEM "ENTITY" NDATA DOCTYPE>
]>
<DOCTYPE>
  <ELEMENT ATTLIST="NOTATION">foo</ELEMENT>
</DOCTYPE>

Lorsque le fichier SYSTEM contient la déclaration: <! ELEMENT ELEMENT (#PCDATA)> et le fichier ENTITY n'existe pas ☺

Il existe des mots - clés comme DOCTYPE et IMPLIED qui sont réservés aux noms, mais sont signalés (Indicateur Open Markup Declaration ou Indicateur de noms réservés) afin qu'ils ne puissent pas être confondus avec des noms définis par l'utilisateur.

3.24: Quels autres schémas d'étiquetage existent?

Il existe plusieurs autres systèmes populaires

Markdown

Il s'agit d'une syntaxe de texte recto verso et d'un script Perl qui la traduit en XHTML.

L'objet était de ne pas ressembler à un fichier (donc il ne pouvait être lu que comme un document de texte brut), mais qu'il devrait être assez robuste pour résister à la conversion.

Voir http://daringfireball.net/projects/markdown/ pour plus de détails.

Wiki / formats de blog

Il y en a plusieurs: le plus connu est probablement le format MediaWiki de Wikipedia, qui fournit des options relativement importantes pour créer des éléments utilisés sur le site, puis convertir en HTML pour la visualisation.

Des formats conceptuels similaires sont utilisés par d'autres systèmes wiki, tels que PmWiki et Google Code;

Et il existe des hybrides qui utilisent aussi le HTML comme Fossil.

latex

Le système LATEX pour la préparation et le chargement de documents (Lamport, 1994) utilise des macros construites sur la syntaxe TEX pour implémenter un modèle de document partiellement structuré.

La syntaxe utilise une barre oblique inverse pour les marqueurs de drapeaux et les instructions de mise en forme et les supports inclinés pour définir des arguments et limiter la portée des actions typographiques.

Ce logiciel est disponible sur toutes les plates-formes et produit des résultats PDF ou PostScript.

La conversion vers LATEX à partir de systèmes basés sur XML peut être effectuée à l'aide de la technologie XSLT, mais la conversion de la syntaxe LATEX est problématique car elle présente des propriétés qui ne sont pas facilement visibles dans d'autres systèmes.

SGML

SGML et certains de ses progéniteurs restent disponibles mais sont rarement utilisés.

La page Wikipedia contient une liste exhaustive d'autres langues de marque.

Section 4: Développeurs

Programmateurs et implémenteurs

4.1: Où est la spécification?

Juste ici

Ici, Bray, Paoli, Sperberg-McQueen, Maler et Yergeau (2004) (voir http://www.w3.org/TR/REC-xml).

Comprend EBNF et tout le matériel normatif.

Il existe également des versions japonaises disponibles;

espagnol;

coréen;

Version Java et version annotée sous la forme d'un livre (DuCharme, 1999).

Eve Maler conserve la DTD utilisée pour la spécification elle-même;

DTD code également plusieurs autres spécifications du W3C, telles que XLink, XPointer, DOM, XML Schema etc.

La documentation est disponible pour DTD.

Notez que la spécification XML doit utiliser une version spéciale de DTD en une seule fois, car la DTD originale utilisée pour elle a longtemps été perdue.

4.2: j'essaie de comprendre les spécifications XML: pourquoi une terminologie si difficile?

Il doit être formel pour être précis.

Pour que la mise en œuvre réussisse, la terminologie doit être précise.

Objectif de conception #

8 spécifications indiquent que "la conception XML doit être formelle et concise".

Pour XML, par conséquent, la spécification est utilisée dans un langage formel à partir d'un certain nombre de domaines, à savoir l'ingénierie, les normes internationales et l'informatique.

Cela est souvent source de confusion pour les personnes qui ne sont pas utilisées dans ces disciplines parce qu'elles utilisent des mots d'anglais familiers dans un sens spécialisé qui peuvent être très différents de leurs significations habituelles - par exemple: grammaire, production, jeton ou terminal.

La spécification n'explique pas ces termes en raison de la deuxième partie de l'objectif de conception: la spécification doit être brève.

Il ne répète pas les explications disponibles ailleurs: on suppose que vous connaissez les définitions ou que vous les connaissez.

Fondamentalement, cela signifie que pour piller la plénitude des spécifications, vous avez besoin de connaissances sur le SGML et les sciences de l'informatique et vous avez une certaine exposition à la langue des normes formelles.

Une terminologie insuffisante dans la spécification provoque des malentendus et rend difficile de les appliquer de manière cohérente afin que les normes formelles doivent être formulées en termes formels.

Ces questions fréquemment posées ne sont pas un document formel, et un lecteur honnête a déjà remarqué qu'il se réfère à «noms d'élément» où le nom de type d'élément est plus correct;

Mais le premier est plus largement compris.

Les nouveaux utilisateurs de terminologie peuvent trouver utile de lire quelque chose comme TEI P4: Lignes directrices pour l'encodage et l'échange de texte électronique (Sperberg-McQueen et Burnard, 2002) ou XML: Annotated Specification (DuCharme, 1999).

4.3: Quels sont ces termes sans DTD, valides et bien formés?

Bien formé signifie seulement syntaxiquement correct;

Cela signifie qu'il est conforme à la DTD ou au schéma.

XML vous permet d'utiliser une définition de type de schéma ou de document (DTD) pour décrire une étiquette (éléments et autres constructions) disponibles dans n'importe quel type de document particulier.

Cependant, concevoir et construire des schémas et des DTD peut être complexe et non trivial, de sorte que XML vous permet également de travailler sans un.

L'opération sans DTD signifie que vous pouvez inventer une étiquette sans devoir la définir formellement, pourvu que vous adhérez à des règles de syntaxe XML bien établies.

Pour ce faire, on suppose que le fichier DTDless définit votre propre étiquette exclusivement par l'existence et le placement des éléments dans lesquels vous le créez.

Lorsqu'une application XML rencontre un fichier DTDless, elle construit son modèle interne de structure de document pendant la lecture, car il n'a pas de schéma ou DTD pour lui dire à quoi s'attendre.

Par conséquent, il ne doit pas y avoir de synergie surprise ou ambiguë.

Pour atteindre cet objectif, le document doit être "bien formé" (il doit respecter les règles).

Pour comprendre pourquoi ce concept est nécessaire, regardez le HTML standard comme exemple:

  • La balise <img> est déclarée EMPTY en DTD pour les caractères [SGML] pour HTML, donc il n'a pas de balise finale (il n'y a pas de </ img> );
  • Beaucoup d'autres éléments HTML (par exemple, <para> ) vous permettent de sauter la marque de fin par souci de brièveté.
  • Si un processeur XML lit un fichier HTML sans le savoir (car il n'utilise pas DTD) et rencontre <img> ou <para> (ou toute autre étiquette de démarrage), ils ne peuvent pas savoir s'ils s'attendent ou attendent de la balise finale.Cela rend impossible de savoir si le reste du fichier est correct ou non, car il n'a maintenant aucune preuve qu'il s'agisse d'un élément ou qu'il s'est terminé.

Les documents bien formés nécessitent donc des étiquettes de démarrage et des marques de fin sur chaque élément normal et tous les éléments VIDES doivent être sans ambiguïté en utilisant des marques de début et des marques de fin normales, ou en ajoutant une barre oblique au nom de la marque de démarrage avant de fermer> comme signal indiquant qu'il n'y aura pas de marque de fin distincte.

Tous les documents XML, sans DTD et valides, doivent être bien formés.

Si nécessaire, ils doivent commencer par une déclaration XML (par exemple, pour identifier un encodage de caractères ou une déclaration de document séparée):

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> 
<foo> 
  <bar>...<blort/>...</bar> 
</foo>

David Brownell écrit:

Un XML bien conçu ne doit pas nécessairement utiliser une déclaration de document distincte.

De telles déclarations sont ici pour permettre une certaine accélération dans le traitement des documents tout en ignorant les entités de paramètres externes - essentiellement, vous ne pouvez pas compter sur des déclarations externes dans des documents distincts.

Les types qui sont pertinents sont les entités et les attributs.

Les documents séparés peuvent ne nécessiter aucune valeur de normalisation ou valeur d'attribut par défaut, sinon ils sont invalides.

Il est également possible d'utiliser la déclaration de type de document DTDless, même s'il n'existe aucun type de document qui s'applique:

Richard Lander écrit:

Si vous avez besoin d'entités de caractère [autres que cinq intégrées] dans un fichier DTDless, vous pouvez les déclarer dans un sous-groupe interne sans faire référence à un autre type d'élément racine:

<?xml version="1.0" standalone="yes"?> 
<!DOCTYPE example [ 
<!ENTITY mdash "&mdash;"> 
]> 
<example>Hindsight&mdash;a wonderful thing.</example>

Alors ... voici les règles:

  • XML bien conçuToutes les balises doivent être équilibrées: cela signifie que chaque élément, qui peut contenir des données de caractère ou des éléments partiels, doit contenir une étiquette de départ et une note de fin (l'omission n'est pas autorisée, à l'exception des éléments VIDES, voir ci-dessous).

  • Toutes les valeurs d'attribut doivent être citées.Un caractère unique (apostrophe) peut être utilisé si la valeur contient un caractère à double roue et vice versa.Si vous avez également besoin de guillemets isolés en tant que données, vous pouvez utiliser 'ou ".En aucun cas, utilisez des lignes inversées typographiques automatisées ("curly") qui sont remplacées par certains processeurs de texte pour citer les valeurs d'attribut.

  • Tous les éléments VIDES (par exemple, ceux qui n'ont pas de balise finale comme HTML <img> , <hr> et HTML et autres) doivent se terminer par /> ou ils devraient ressembler à des éléments sans EMPTY en ayant une fin réelle marque (mais sans contenu).Exemple: <br> soit soit <br/> ou </ br> (sans rien).

  • Il ne doit pas y avoir de chèques isolés et de caractères de début ( < ou & ) dans vos données textuelles.Ils doivent être administrés sous forme de & lt;a & amp;et la séquence ]]> peut apparaître seulement comme la fin de la section étiquetée comme CDATA: si vous l'utilisez à toute autre fin, elle doit être donnée comme ]]& gt;.

  • Les éléments doivent être correctement liés (pas de chevauchement de balises, identique à HTML);

  • Les documents DTDless bien formés peuvent utiliser des attributs sur n'importe quel élément, mais tous les attributs sont considérés comme des attributs CDATA.Vous ne pouvez pas utiliser les attributs ID / IDREF pour les documents DTDless référencés par analyseur par référence.

  • Les fichiers XML sans DTD sont considérés comme & lt ;, & gt;, & lt; / RTI & gt;, & quot;, & amp;Prédéfinis et disponibles pour utilisation.

    Pour les DTD, toutes les entités déclarées de caractères doivent être déclarées, y compris ces cinq.

XML valide

Les fichiers XML valides sont des fichiers bien créés qui ont un type de document (DTD) ou une définition de schéma compatible.

Ils doivent être bien formés, de sorte que toutes les règles ci-dessus s'appliquent.

Un fichier valide commence par une déclaration de type de document indiquant le code de schéma DTD ou W3C.

Cela peut être prédit par une déclaration XML facultative.

<?xml version="1.0"?> 
<!DOCTYPE advert SYSTEM "http://www.foo.org/ad.dtd"> 
<advert>
  <headline>...<pic/>...</headline> 
  <text>...</text>
</advert>

La spécification XML prédestinait SGML pour XML, qui est définie pour toutes les instances, et est donc fermement codée dans tous les logiciels XML et n'est jamais spécifiée séparément (sauf lorsqu'un verificateur SGL / XML commutable SGML / XML est utilisé comme onsgmls: voir ci-dessous).

Peter Flynn écrit:

La déclaration SGML pour XML a été supprimée du texte de la spécification, mais est disponible en tant que document autonome).

Il semble souffrir parfois de la bitotomie ou de la négligence, il existe une copie ici (WebSGML TC) et ici (règles de nomination TC étendues) et la version pour onsgmls ici.

La DTD spécifiée doit être accessible au processeur XML en utilisant l'URI fourni dans l'identifiant SYSTEM, localement disponible (c'est-à-dire que l'utilisateur a déjà une copie sur disque) ou peut être obtenu via le réseau.

Veuillez noter que les spécifications DTD doivent être URI (local, relatif ou absolu).

Les références du système de fichiers personnalisé (p. Ex. C: \ dtds \ my.dtd ne sont pas des URI et ne peuvent pas être utilisées: utilisez plutôt le fichier: /// C | /dtds/my.dtd .

Il est possible (beaucoup de gens diraient mieux) de fournir un identifiant public formel avec le mot-clé PUBLIC et ont utilisé le catalogue de désélection XML, mais la Spécification permet l'identifiant du système afin qu'il soit toujours fourni avec une ID LARGE: il ne faut plus de mots-clés.

Une identification publique identifie la propriété d'un identifiant, pas une DTD elle-même (bien qu'elle soit implicite dans de nombreux cas).

<!DOCTYPE advert PUBLIC	
   "+//Silmaril//DTD Foo Corp Advertisements//EN"
   "http://www.foo.org/ad.dtd"> 
<advert>...</advert>

Le test de validité est que le validateur de l'analyseur n'a pas trouvé d'erreurs dans le fichier: il doit correspondre aux définitions et aux déclarations absolues dans la DTD.

Les schémas XML (W3C) ne sont généralement pas directement liés à une instance d'un document XML tel que DTD: le schéma d'instance approprié (XSD) pour une instance de document est généralement spécifié sur l'analyseur en référence au système de fichiers ou à l'espace de noms cible.

4.4: Que dois-je utiliser dans mes DTD / Schéma, Attributs ou Éléments?

Consultez http://xml.coverpages.org/elementsAndAttrs.html

Il n'y a pas de réponse: beaucoup dépend de la raison pour laquelle vous concevez un type de document.

La pratique éditoriale traditionnelle pour les documents de texte commun est de placer le texte (texte réel) (ce qui serait imprimé ou visualisé par l'utilisateur) comme contenu dans les éléments et préserver les métadonnées (informations textuelles) dans les attributs dont il peut être plus facile à isoler pour l'analyse ou l'édition spéciale est une image de bord ou de souris:

<l n="184">
  <spara>Portia</spara>
  <text>The quality of mercy is not strain'd,</text>
  ...
</l>

En ce qui concerne les systèmes, cependant, il n'y a rien de mal à stocker des données au contraire, surtout lorsque le volume de données textuelles à chaque occasion est relativement faible:

<line speaker="Portia" text="The quality of mercy is not strain'd,">184</line>

Beaucoup dépendra de ce que vous voulez faire avec l'information et de laquelle est le plus facile d'accès avec chaque méthode.

John Cowan a d'excellents points de décision dans ses publications, ses fonctionnalités ou ses attributs de blog.

La règle pour les documents de texte traditionnels est que, si l'étiquette est supprimée, le texte brut devrait toujours être correct, lisible et utilisable, même s'il n'est pas formaté et incommode.

Dans le cas de sorties de base de données ou d'autres documents générés par le moteur, comme les transactions de commerce électronique, la lecture humaine peut ne pas être significative, il est donc tout à fait possible d'avoir des documents dans lesquels toutes les données des attributs et du document ne contiennent aucune donnée de caractère dans le contenu.

Pour plus d'informations, visitez http://xml.coverpages.org/elementsAndAttrs.html.

Mike Kay écrit:

Par: "[...] faire la plupart d'entre vous en plein air en utilisant xml en fonction d'éléments ou d'attributs?

Pourquoi?

Les débutants posent toujours cette question.

Ceux qui ont peu d'expérience expriment leurs opinions avec passion.

Les experts vous disent que ce n'est pas la bonne réponse.

(Http://lists.xml.org/archives/xml-dev/200006/msg00293.html)

4.5: Qu'est-ce qui a changé entre SGML et XML?

Une syntaxe plus forte et aucune option.

Le principal changement de syntaxe est que les éléments EMPTY dans les documents DTDless doivent utiliser l'astuce Null End-Tag (par exemple <img src = "pic" /> ) car il n'y a aucun moyen pour l'analyse d'attendre la balise finale sans DTD ou Schema.

Si le type d'objet est marqué comme VIDE dans le DTD / Schema, il peut utiliser une syntaxe NET ou une syntaxe complète de la balise finale (p . Ex. <Img src = "pic"> </ img> ).

D'autres changements de syntaxe sont que toutes les valeurs d'attribut doivent être citées;

Il n'y a pas de minimisation des attributs ou des éléments;

Et tout est petit et les lettres majuscules.

Une addition importante est que plusieurs instructions ATTLIST sont autorisées, de sorte que le sous-ensemble interne peut ajouter des attributs déjà déclarés pour le type d'élément.

Les modifications principales aux définitions de type de document (DTD) sont ce que vous pouvez spécifier.

Pour simplifier et faciliter l'écriture du logiciel de traitement, un grand nombre d'options de marquage SGML ont été supprimées (voir la liste des fonctions ignorées).

Le changement le plus important dans la gestion des dictionnaires est l'introduction de schémas W3C qui permettent au niveau de validation du type de contenu d'être indisponible dans DTD et sont eux-mêmes exprimés dans la syntaxe des documents XML.

Le complément principal est les espaces de noms qui permettent aux schémas et aux documents de distinguer le type de source du type et du type d'attribut (propriété, origine ou application).

Cela vous permet d'avoir le même type d'éléments dans le même document, mais des significations différentes,

Tableau DocBook: table et TEI: table .

Le nom du personnage de démarrage (colon) a été ajouté aux noms XML pour l'autoriser.

Malgré sa classification, un colon ne peut apparaître que dans la monnaie du milieu, pas au début ou à la fin, et le préfixe xml: est réservé.

4.6: Puis-je utiliser JavaScript, ActiveX, etc. dans des fichiers XML?

Pas dans le XML lui-même, mais dans le style de modèle.

Cela dépendra des dispositifs que les navigateurs de vos utilisateurs mettront en œuvre.

XML consiste à décrire l'information;

Les langages et les langages de scripts pour les fonctionnalités intégrées sont des logiciels qui permettent de manipuler les informations utilisateur à la fin de l'utilisateur, de sorte que ces langues n'ont généralement pas de place dans le fichier XML, mais dans des styles de modèles tels que XSL et CSS, des fichiers de script pour Javascript, etc.

Où peut être ajouté au HTML généré.

XML lui-même fournit un moyen de définir la balise nécessaire pour implémenter des langages de script: en tant que norme neutre, ne supporte ni nier leur utilisation, et ne préfère pas une langue par rapport à l'autre, il est donc possible d'utiliser la balise XML pour stocker le code du programme, d'où il peut être obtenu (par exemple) XSLT et réécrit dans l'élément de script HTML.

L'insertion de scripts côté serveur, comme PHP ou ASP, peut être utilisée avec le serveur de modification de code XML approprié tel qu'il apparaît sur le document ainsi que sur HTML.

Cependant, les auteurs doivent être conscients que l'insertion de scripts côté serveur peut signifier qu'un fichier en tant que sauvegarde n'est pas un XML valide: il devient valable uniquement pour le traitement et l'affichage, alors faites attention lorsque vous utilisez la vérification des éditeurs ou d'autres logiciels pour le traitement ou la gestion ces fichiers.

Une meilleure solution peut être d'utiliser une solution de rendu XML comme Cocoon.

Si vous devez intégrer des scripts sur une page Web que vous gérez à partir de XML, vous devez vous assurer que les deux < et les caractères & lt; & gt; ont échappé comme étant & lt; a & amp ; Que chaque contenu de script est inclus dans la section CDATA afin qu'il ne soit pas considéré comme une étiquette.

4.7: Puis-je utiliser Java pour créer ou gérer des fichiers XML?

Bien sûr.

Oui, tout langage de programmation peut être utilisé pour produire des données provenant de n'importe quelle source au format XML.

Il existe un nombre croissant de programmes avancés et de back-end pour l'environnement et l'environnement de gestion des données pour automatiser cela.

Java est le plus populaire en ce moment.

Il existe un grand nombre de middleware (API) écrits en Java et d'autres langues de gestion de données dans XML ou avec une entrée ou une sortie XML.

Il existe un ensemble de tutoriels Java (avec code source et explication) disponibles sur http://developerlife.com/tutorials/.

N'envoyez pas de FAQ sur les FAQ avec des questions sur les erreurs de programmation Java.

Demandez plutôt un nouveau groupe de discussion Java.

4.8: Comment puis-je obtenir un XML dans ou hors de ma base de données?

Demandez à votre créateur de base de données

Presque tous les systèmes de gestion de base de données fournissent désormais des modules d'importation et d'exportation XML pour connecter des applications XML aux bases de données.

Dans certains cas triviaux, il existe une correspondance entre les noms de champs dans la table de la base de données et les noms de type d'élément dans le schéma XML ou DTD, mais dans la plupart des cas, une certaine programmation sera nécessaire pour obtenir la correspondance requise.

Cela peut généralement être stocké en tant que procédure, de sorte que les utilisations suivantes ne sont que des commandes ou des appels avec les paramètres appropriés.

Alternativement, la plupart des systèmes de bases de données fournissent maintenant un format d'inscription XML qui vous permet d'exporter une feuille de calcul, par exemple en entourant les valeurs de champs par des tags nommés d'après les noms de champs.

Par exemple, l'option -x de la commande mysql fait ceci,

$ echo 'select * from news;' | mysql -X -u username -p password dbname

<?xml version="1.0"?>
<resultset statement="select * from news" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
	<field name="id">1</field>
	<field name="stamp">0</field>
	<field name="title"></field>
	<field name="date">0000-00-00</field>
	<field name="time">test</field>
	<field name="description">News Engine test item 1</field>
  </row>
</resultset>
$

Dans des cas moins triviaux mais encore simples, vous pouvez exporter en écrivant une routine de message qui forme la sortie en tant que document XML en ajoutant les étiquettes appropriées comme littéraux avant et après chaque valeur de données;

Et vous pouvez importer en tapant XSLT ou une transformation similaire qui forme des données XML en tant que fichier de chargement dans votre format de base de données préféré.

Par exemple, avec les données suivantes:

<news>
  <entry xml:id="N1" stamp="0" date="0000-00-00" time="test">
    <title></title>
    <description>News Engine test item 1</description>
  </entry>
</news>

Vous pouvez le convertir en MySQL avec lxprintf :

$ lxprintf -e entry \
  'INSERT INTO `news` VALUES (%s,%s,"%s","%s","%s","%s");\n' \
  'substring(@xml:id,2)' @stamp title @date @time description \
	mynews.xml

INSERT INTO `news` VALUES (1,0,"","0000-00-00","test","News Engine test item 1");
$

Les utilisateurs d'une base de données ou d'un domaine informatique doivent savoir que XML n'est pas un système de gestion de base de données: il s'agit d'un système d'étiquetage de texte.

Bien qu'il existe de nombreuses similitudes, certains des concepts d'une d'entre elles n'existent tout simplement pas dans la seconde: XML n'a pas de fonctions similaires aux bases de données de la même manière que les bases de données n'ont pas de marquage.

C'est une erreur commune de supposer que XML est un SGBD comme Oracle ou Access, et a donc les mêmes capacités.

Ce n'est pas le cas.

Les utilisateurs de la base de données devraient lire l'article (Salminen et Tompa, 2001) [grâce à Bart Lateur pour pouvoir l'identifier.] Ronald Bourret possède également une bonne source d'informations sur le XML et les bases de données sur les bases de données XML natives à http: /www.rpbourret.com/xml /XMLAndDatabases.htm.

Dans la note de recherche, vous trouverez des informations sur XQuery (XQL).

4.10: quel est l'espace de noms?

Le nom DTD / Schema ou l'URI identifié par l'URI (URL).

Randall Fowle écrit:

L'espace de noms est une collection de noms d'éléments et d'attributs identifiés par l'identificateur de source unique.

Le lien peut apparaître dans l'élément racine en tant que valeur d'attribut xmlns .

Par exemple, un espace de référence pour un document XML avec un élément racine <x> peut être affiché comme suit:

<x xmlns="http://www.company.com/company-schema">

Il peut y avoir plus d'un nom dans un document XML afin que le nom puisse être utilisé plusieurs fois.

Chaque référence peut déclarer le préfixe à utiliser par chaque nom, de sorte que l'exemple précédent peut apparaître comme

<x xmlns:spc="http://www.company.com/company-schema">

Qui désignerait l'espace de noms pour le préfixe "spc":

<spc:name>Mr. Big</spc:name>

James Anderson écrit:

En général, notez que la liaison peut également être effectuée par la valeur par défaut de l'attribut dans la DTD.

Le lien ne doit pas nécessairement être un fichier physique;

C'est simplement une façon de distinguer entre l'espace de noms.

Le lien doit informer la personne qui regarde le document XML pour trouver les définitions des noms d'éléments et des attributs en utilisant l'espace de noms donné.

Ronald Bourret tient Foire aux questions à http://www.rpbourret.com/xml/NamespacesFAQ.htm.

4.11: Quel logiciel XML est disponible?

Des milliers de programmes: trop de liste ici.

Des centaines, peut-être des milliers de programmes.

Les détails ne sont plus mentionnés dans ces questions fréquemment posées, car ils sont trop nombreux et sont très rapides à mettre à jour: consultez le site Web XML à http://xml.coverpages.org/ et suivez les notifications de liste A groupes.

Pour obtenir des instructions détaillées sur certains exemples de programmes XML et les concepts derrière eux, consultez la publication de l'éditeur (Flynn, 1998).

Il existe plusieurs implémentations de langues clés pour traiter et interroger XML (XSLT2, XQuery et XSL: FO), dont le plus populaire est probablement Saxon.

Le logiciel SGML, tel que Jade et SP (maintenant OpenSP), reste la source de plusieurs outils qui traitent également XML, en particulier onsgmls validant l'analyseur et sgmlnorm (voir Valid HTML Conversion to XHTML).

Les détails sur certains produits logiciels XML sont stockés sur des pages de couverture XML.

Pour les navigateurs, consultez la question sur les navigateurs XML et les détails de la liste de diffusion xml-dev pour les développeurs de logiciels.

Bert Bos exécute une liste de certains développements XML dans Bison, Flex, Perl et Python.

Les moteurs de développement et de développement à long terme tels que Omnimark et SGMLC possèdent toutes les fonctionnalités XML et fournissent toutes des API.

Éditeurs XML

La sélection de l'éditeur est l'une des tâches les plus difficiles, car tout le monde a des exigences et des niveaux de connaissances différents, et il semble que ce qui semble être incroyablement simple pour un utilisateur peut sembler difficile pour les autres.

Tous les éditeurs XML dirigent l'utilisateur à construire ou à maintenir des documents XML - c'est leur but dans la vie.

Le plus simple d'entre eux est seulement de suivre les crochets correspondants, les étiquettes de départ et les notes de fin, et des guillemets équilibrés, ce qui conduit à un ensemble bien formé.

Les éditeurs puissants peuvent lire le DTD ou le schéma, et fournir un menu d'éléments de manipulation et d'édition et empêcher la création de documents non valides.

Le plus puissant peut également être utilisé pour le développement DTD ou Schema et pour le traitement XML à l'aide de XSLT ou XSL: FO.

Certains sont des éditeurs en mode texte: ils affichent tous les tags et le texte sans rien caché, en utilisant souvent la couleur du marqueur de résolution et le décalage pour afficher la structure.

La plupart des éditeurs ont également un mode de typographie synchronique qui utilise une feuille de style pour formater la vue, de sorte qu'il semble que vous éditez une vue pleinement rendue d'un document (souvent appelé WYSIWYG, bien qu'il ne soit pas réellement).

Les éditeurs de texte inquiètent certains utilisateurs, car ils sont des accolades pointues (ils pensent que c'est une programmation);

Les éditeurs typographiques synchrones inquiètent les autres parce que les brackets pointu ne sont pas visibles, ce qui rend impossible de voir où les choses commencent et finissent.

Les éditeurs puissants sont programmables, de sorte que la nature et l'effet du marquage et de l'activité des utilisateurs peuvent être des scripts limités ou améliorés en JavaScript, VBscript, Python, Tcl, Lisp, etc.

Ou XSLT.

N'essayez pas d'utiliser un éditeur XML, tel que Notepad, vi, ou textedit pour les documents XML: il ne se termine que par des larmes, la colère et la pression.

Soyez correctement équipé.

(Le Microsoft Notepad autonome de Microsoft est utile pour modifier de petites instances, mais pas pour DTD ou développement de schéma).

Wikipedia a une comparaison des éditeurs à http://en.wikipedia.org/wiki/Comparison_of_XML_editors, mais ne fournit aucune information qualitative.

Il existe un ancien document comparatif (2004) sur la sélection d'un éditeur XML par Thijs van den Brok, qui peut aider à la méthodologie, bien que les produits ne soient pas à jour.

Plusieurs éditeurs sont disponibles gratuitement ou sans frais pour une démonstration / examen, mais si elles sont connues, la seule source ouverte est Emacs avec mode nxml (pour les schémas W3C et RNG) ou le mode psgml (pour DTD).

À http://xml.beginthier.nl/, il existe un lien utile pour les utilisateurs XML en néerlandais.

Pour plus d'informations sur les développeurs de systèmes XML chinois, visitez XML XML maintenant!

Site web de Academia Sinica: http://www.ascc.net/xml/ Cette page contient des questions fréquemment posées et des fichiers de test.

4.12: le logiciel manque

Programmes utiles qui ont disparu de la vue

Il y a probablement des dizaines de programmes utiles et productifs qui ont disparu.

Parfois, l'entreprise a simplement lutté et a disparu;

Parfois, c'était une source privée ou ouverte que l'auteur devait partir;

Et parfois (la pire) entreprise a été reprise par une autre société qui ne connaissait pas le XML, puis l'a acheté un autre, qui n'a aucune trace et les produits ont été abandonnés.

Il s'agit d'une liste de ceux que nous connaissions et aimions, mais dans certains cas, nous avons encore des disques d'installation et le logiciel peut encore être réalisé avec une plate-forme appropriée (désuète).

Near & Far (Microstar)

Programme de conception graphique SGML DTD pour Windows 95 qui vient d'être entré dans l'ère XML (il pourrait être exporté dans la syntaxe de la déclaration XML mais pas importé).

Remarquable est principalement pour sa représentation graphique interactif facile à utiliser et attrayante de la structure du document (encore utilisé par plusieurs fans pour la documentation).

DynaText / DynaTag / DynaWeb (Electronic Book Technologies)

Un système de fichiers Windows 95 / NT contenant la base de données SGML et un serveur Web servant à convertir HTML à partir de documents Word.

Le composant clé était DynaTag, qui vous permet d'importer un document Word et d'identifier des motifs dans une balise non XML qui est mappée aux éléments d'un document de sortie ad hoc SGML.

Les mappages sélectionnables par l'utilisateur vous permettent de coder les éléments de la liste dans la liste actuelle et de surmonter généralement l'obstacle dans les fichiers .doc Word pour créer la sortie marquée.

Cela pourrait alors être traité conformément à la DTD connue.

Des exemples suffisants de fichiers Word compilés de manière similaire pourraient libérer toute leur collection de conversion en vrac.

Microsoft SGML Author for Word

Malgré son nom, pas l'éditeur mais le convertisseur.

Il a utilisé le mappage des styles de texte à la balise SGML et a effectivement effectué une conversion sans perte circulaire.

Concentré sur les communautés d'auteurs qui ont échoué ou ont appris à créer ou à éditer dans SGML, ils ont permis la création de contenu Word et l'édition dans SGML, puis transféré le document à Word pour permettre aux auteurs de les ré-éditer.

Probablement une entrée derrière le contrat, Microsoft ne l'a jamais soutenu, et même son propre service d'assistance ne croyait pas que c'était vrai.

Panorama (SoftQuad)

Le plug-in Netscape vous permet de télécharger le style référencé par SGML (qui a fonctionné sans problème dès que vous vous êtes accroché à des références un peu bizarres).

Ils ont également implémenté des liens HyTime bidirectionnels et vous pouvez publier vos liens.

Également disponible en version Panorama Publisher, une version largement développée sous une forme distincte pour l'édition de documents à grande échelle.

Sa table de style reste l'un des meilleurs exemples de manipulation de style interactif.

Auteur / Éditeur (SoftQuad)

L'un des premiers éditeurs typographiques véritablement synchrones pour SGML (et XML, plus tard dans l'incarnation comme XMetaL).

Utilisé depuis de nombreuses années avec la soeur simplifiée HoTMetaL.

4.13: Quelles sont mes informations?

DATE ou DOCUMENT?

Cela dépend de votre utilisation.

Certaines différences importantes existent entre les principales classes d'applications XML et la façon dont elles sont utilisées.

Deux classes d'applications sont communément appelées applications "document" et "données", qui se reflètent dans un logiciel qui est généralement (mais pas toujours) concentré sur une classe ou l'autre.

Applications documentaires

Ils sont comme le travail traditionnel des éditeurs: texte et images dans un environnement structuré avec des lettres et du formatage.

Dans la plupart des cas, il comprend des sites Web ainsi que des documents destinés à imprimer du PDF ou à imprimer en tant que livres et magazines.

La caractéristique des demandes de documents est qu'elles utilisent un contenu mixte (par exemple, sous-éléments dans le texte).

Applications de style de données

Ceux-ci se trouvent principalement dans le commerce électronique, les services Web et le contrôle des processus ou des applications, le XML étant utilisé comme conteneur pour des informations stockées ou des transitions à l'échelle du système, généralement non formatées et invisibles pour les humains.

Leur caractère est l'absence de contenu mixte et l'apparition de données numériques ou catégorielles.

Il existe un troisième domaine important: le développement d'un site dont les besoins sont souvent hybrides et qui comprend les propriétés des applications document et données car elles contiennent des textes descriptifs partiellement statiques et des données partiellement dynamiques.

Bien qu'en théorie, il soit possible d'utiliser le logiciel de classe de données pour écrire un nouveau logiciel ou un logiciel de facture de classe, il serait probablement très peu optimum.

En raison de la nature de l'information utilisée par ces deux classes, les applications de classe de données ont tendance à utiliser des schémas, et les applications de la classe de documents ont tendance à utiliser la DTD, mais il existe un degré important de chevauchement.

La façon dont XML est utilisé dans ces deux classes est également divisée en deux: XML peut être utilisé manuellement ou sous contrôle de programme.

Utilisation manuelle

Cela signifie que vous éditez et maintenez les fichiers à l'aide de l'éditeur, à partir du clavier lorsque vous voyez des informations sur l'écran.

Ceci est approprié pour les documents individuels, en particulier pour la publication, pour les sites Web et pour les développeurs travaillant sur des instances individuelles telles que des exemples de fichiers ou des modèles de site Web.

Le traitement manuel implique également l'exécution de programmes de production tels que les formateurs, les convertisseurs et les requêtes de base de données, individuellement, avec le clavier et la souris de la manière habituelle.

Une grande partie du logiciel pour l'utilisation manuelle peut être exécuté à partir de la ligne de commande, ce qui le rend facile à utiliser pour les applications jetables et les applications cachées telles que les scripts Web.

Utilisation programmable

Cela signifie écrire des programmes qui appellent des services logiciels à partir d'API, de bibliothèques ou de réseaux pour traiter des fichiers XML à partir du programme.

Les fichiers XML dans les applications de données sont presque jamais modifiables manuellement.

Il s'agit d'un mode de fonctionnement commun pour les applications de commerce électronique, l'automatisation Web, les services Web et d'autres contrôles de processus ou d'applications.

Il existe des bibliothèques et des API pour de nombreuses langues, y compris Java, C et C ++, ainsi que des langages de script courants comme Python, Perl, Tcl, Ruby, etc.

En plus de ces axes, il existe actuellement deux façons différentes de traiter les données XML, mappées à la mémoire ou aux événements déclenchés, typiquement appelés par leurs instances d'origine, le Document Object Model (DOM) et l'API Simple pour XML (SAX).

Ils utilisent tous deux un modèle d'ingénierie de documents basé sur l'arborescence hiérarchique arborescente de l'arbre, connue sous le nom de Grove (arborescence qui est une carte efficace dans la mémoire du résultat de l'analyse documentaire parallèle).

Dans ce modèle, il est possible d'identifier chaque «noeud» (information) de l'élément externe vers le bas à travers chaque élément et son attribut sur chaque texte non marqué.

Les applications basées sur Scheme sont des informations d'approbation basées sur le schéma (PSVI, équivalent grove) qui spécifient les informations que l'analyseur doit mettre à la disposition de l'application.

Joe Fawcett écrit:

(dans <eFIrHKtCGHA.2920@tk2msftngp13.phx.gbl> )

Un bref «noeud» est un terme générique pour tous les types de blocs de construction XML, y compris l' élément : <myElement />;

attribut : <myElement myAttribute = "myValue" />;

et le texte du noeud : <My Text Node>

Il existe également des commentaires [ Déclarations de commentaires ], des instructions de traitement et un noeud de document invisible qui représente le document XML racine ainsi que d'autres.

L'application DOM basée sur une application, très simplifiée, utilise l'intégralité du document XML en mémoire, puis fournit un accès programmable à chaque noeud dans chaque arbre dans le bosquet;

Alors que l'application basée sur le document et les événements XML de l'application basée sur SAX est déclenchée par l'apparition des nœuds qui sont arrivés pour lesquels les règles ou les actions ont été programmées.

(En fait, il est plus complexe et les deux méthodes partagent de nombreux concepts communs.)

Les deux modèles fournissent une API abstraite pour créer, accéder et manipuler des documents XML.

L'API abstraite de liaison pour un langage de programmation particulier fournit une API spécifique.

Les fournisseurs fournissent des API spécifiques qui permettent une ou une autre méthode pour interroger et manipuler des documents XML.

Les deux types d'analyse ont été implémentés dans de nombreuses langues et sous de nombreux systèmes d'exploitation et interfaces.

Il existe des questions fréquemment posées pour DOM et SAX.

4.14: Dois-je changer n'importe quel logiciel de mon serveur pour travailler avec XML?

Assurez-vous que le serveur envoie des fichiers XML comme texte / xml

Si vous avez des fichiers statiques.

Les seuls changements nécessaires sont pour que votre serveur affiche .xml , .css , .dtd , .xsl et tous les autres types de fichiers que vous utilisez comme types corrects de contenu MIME (média).

Les détails des paramètres sont fournis dans RFC 3023. Le logiciel de serveur populaire comme Apache HTTPD le sait déjà.

Sinon, modifiez simplement le fichier mime-types (ou son équivalent: en tant qu'opérateur du serveur, vous savez déjà où vous voulez le faire?) Et ajoutez ou modifiez les lignes appropriées pour les types de média corrects.

Sur certains serveurs (par exemple, Apache), les fournisseurs de contenu individuels ou les propriétaires de répertoires peuvent modifier les types MIME pour les types de fichiers spécifiques à partir de leurs propres répertoires en utilisant les directives du fichier .htaccess .

Les types de supports requis sont les suivants:

  • texte / xml pour les documents XML «lisibles par les utilisateurs informels»;
  • application / xml pour les documents XML qui sont illisibles pour les utilisateurs normaux;
  • les entités analysées par texte / xml externes pour des entités externes analysées telles que des fragments de documents (par exemple, séparer les chapitres qui composent le livre) sous réserve de lisibilité texte / xml;
  • application / xml-external-parsed-entity pour les entités analysées de manière externe soumises à une application derésolution de lisibilité / xml;
  • application / xml-dtd pour fichiers et modules DTD, y compris un ensemble d'entités de caractères.

RFC a d'autres suggestions pour utiliser le type + xml type suffixe pour identifier les fichiers auxiliaires tels que XSLT ( application / xslt + xml ).

Si vous exécutez des scripts XHTML que vous souhaitez traiter avec XML plutôt que HTML, vous devrez peut-être les modifier pour créer la déclaration appropriée du type de document et le type de média approprié si votre demande nécessite une vérification.

4.15: Puis-je utiliser les inclusions côté serveur?

Oui, assurez-vous que la sortie correspond à XML

Il fonctionne aussi longtemps que ce qu'ils génèrent finit dans le cadre d'un fichier compatible XML (c'est-à-dire valide ou simplement bien créée).

Modèles pour les tags de script côté serveur comme shtml, PHP, JSP, ASP, Zope, etc.

Ils enregistrent des fichiers presque valides en utilisant des commentaires, des instructions de traitement ou des balises non XML remplacées par un texte ou une balise XML dans un emplacement de service (il n'est pas clair pourquoi certains de ces systèmes utilisent une balise non HTML / XML).

Il existe également des préprocesseurs basés sur XML pour des formats tels que XVRL (eXtensible Value Resolution Language) qui résolvent des liens spécialisés vers des données externes et la sortie d'un fichier XML standardisé.

4.16: Puis-je (et mes auteurs) utiliser encore les inclusions côté client?

Oui, assurez-vous que la sortie correspond à XML

La même règle s'applique aux inclusions côté serveur, vous devez donc vous assurer que tout code intégré transmis au moteur tiers (par exemple, SQL, VB, Java, etc.) ne contient aucun caractère qui pourrait être mal interprété comme Balise XML (c.-à-d., Sans angle ni interchangeable).

Utilisez la section intitulée CDATA pour éviter d'analyser l'application XML par code intégré, entités A et personnage.

4.17: Je dois rédiger un rapport XML pour mon gestionnaire / client / investisseur / consultant.

De quoi me souviendrais-je?

Etiquetage souple polyvalent non productif

Tad McClellan écrit:

  • XML n'est pas un langage de balisage.XML est une méta-langue, c'est-à-dire une langue qui vous permet de définir vos propres langues de marque (voir définition).
  • XML est le langage de balisage [deux (apparemment) des déclarations contradictoires, un par un est un périphérique avec l'attention que j'aime], pas un langage de programmation.Le XML est une indication: il ne fait rien, il doit faire des choses.
  • XML n'est pas propriétaire: vos données ne peuvent pas être prises en otage par d'autres.
  • XML permet l'utilisation multiple de vos données.
  • Les applications XML bien conçues séparent le contenu le plus souvent de la «présentation».Vous devriez décrire ce qui ressemble plutôt à ce qui ressemble (à l'exception du contenu de données numériques ou catégoriques qui n'est jamais imaginé pour les personnes).

Dire que "les données sont en XML" est une revendication plutôt inutile, semblable à ce que le «livre est dans la langue naturelle».

Pour être utile, le premier doit spécifier "nous avons utilisé XML pour définir notre propre langue de marque" (et dire ce que c'est), tout comme le "livre est en français".

Un exemple classique de polyvalence et de séparation, que j'utilise souvent, est une société pharmaceutique.

Ils disposent d'une large base de données sur le médicament spécifique qu'ils doivent publier, par exemple:

  • Rapports de la FDA;
  • information sur les médicaments pour les éditeurs / catalogues de listes de médicaments;
  • Brochures "Pressez-moi" pour envoyer à un médecin;
  • petits morceaux de papier qui pourraient être tirés dans la boîte;
  • étiquettes sur bouteilles;
  • deux pages fines pour regarder votre publicité dans Reader's Digest;
  • instructions pour que le patient soit expédié par le pharmacien local;
  • etc.

Sans séparation et présentation de contenu, ils doivent conserver des informations sensiblement identiques à 20 endroits.

S'il n'y a pas de place, les gens meurent, les avocats deviennent riches et la compagnie pharmaceutique empire.

Avec XML (ou SGML), ils conservent un ensemble d'informations soigneusement validées et écrivent 20 programmes [ou un programme avec 20 sorties (Ed)] pour l'extraction et le formatage de chaque application.

Les mêmes 20 programmes peuvent maintenant être utilisés pour toutes les centaines de médicaments qu'ils vendent.

Dans le domaine du développement web, la plus grande chose que XML fournit est de déterminer ce qui se passe avec HTML:

  • les navigateurs vous permettent de voir le code HTML incompatible;
  • HTML est limité à un ensemble de tags ("tags").

Si vous laissez le travail brisé avec HTML (présent), il n'y a pas de motivation pour l'éliminer.

Les sites Web sont donc des soupes de marque qui ne sont pas nécessaires pour un traitement ultérieur.

XML spécifie que le traitement ne peut pas continuer si XML n'est pas conforme, de sorte que vous continuerez à fonctionner jusqu'à ce qu'il soit conforme.

C'est plus de travail à venir, mais le résultat n'est pas mort.

Si vous vouliez nommer les noms des personnes, des villes, des entreprises, etc.

En HTML, vous n'avez pas beaucoup d'options qui vous permettent de distinguer entre elles.

XML vous permet de nommer des choses comme:

<person>Charles	Goldfarb</person> worked at <company>IBM</company>

vous donne une flexibilité que vous n'avez pas avec HTML:

<B>Charles Goldfarb</B> worked at <B>IBM</B>

Merci à XML, vous n'avez pas besoin d'envelopper vos données en tags qui limitent vos options.

4.18: Existe-t-il des tests de conformité pour les processeurs XML?

Oui, c'était: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xslt

James Clark dispose d'un ensemble de cas de test pour tester les analyseurs XML à http://www.jclark.com/xml/, qui comprend un test de conformité "XML canonique".

Carmelo Montanez écrit:

NIST a développé un certain nombre de tests XSLT / XPath qui feront partie du paquet OASIS XSLT / XPath officiel (pas encore publié).

La production prévue peut varier légèrement d'une implantation à l'autre.

Le comité technique OASIS XSLT a une solution à ce problème, mais nos tests ne constituent pas encore une telle solution.

Envoyez tous les commentaires à carmelo@nist.gov.

Jon Noring écrit:

Pour ceux qui s'intéressent, j'ai pris les personnages actuels et complets Unicode 3.0 '' cast '' et leurs codes hexadécimaux et créé un document XML simple pour tester les navigateurs XML pour la conformité Unicode.

Pas encore terminé - Je dois ajouter des commentaires et corriger l'affichage des caractères RTL (c.-à-d. Hébreu, arabe).

Trouvez-le à l'adresse suivante: http://www.windspun.com/unicode-test/unicode.xml.

Il est assez grand, il a presque 900K, alors préparez-vous.

IE5 fait beaucoup de caractères dans ce document XML - et pour ceux qui le font, ils semblent faire le bon choix.

Je suis impatient de faire Opera aussi.

Je n'ai pas testé la version actuelle de Mozilla / Netscape pour correspondre au format Unicode.

4.19: Est-ce que j'ai obtenu SGML DTD: comment puis-je les convertir à utiliser avec XML?

Modifiez ou utilisez manuellement un logiciel tel que Near + Far Designer.

Il existe un certain nombre de projets qui permettent la conversion de DTD SGML commun ou populaire en XML (p. Ex. TEI DTD (Lite et Full Version) et DocBook DTD sont disponibles en SGML et XML dans les formats Schema et DTD).

Sean McGrath écrit:

Conversion de SGDD DTD en XML:

  1. Pas d'équivalent de la déclaration SGML.Mots-clés, jeu de caractères, etc.Ils sont essentiellement fixés;
  2. Le <! ELEMENT x-O (A, B)>devient <! ELEMENT X (A, B)> et <! ELEMENT X - O EMPTY> devient <! ELEMENT X EMPTY> ;
  3. #PCDATA doit être uniquement à l'extrême gauche (c'est-à-dire dans le premier) dans le modèle OR, par ex.<! ELEMENT x - (A | B | #PCDATA | C)> (dans SGML) << ELEMENT x (#PCDATA | A | B | C) est illégal.
  4. Pas de CDATA, RCDATA [contenu déclaré];
  5. Certains types d'attributs SGML ne sont pas autorisés dans XML, par ex.NUTOKEN;
  6. Certaines valeurs par défaut pour les attributs SGML ne sont pas autorisées dans XML, par ex.CONDUIRE UN COURANT;
  7. Les commentaires ne peuvent pas être intégrés à des instructions comme celle-ci
    <!ELEMENT x - - (A,B) -- an SGML comment in a declaration -->
  8. En XML, l'ensemble du groupe de fonctions optionnel SGML n'est pas présent: toutes les formes de minimisation d'étiquette (OMITTAG, DATATAG, SHORTREF, etc.);Définir les processus de liaison;DTD multiple par document;Et beaucoup plus: voir http://www.w3.org/TR/NOTE-sgml-xml-971215 pour une liste de bits SGML qui ont été supprimés pour XML;
  9. Et last but not least, aucun CONCUR!
  10. Il existe des différences importantes entre les parties interne et externe d'un sous-ensemble de DTD en XML: les sections marquées ne peuvent se produire que dans le sous-ensemble externe;Une entité paramétrique doit être utilisée pour remplacer les instructions entières dans la partie interne d'un sous-ensemble DTD, par exempleVoici un XML invalide:
    <!DOCTYPE x [ 
    <!ENTITY % modelx "(A|B)*"> 
    <!ELEMENT x %modelx;> 
    ]> 
    <x></x>

Pour plus d'informations, voir McGrath (1998).

4.20: Comment puis-je inclure une DTD (ou un fragment) dans une autre?

Utilisez le paramètre d'entité ainsi que SGML

Cela fonctionne exactement comme pour SGML.

D'abord, vous déclarez l'entité que vous souhaitez inclure, puis vous l'identifiez comme une entité de paramètre:

<!ENTITY % mylists SYSTEM "dtds/listfrag.ent"> 
... 
%mylists;

De telles déclarations indiquent généralement le haut du fichier DTD principal où elles peuvent être gérées et maintenues, mais cela n'est pas nécessaire si elles sont déclarées avant qu'elles ne soient utilisées.

À cette fin, vous utilisez la syntaxe des paramètres (pourcentage de caractère) car le fichier doit être inclus dans le temps de compilation DTD plutôt que d'analyser l'instance réelle du document.

Notez que l'URI est obligatoire dans XML comme identifiant du système pour toutes les références de fichiers externes: les règles de déréférencement URI standard s'appliquent (assument la même méthode, le même serveur et le même répertoire que le document).

L'identificateur public formel peut également être utilisé selon les mêmes règles qu'ailleurs.

4.21: Comment puis-je inclure une déclaration conditionnelle dans mon XML?

Vous ne pouvez pas en tant que tel: XML n'est pas un langage de programmation.

Vous ne pouvez pas le faire: XML n'est pas un langage de programmation, donc vous ne pouvez pas dire des choses comme

<foo if{DB}="A">bar</foo>

Cependant, vous pouvez avoir des critères conditionnels dans le schéma, la DTD ou le processeur, et certaines DTD fournissent des attributs pour le traitement conditionnel.

Si vous devez créer un élément facultatif, en fonction de certains critères internes ou externes, vous pouvez le faire dans le diagramme.

Les DTD n'ont pas de mécanisme de référence interne, de sorte qu'il n'est pas possible d'exprimer ce type de conditionnalité dans DTD au niveau des éléments individuels.

Il est possible d'exprimer la condition de présence ou d'absence dans DTD pour l'ensemble du document en utilisant les paramètres Entity en tant que commutateurs booléens qui incluent ou ignorent certaines parties de DTD en fonction des réglages fixés dans la DTD ou fournis dans le sous-groupe interne.

Les DTD utilisent ce mécanisme pour implémenter la modularité.

Alternativement, vous pouvez rendre l'élément entièrement sélectionnable dans un DTD ou un schéma et fournir le code dans votre logiciel de traitement qui vérifie sa présence ou son absence.

Ceci est contrôlé jusqu'à l'étape de traitement: l'une des raisons du schéma consiste à fournir ce type de contrôle au moment de la création ou de l'édition des documents.

Dans le traitement des langues, telles que XSLT, il existe des constructions de traitement conditionnel, à la fois pour IF simple et pour la sélection exclusive de cas:

<xsl:if test="@foo='bar'">
  <xsl:text>Hello, world!</xsl:text>
</xsl:if>

<xsl:choose>
  <xsl:when test="$type=1">
    <xsl:apply-templates select="//*[@class='special']"/>
  </xsl:when>
  <xsl:when test="$type=2">
    <xsl:apply-templates select="/foo/bar"/>
  </xsl:when>
  <xsl:otherwise>
    <xsl:apply-templates/>
  </xsl:otherwise>
</xsl:choose>

Le document DocBook et de nombreux autres DTD et diagrammes fournissent des attributs pour certaines fonctionnalités pour spécifier l' efficacité , en précisant quelles parties du document sont sujettes aux circonstances.

Le logiciel de traitement peut être isolé et traité en conséquence.

4.22: Quelle est l'histoire de XML et EDI?

Comment s'y rendre: il a encore besoin de plus de travail et de consentement.

L'échange électronique de données a été utilisé dans le commerce électronique depuis des années pour échanger des documents entre partenaires commerciaux.

Cela nécessite un logiciel propriétaire et il est disproportionnellement coûteux à mettre en œuvre pour les petites et moyennes entreprises.

Il existe des mouvements qui permettent aux documents EDI de voyager à l'intérieur de XML ainsi que des suggestions pour remplacer les formats EDI existants par XML.

À http://www.eccnet.com/xmledi/guidelines-styled.xml et http://www.geocities.com/WallStreet/Floor/5815/guide.htm, vous pouvez trouver des documents avec des instructions.

Probablement le plus grand effet sur l'EDI est l'augmentation des tentatives de normalisation des documents et des transactions XML.

La norme parrainée conjointement par OASIS et les Nations Unies / CEFACT est ebXML (Electronic Business XML), qui fournit un schéma pour les types courants de documents de transaction commerciale.

Les documents de bureau normal (feuilles, rapports, tableurs, etc.) sont déjà effectués en utilisant les matériaux énumérés ci-dessus dans OASIS Open Office XML Formats TC.

D'autres normes comme OAGI et RosettaNet passent par des tests d'interopérabilité avec ebXML.

En plus des normes complètes, il existe de nombreux outils pad, interopérabilité et bibliothèques de composants, tels que XML Common Business Library (xCBL).

Section 5: annexes

5.1: Références

Il existe une bibliographie beaucoup plus vaste de XML et SGML à http://xml.coverpages.org/biblio.html.

Cette liste s'applique uniquement aux documents référencés directement dans ces questions fréquemment posées.

références

Bray, Tim;

Jean Paoli;

CM Sperberg-McQueen;

Eve Maler;

A François Yergeau (éditeurs) (2004) Extensible Markup Language (XML) 1.0, Boston: W3C.

DuCharme, Bob (1999) XML: Spécification annotée, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0-13-082676-6.

Ensign, Chet (1995) "Si SGML est aussi intelligent qu'il n'y a pas, n'est pas riche?"

Dans Proc.

SGML'95, Boston, MA, décembre 1995.

Flynn, Peter (2014) Informations sur le formatage: Introduction à LATEX, Cork, Irlande: Consultants Silmaril.

Flynn, Peter (1998) Comprenant SGML et XML, Boston, MA: Kluwer, ISBN 0-7923-8169-6.

Flynn, Peter (1995) "Plus d'utilisation du marquage".

Dans Proc.

SGML'95, Boston, MA, décembre 1995.

Lamport, Leslie (1994) LATEX: Document Preparation System, Reading, MA: Addison-Wesley, ISBN 0-201-52983-1.

Maler, Eve et Jeanne el Andaloussi (1995) Développement des DTD SGML: du texte à la modélisation à Markup, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0133098818.

McGrath, Sean (1998) Exemple XML: Construction d'applications commerciales, Upper Saddle River, NJ: Prentice Hall PTR, ISBN 0139601627.

Pawson, Dave (2002) XSL-FO: Création de XML est une bonne impression, Sebastopol, CA: O'Reilly, ISBN 0-596-00355-2.

Salminen, Airi et Frank Tompa (2001) "Exigences pour les systèmes de bases de documents XML".

Dans Proc.

Symposium ACM sur l'ingénierie des documents, Atlanta, GA, novembre 2001.

Sperberg-McQueen, Michael et Lou Burnard (éditeurs) (2002) "Gentle Introduction to XML".

Dans «TEI P4: lignes directrices pour l'encodage et l'échange de textes», Oxford, Providence, Charlottesville, Bergen: Consortium de l'initiative de codage du texte.

Truss, Lynne (2003) Eats, Shoots & Leaves: Zero Tolerance Approch to Interpunction, Londres: les livres de profil, ISBN 1-86197-612-7.

5.2: À quelle distance allons-nous?

À l'infini et au-delà!

Le lancement d'un moteur de recherche sur cette FAQ a produit des résultats intéressants des alertes de correspondance et de correspondance.

Le sexe est passé à la 10ème place.

  • L'exigence la plus courante (un total de 5%) est maintenant un seul caractère, soit comme nom d'entité de caractère, soit comme valeurs numériques, soit l'un des marqueurs (<ou &).
  • Au cours des derniers mois, la deuxième plus grande catégorie s'est stabilisée comme le mot dtd (3%).
  • Troisièmement, le CDATA atteint un niveau de 2% (donc abusif par rapport à l'abus).
  • Le quatrième est égal à 1% de XSD et XSL, et aucun d'eux ne le regarde de près car ils ont leurs propres questions fréquemment posées.

Les morceaux amusants sont profondément en queue ainsi que l'utilisateur de Broomfield, CO, qui a écrit "Comment puis-je analyser le téléphone pour mieux le comprendre?" (La dégradation des morceaux est probablement le début);

Celui qui voulait savoir de Phillipines comment «décrire les cinq interactions de base entre les rayons X ou les rayons gamma avec la matière» (essai DS9);

Celui de Culver City, CA, qui a demandé: "comment sont les organes échinodermiques différents des invertébrés inférieurs?" (Comme si j'étais intéressé?);

Et celui de Lexington, KY, qui a demandé: "Comment puis-je ajouter deux champs de texte?" (Ai-je reçu, d00d, comment multipliez-vous la laitue et le concombre?).

 

Pour SGML-curieux parmi nos lecteurs, c'est:

<!element cut - o empty>
<!attlist cut mustard (mustard) #required> 
<!-- :-) -->

5.3: Aucune FAQ XML

Foire aux questions

Il s'agit d'une liste de sujets que les gens ont posées ou recherchés en relation avec des problèmes XML qui ne sont pas directement liés à XML, à sa technologie ou aux questions fréquemment posées.

Il contient également quelques définitions de commentaires pour les utilisateurs qui sont venus à XML de différentes façons et ne doivent pas être exposés à l'arrière-plan de la publication de documents.

Les lecteurs peuvent également essayer de voir la page "Aucune question SGML" de Joe English à http://www.flightlab.com/~joe/sgml/faq-not.txt.

AJAX

HTTP asynchrone, Javascript et XML.

Technique pour améliorer l'interactivité du site Web tandis que le script du navigateur reconnaît l'activité de l'utilisateur et précharge les données demandées de manière asynchrone à partir d'un magasin de données XML pris en charge au lieu d'attendre que l'utilisateur clique sur le lien et ne demande pas de manière synchrone au serveur.

attributs

Ce sont des éléments de métadonnées ou de méta-informations (informations) qui peuvent être ajoutés à la balise de départ d'un élément particulier.

En règle générale, les attributs sont un moyen d'améliorer la signification, la fonction ou la qualité d'un autre élément.

Ils ont la forme du nom et la valeur citée par l'étiquette égale,

<part xml:id="B22" catnum="51N1573R" level="App">Left-handed
      Screwdriver</part>

Les noms d'attributs doivent être régis par XML pour les noms (voir spécification).

Si votre application n'utilise pas de DTD ou de schéma, les valeurs d'attribut sont considérées comme un texte pur (CDATA) et XML ne peut avoir aucune signification particulière (sauf xml: id et xml: lang , voir ci-dessous).

Dans les attributs DTD ou Schema, les attributs peuvent être attribués aux types de données, dont le plus commun (pour simplifier, utiliser la terminologie DTD):

ID ou IDREF

Les valeurs des attributs ID doivent être des noms XML (pas d'espaces, doivent commencer par une lettre) et doivent être uniques dans le document.

La valeur de l'attribut IDREF peut se produire arbitrairement, mais la valeur d'attribut ID doit être dans le même document.

ID et IDREF sont les plus couramment utilisés pour les références croisées de documents.

Notez que l'attribut ID peut avoir n'importe quel nom: il ne faut pas l'appeler «ID» même si c'est souvent le cas.

Au contraire - en tant que meilleure pratique - vous ne devriez jamais utiliser le nom "id" pour un attribut qui n'est pas un ID de type simplement parce qu'il est déroutant.

Si votre application a des valeurs d'identité uniques que la communauté appelle l'ID et qui ne sont pas des noms XML, soit le nom d'un autre attribut (p. Ex., L'ID du produit), soit le document fort que la valeur n'est pas un identifiant XML.

Il existe une recommandation du W3C selon laquelle les concepteurs de types de documents devraient utiliser le nom de l'attributxml: id et cela peut interpréter l'analyseur comme ID unique sans avoir à utiliser un document ou un schéma DTD.

CDATA

Juste un texte.

Liste des tokens

L'attribut doit comporter un nombre limité de valeurs (indiquées entre parenthèses dans l'instruction, séparées par des barres verticales), par ex.

<!ATTLIST part level (App|Jny|Mst) #REQUIRED> 
<!ATTLIST Q.27 resp  (Yes|No) "Yes">

Dans le premier exemple, il n'y a pas de valeur par défaut et la valeur est obligatoire.

Dans ce dernier cas, la valeur par défaut est "Oui" (si l'attribut est omis, l'analyseur aura une valeur par défaut de la valeur par défaut).

ENTITÉ

La valeur de l'attribut doit être une entité déclarée.

NMTOKEN

Le nom du nom du nom XML est en tant que valeur ID (sans espace), mais il peut commencer par une lettre sans lettres (p. Ex. Numéros ou ponctuation).

Attributs spéciaux

En plus du xml: id (répertorié ci-dessus), il existe deux versions XML supplémentaires:

xml: space

Afin d'indiquer l'intention que l'espace blanc doit être stocké par l'application dans cet élément;

xml: lang

Spécifiez la langue utilisée dans le contenu et les valeurs d'attributs de n'importe quel élément.

Pour plus de détails, reportez-vous aux sections 2.10 et 2.12 de la spécification.

Il existe une plus grande gamme de types de données dans les schémas que dans DTD et chacun d'eux peut être combiné avec des critères de validation.

Les attributs dans DTD peuvent être déclarés # REQUIS (obligatoire), #IMPLIED (facultatif) ou #FIXED (prédéfini et inchangé).

Il n'y a pas de limite à la longueur de la valeur de l'attribut, mais vous devez vérifier si le logiciel de traitement peut traiter des volumes de données inhabituels si vous souhaitez utiliser des longueurs très longues.

BPEL

Business Process Language est une spécification basée sur XML des étapes requises pour créer le processus commercial coopératif entre les serveurs agréés.

Marque de commande d'appartement

Signature à deux octets (0xFEFF, définie dans Unicode et ISO 10646) qui doit être associée à un document XML utilisant l'encodage UCS-2 pour permettre aux processeurs de distinguer entre UCS-2 et UTF-8 encodage.

couleur

XML est conçu pour identifier des informations sur la structure et le contenu des documents texte, et non leur apparence.

Bien qu'il soit tout à fait possible d'identifier et de stocker des informations sur les performances, ces informations sont généralement stockées dans un modèle de style CSS ou XSL.

Si vous devez enregistrer des informations sur le formatage ou l'apparence d'un document existant, il existe des fonctionnalités TEI Schema / DTD.

Exportation de données

Une exigence commune pour un modèle de données plat qui est utilisé dans de nombreux systèmes de commerce électronique est d'exporter des données XML vers un format CSV (Comma-Separated Values) utilisé comme entrée de table.

Il existe un exemple simple d'un petit script que vous pouvez faire ici.

Des routines complexes et sophistiquées peuvent être facilement écrites à l'aide de XSLT ou d'un autre logiciel de traitement XML.

Les utilisateurs doivent être conscients que si la conversion CSV est adaptée aux formats de données simples, c'est un format inapproprié pour les documents XML standard et en texte clair qui utilisent des modèles à contenu mixte.

Importation de données

De nombreux projets XML nécessitent l'importation de documents existants dans des formats autres que XML.

L'importation de documents HTML existants est expliquée dans Comment créer mes fichiers HTML existants en XML? Et si vous pouvez convertir des documents XHTML;

C'est probablement la méthode la plus simple.

OpenOffice stocke les fichiers Open Document Format (ODF), qui sont une norme internationale pour les documents bureautiques XML.

Les fichiers Word peuvent être enregistrés sous forme de WordML (2003) ou Office Open XML (2007: alternative de Microsoft à ODF).

Dans les deux cas, une transformation XSLT peut être créée pour créer le format d'importation XML approprié.

Cependant, pour les documents complexes dans d'autres formats, un logiciel de conversion spécialisé est requis.

Certains éditeurs XML commencent à offrir une conversion intégrée d'autres formats, et il existe de nombreux systèmes de conversion distincts (certains avec un coût élevé) pour les formats qui ne sont pas facilement accessibles par des machines telles que PDF, PostScript, LATEX, Quark XPress et les plus exclusifs formats de document.

Le point critique est que presque tous les documents non SGML (non SGML) sont formatés de manière à être lisibles par l'utilisateur et agréables, pas lisibles par machine.

Il arrive souvent que les informations requises pour rendre le document significatif en XML n'existent tout simplement pas dans ces formats.

La seule alternative pour cette classe de documents est de les faire revérifier ou scanner en XML par une des nombreuses entreprises du sous-continent indien ou du Pacifique.

inconvénients

La balise XML comporte plusieurs inconvénients:

  • Il peut être détaillé à moins que les noms et les attributs des éléments ne soient sélectionnés avec soin.Dans les gros documents, les frais généraux des marqueurs peuvent ne pas être importants, mais dans de brèves informations, il peut être significativement plus élevé que les données réelles, surtout si les noms d'éléments ou les attributs sont créés par la machine.
  • La marque de chevauchement n'est pas autorisée (l'élément ne peut pas démarrer à l'intérieur d'un élément et se terminer par un autre): La marque d'élément doit être hiérarchiquement hiérarchisée.
  • La plupart des applications exigent que le document soit lu dans son ensemble avant qu'il puisse être analysé et traité.Cela peut être un problème pour les documents très importants (plus grand que la mémoire adressable du système informatique).Il est probable que XML est un outil incorrect à utiliser pour les fichiers de cette taille, mais il existe des systèmes de diffusion qui leur permettent de traiter.
  • Quelque logiciel est vraiment moyen.

éditer

Pour éditer (ouvrir) un fichier XML, vous devez utiliser un éditeur XML.

Vous pouvez ouvrir un fichier XML à l'aide d'un éditeur de texte régulier ou même d'un traitement de texte, mais rappelez-vous qu'ils peuvent essayer de reformater le fichier de manière incorrecte parce qu'ils ne comprennent pas XML.

entités

L'unité est une unité de stockage en XML.

Il peut être aussi petit qu'un personnage ou aussi grand que le document entier.

Quatre types d'entités sont déclarées:

Sujets généraux

Ce qui peut être similaire aux macros de remplacement de chaîne:

<!ENTITY IBM "International Business Machines">

Ils peuvent être utilisés pour entrer une valeur raccourcie ou pour garantir une seule orthographe comme IBM;

Et ils sont remplacés lorsque le fichier est analysé.

Ils peuvent également inclure des fichiers externes:

<!ENTITY chap5 SYSTEM "chapter5.xml">

qui peut être utilisé comme un mécanisme pour inclure des fichiers à l'endroit où vous collez & chap5;

Les entités externes du fichier général peuvent ne pas contenir ni la déclaration XML ni la déclaration de type de document.

Sujets du document

Il s'agit de fichiers généraux externes, sauf qu'ils spécifient le type de données qu'ils contiennent, en utilisant la Notation déclarée, afin que l'analyste et l'application puissent décider de leur processus (par exemple, les inclure ou les transférer sur un autre programme spécifique à leur support):

<!ELEMENT link (#PCDATA)> <!ATTLIST link to ENTITY #REQUIRED>
... 
<!NOTATION PDF PUBLIC 
  "-//Adobe//NOTATION Portable Document Format//EN//PDF"
  "http://partners.adobe.com/public/developer/pdf/index_reference.html"> 
<!ENTITY pricelist SYSTEM "/sales/pricelist.pdf" NDATA PDF> 
... 
<para>Please refer to our <link to="pricelist">current price list</link>.</para>

 

Il fournit une méthode exceptionnellement robuste pour définir une entité externe une fois et permet de la référencer à plusieurs reprises (si le nom du fichier externe change, il suffit de mettre à jour la déclaration de l'entité).

Entités de personnage

Comment & aacute;

qui représentent des caractères que les utilisateurs peuvent entrer sans les fonctions de clavier requises comme «a»;

Entités paramétriques

Ce sont des entités générales mais ne peuvent être référencées que dans DTD.

Ils sont utilisés pour vérifier le contenu des modèles, inclure ou exclure des déclarations et modifier les constructions modulaires:

<!ENTITY % local.qandaset.mix "|bibliodiv">

(Utilisez l'exemple DTD pour cette FAQ), où la combinaison de types d'éléments dans le modèle de contenu qandaset est spécifiée par qandaset.mix (défini par DocBook) et local.qandaset.mix (défini par [Me]), donc DTD peut être amélioré sans que vous devez être édité.

Les noms d'entités génériques, y compris les objets de document XML et les entités de personnages, commencent toujours avec l'image-à-signer ( & ) et finissent avec un point ( ; ) et peuvent être utilisés n'importe où dans votre document.

Les unités de paramètres ne peuvent être utilisées que dans les DTD: elles commencent par un pourcentage ( % ) et se terminent par une ligne pointillée.

calcul

Pour compter le nombre d'occurrences d'un nœud dans un document XML, vous pouvez utiliser la fonction de comptage dans XSL [T], par exemple,

<xsl:value-of select="count(//chapter)"/>

Pour utiliser un compteur d'élément répété, utilisez l'élément xsl:

<xsl:number select="appendix" level="any" format="A"/>

Pour plus d'informations sur XSLT, voir Comment puis-je contrôler le formatage XML?

Variables d'environnement

XML est un langage de balisage, pas un langage de programmation, donc il n'a pas de concept de variables d'environnement.

Toutefois, si vous utilisez DTD et que vous accédez à vos fichiers XML sous le contrôle du programme (par exemple, plutôt que manuellement), il est possible de modifier la valeur des attributs ou des entités déclarés (par exemple, avec un éditeur de flux comme sed) avant que le fichier ne s'ouvre et transfère ainsi des valeurs de l'extérieur dans un document.

Une approche similaire serait possible pour les schémas.

insaisissable

L'échappement signifie temporairement la façon dont le programme fonctionne pour faire autre chose avec les données.

Dans SGML, il était fréquent d'utiliser uniquement des caractères ASCII dans vos documents car les claviers, les écrans et les polices pour d'autres caractères étaient souvent indisponibles.

Pour échapper aux limites de ce format pour les caractères qui ne sont pas des caractères ASCII tels que les signes diacritiques et les symboles, un ensemble de noms mnémoniques qui sont préfixés par le signe e ( et ) pour une fuite, puis un point-virgule ( ; ) qui il s'éteint, donc il a été donné comme & aacute;

XML vous permet d'utiliser Unicode, de sorte que n'importe quel caractère ou symbole dans n'importe quelle langue peut être entré en un seul.

Si vous utilisez le codage UTF-8 dans vos documents, il n'est pas nécessaire d'utiliser des fuites, à l'exception de deux étiquettes ( < a & ).

Cependant, certains ne possèdent pas d'éditeur Unicode et les polices Unicode completes sont très volumineuses, donc, dans les langues alphabétiques, il est fréquent que vous choisissiez le codage qui vous permet d'utiliser la plupart des caractères dont vous avez besoin et d'utiliser des fuites pour des caractères supplémentaires occasionnels.

Point décimal flottant

Vous ne pouvez pas déclarer le contenu ou les valeurs d'attributs comme des points flottants (ou de nombreux autres types de données) à l'aide de DTD.

Pour ce faire, vous devez utiliser le schéma.

GTT

Gnome Time Tracker fait partie de l'interface Gnome, qui est largement utilisée sur Linux.

Une partie des données internes est configurée en XML.

jeux

Je ne connais aucun jeu informatique écrit en utilisant XML, mais XML est utilisé dans certains fichiers de contrôle interne et des configurations qui utilisent des jeux.

idempotence

Le terme utilisé dans la spécification HTTP pour décrire la nature des besoins en ressources répétées qui ne contiennent pas d'effets secondaires.

javascript

ECMAscript (avec son vrai nom) n'a rien à voir avec Java.

Il est conçu pour fonctionner à l'intérieur des fenêtres du navigateur, naviguer ou agir pour marquer une page pour créer du contenu dynamique, valider des formulaires ou créer des instanciers d'une manière qui n'est pas possible avec le HTML statique.

Il est également conçu pour qu'il ne puisse pas écrire sur le système de fichiers d'un utilisateur pour des raisons de sécurité, de sorte qu'il ne soit pas facile à utiliser pour créer des fichiers XML localement, même si le logiciel Microsoft possède des portes arrières qui vous permettent d'enregistrer les pages modifiées sur le disque.

Fracture de lignes

Vous pouvez créer des fichiers XML en utilisant l'un des trois déploiements standard: CR (Mac), LF (Unix) ou CR / LF (Windows).

L'utilisation de quelque chose d'autre peut conduire à un comportement indéfini (les anciens éditeurs de DOS qui utilisent LF / CR peuvent créer des fichiers inappropriés).

Les processeurs XML normalisent toutes les pauses de ligne sur LF.

Les sorties de ligne sur votre sortie sont contrôlées par votre moteur de rendu (p. Ex. Navigateur, usine, etc.).

Votre DTD ou votre schéma peut définir des éléments ou des entités spéciaux à utiliser dans de rares cas lorsqu'un brouillage de ligne forcé est requis, mais cela ne se fait généralement pas en XML (exception: reconstruction de documents historiques à l'aide de TEI).

boucles

Si vous souhaitez reproduire un XML, vous devez utiliser une langue de traitement qui vous permet de manipuler un groupe défini de noeuds de manière cyclique.

Par exemple, dans XSLT, si vous souhaitez imprimer tous les titres de chapitre pour créer du contenu (c'est-à-dire hors de la position naturelle du document), vous pouvez dire:

<xsl:for-each select="//chapter"> 
  <li> 
    <xsl:value-of select="title"/> 
  </li> 
</xsl:for-each>

 

multimédia

Le langage de synchronisation d'intégration multimédia (SMIL) fournit un vocabulaire XML pour créer facilement des présentations audio-visuelles interactives.

SMIL est généralement utilisé pour les présentations multimédias avec des fonctions multimédia intégrant le streaming d'audio et de vidéo avec des images, du texte ou d'autres types de supports.

Brevets, droits d'auteur et propriété intellectuelle

Je ne suis pas avocat, et ce ne sont pas des conseils juridiques.

Si vous avez peur, regardez d'abord le psychiatre ☺

Étant donné que les États-Unis (et de plus en plus) ont arrêté les demandes de brevet pour le contrôle de la santé, presque tout le monde peut breveter quelque chose dans ces pays, qu'ils existent ou non.

Si vous êtes en faillite intellectuelle, vous pouvez commencer à envoyer des factures aux entreprises et même à ceux qui ont besoin de verser des redevances pour une utilisation ultérieure.

XML a été conçu en 1995 et a été publié pour la première fois en 1996, de sorte que quiconque prétend avoir inventé une définition haut de gamme du marquage structuré hiérarchiquement intégré est probablement quelques éléments qui n'ont pas de schéma.

XML est basé sur SGML, qui est une norme internationale codifiée comme ISO 8879: 1986 et précédée de nombreux autres systèmes de balisage étroitement liés, de sorte que quiconque prétend l'avoir inventé après cette date est aussi large que l'étiquette.

Beaucoup d'autres technologies dérivées qui allongent leur existence sur la base de SGML et XML sont probablement probablement des brevets valides, ainsi que le fait que le feu n'a pas été breveté à l'origine, mais des allumettes et des briquets.

Les brevets ont d'abord été conçus pour de nouvelles inventions physiques.

Leur utilisation pour les méthodologies et les algorithmes a étendu le concept dans une sphère d'idées que beaucoup de gens considèrent comme profondément suspectes.

La brevetabilité des phénomènes naturels tels que les gènes (qui existent déjà dans la nature en tant que politiciens et étangs) est insignifiante et intellectuellement invalide, même si elle est juridiquement exécutoire aux États-Unis et ailleurs.

Les droits d'auteur sont automatiquement conservés dans tout ce que vous créez, mais vous ne pouvez pas le promouvoir dans certains pays (en particulier aux États-Unis et en France), sauf si vous enregistrez votre intérêt.

Les droits d'auteur durent quelques années après votre décès (UE: 75, autres ailleurs) pour permettre à votre progéniture de bénéficier de la vente de votre travail.

Les droits d'auteur sont pour une forme physique d'expression intellectuelle comme les livres, les journaux, les œuvres d'art, les sites Web ou les programmes informatiques.

C'est là pour empêcher les autres de faire leur travail et de le vendre.

Vous pouvez citer les extraits de travail d'autres personnes sans autorisation, comme une ligne de poèmes ou une bande musicale, ou des phrases d'un roman, à condition de dire à qui est et où le trouver: sinon, vous devez demander l'autorisation à l'avance.

Les droits d'auteur offrent déjà une protection plus que suffisante pour les programmes informatiques, de sorte que l'utilisation de brevets pour eux est inutilement excessive.

La propriété intellectuelle vous identifie comme le propriétaire de pensées et d'idées qui peuvent trouver leurs manifestations physiques dans des inventions brevetables ou des droits d'auteur.

Même si vous vendez vos brevets longtemps après l'expiration de vos droits d'auteur, vous pouvez toujours voir la personne qui a rêvé de cette idée, et certains pays (par exemple, le Royaume-Uni) vous permettent d'exercer formellement votre droit d'être identifié, peu importe ce qui se passe livre ou gizmom.

Vous devriez toujours reconnaître la propriété intellectuelle d'autrui, surtout si vous les utilisez pour soutenir vos propres objectifs.

Prétendre que les idées intelligentes de quelqu'un d'autre sont votre propre est probablement une infraction pire que la tentative de breveter un feu, de l'eau, une roue ou un XML.

enchaînement

Technique pour réduire les exigences complexes de traitement séquentiel et parallèle à un ensemble de composants qui peuvent être complétés sous contrôle de programme.

Le terme est tiré du périphérique Unix pour rediriger la sortie d'une commande vers une autre (appelée "pipeline") qui crée réellement la chaîne ou le pipeline par lequel les données de sa source passent au résultat.

W3C a une notification en attente d'être envoyée au langage de définition de canal XML qui pourrait être utilisé pour définir des pipelines portables, indépendamment du fournisseur.

RSS

Le format de Syndication vraiment simple a été conçu pour permettre aux sites de nouvelles de traiter les mises à jour de la machine et est devenu un format semi-standard pour les blogs et autres sites fréquemment modifiés pour informer le monde des changements.

Malheureusement, il n'a jamais été correctement défini et comporte plusieurs versions incompatibles et sans papiers.

Il a probablement été remplacé par un langage beaucoup mieux appelé Atom, mais Microsoft a récemment annoncé son soutien à RSS, donc il semble que nous pourrions être collés au citron pour les années à venir.

Les «News Counters» (lecteurs RSS) sont disponibles pour toutes les plates-formes, à la fois comme autonomes en tant que plug-ins de navigateur.

Ne les confondez pas avec des programmes de la même description qui devraient donner accès à Usenet News, ce qui est une autre question (et vous devrez le lire dans comp.text.xml).

interprétation

En utilisant XSLT ou XSL: transformation FO (ou d'autres systèmes de conversion similaires), les informations étiquetées en XML peuvent être rendues presque partout: HTML, PDF, audio, Braille et presque n'importe quel format de texte (tel que LATEX).

La façon dont cela sonne (ou sonne) est le résultat de l'utilisation de styles ou d'une autre logique de transformation de marquage.

SML

Le Cosmic Markup Language est une application XML.

Le langage de programmation standard ML n'est pas.

Voulez-vous dire SGML?

SOAP

W3C standard pour "définition d'informations basées sur XML qui peuvent être utilisées pour échanger des informations structurées et écrites entre pairs dans un environnement décentralisé et distribué".

Il est le plus souvent utilisé dans les services de messagerie Web.

Le protocole était initialement une approche simple basée sur l'objet, l'abréviation est maintenant indéfinie ou exprimée comme un protocole d'accès orienté service.

Guru99 a un bon tutoriel SOAP.

recherche

Vous pouvez rechercher des fichiers XML individuels sur une ligne de commande séquentielle, autonome et non indexée à l'aide de programmes tels que lxgrep ou lxprintf qui font partie du fichier LTXML2.

De nombreux éditeurs disposent également d'un appliance

XSLT permet un système de recherche limité en utilisant simplement des fonctionnalités telles que le contenu, le début et la fin.

XSLT2 ajoute des expressions régulières.

XQuery est un langage de recherche XML complet.

Le processeur Saxon XSLT est livré avec l'implémentation de XQuery (voir également FAQ pour XQL), qui peut recevoir des requêtes soit à partir de la ligne de commande, soit à partir du fichier.

Saxon peut également utiliser un fichier de contrôle pour spécifier les groupes de fichiers XML à rechercher ensemble.

Pour la recherche indexée (pour la vitesse), vous avez besoin d'un moteur de recherche XQuery qui implémente un moteur d'indexation qui lit et comprend la balise.

Ceux-ci sont généralement implémentés dans le cadre d'un système de base de données XML «natif», tel que eXist (et bien d'autres) qui se déroulent seuls ou en parallèle avec un serveur XML comme Cocoon.

Les bases de données relationnelles traditionnelles (MySQL, Oracle, etc.) Elles ont tendance à stocker XML comme des chaînes indiffférenciées ou des BLOB à l'aide d'étiquettes backend XML pour importer et exporter le traitement des étiquettes.

Les bases de données XML naturelles ont une manipulation XML intégrée et peuvent être configurées pour être granulaires, à stocker à un niveau d'élément spécifique, rendant la recherche sensible à la recherche beaucoup plus efficace.

Service XML

Voyez-vous que je dois changer n'importe quel logiciel de mon serveur pour travailler avec XML?

tri

Pour trier un ensemble récurrent d'éléments XML dans XSL [T], utilisez xsl: sort , eg

<xsl:for-each select="//acronym"> 
  <xsl:sort select="@abbrev"/>
  <xsl:value-of select="@abbrev"/> 
  <xsl:text>: </xsl:text> 
  <xsl:apply-templates/> 
</xsl:for-each>

 

Caractères spéciaux

XML n'a que deux marqueurs spéciaux dans les documents normaux:

  • Un angle ouvert ou inférieur à un caractère ( < ) qui commence par une marque de début ou une balise finale comme <rapport > ou </ table> ;
  • Le caractère ( et ) de l'image-mère ( et ), qui commence par une preuve sur l'entité comme & aacute;pour á ou & # x00A7;pour §.

Contrairement à l'opinion publique, une fermeture angulaire ou plus grande que ( > ) et un marqueur de point ( ; ) ne sont pas des caractères normaux dans le texte normal: ils n'acquièrent de sens temporaire que lorsque l'un des deux marqueurs se produit.

En DTD, la valeur de pourcentage ( % ) a une signification particulière dans les énoncés d'entité : elle définit une entité en tant qu'entité de paramètre , ce qui signifie qu'elle ne peut être utilisée qu'en DTD, pas dans le texte du document, et uniquement dans le cas de la substitution de données (et du type de macro simple).

Exclamation ( ! ) Une signification particulière est immédiatement inférieure au signe: si l'un des mots clés déclarants dans DTD est le signe du début de la Déclaration;

Lorsque deux tirets suivent, il signale le début du commentaire (se terminant par les deux autres tirets et les signes plus gros que le personnage).

TMX

TMX est une méthode standard pour décrire les données de mémoire de traduction qui sont échangées entre des outils et / ou des fournisseurs de traduction pour traduction humaine (partie du projet LISA OSCAR).

Tables

Vous pouvez définir les tables comme vous le souhaitez en XML (est-ce que vous voyez que XML me permet de créer mes propres balises?) Mais il existe quelques modèles de tableaux existants qui sont devenus si largement utilisés (et soutenus par un logiciel) qu'il faudra une raison très convaincante d'inventer quelque chose nouveau.

Des informations plus détaillées sont fournies dans (Flynn, 1998) §2.3.7.

HTML

Les tables HTML ont été inventées par des mosaïques (maintenant Netscape) et sont apparues dans DTD HTML2.

Dans toutes les versions de HTML et XHTML, elles définissent une impression très simple mais pratique, peu évolutive, web-friendly et rudimentaire.

Leur avantage principal est que dans le navigateur, la hauteur et la largeur des cellules (et donc la largeur des colonnes) sont automatiquement élargies ou contractées pour correspondre à la quantité de texte contenue dans celles-ci.

La plupart des autres modèles de bureau supposent que les largeurs de la pile et la hauteur des cellules seront prédéfinies (ce que vous pouvez faire en HTML, mais est rarement utilisé).

CALS

La logistique et le support informatique (et quelques autres raccourcis au fil des ans) faisaient partie du projet militaire des États-Unis pour assurer une marque cohérente pour tous les documents à l'origine dans SGML, maintenant en XML.

Dans le cadre de cette activité, la table CALS est devenue la documentation technique la plus répandue, en particulier dans les Lignes directrices techniques électroniques interactives (IETM), avec un soutien étendu dans tous les principaux éditeurs et est le modèle de bureau par défaut dans le schéma DocBook DTD A.

Les définitions CALS sont très efficaces mais relativement complexes et peuvent répondre à presque toutes les exigences relatives à l'extension, au contrôle et à l'alignement.

SASOUT

Ce modèle est largement utilisé en sciences sociales et ailleurs pour définir des tableaux basés sur la sémantique des données et non sur l'apparence.

Dans le même temps, ils étaient une alternative à DocBook (rendue possible par un simple commutateur de paramètres).

TEI

Le TEI est conçu pour permettre au codeur de représenter les tables existantes qui sont réécrites à partir de documents historiques, littéraires ou d'archives au lieu de créer de nouvelles données.

Le label est au même niveau de simplicité que le modèle HTML, mais il est conçu pour permettre l'inclusion d'étiquettes beaucoup plus denses et de métadonnées nécessaires dans les textes de recherche.

LATEX

Le modèle LATEX ne s'adresse pas directement à l'utilisateur XML, sauf lorsque LATEX est une cible commune pour la transformation à partir de XML à l'aide de XSLT pour créer des fichiers PDF.

À l'instar de CALS, les tables LATEX peuvent gérer presque n'importe quel formatage, mais l'alignement par défaut suppose que chaque format de colonne est prédéfini et que chaque cellule occupera une ligne de données: plusieurs paquets doivent être gérés de manière à créer d'autres modèles .

Les listes XML ne doivent pas être utilisées, car elles se font souvent dans des processeurs de texte, car le traitement des langages comme XSLT vous permet de transformer le document pour utiliser des méthodes non-tables (par exemple, le marquage du tableau devrait donc être limité à "réel" "Tables (données disposées en rangées et colonnes) et ne doivent pas être utilisées de manière abusive simplement parce que vous voulez que quelque chose soit affiché au même niveau que quelqu'un d'autre: il est préférable de sélectionner une désignation conçue pour perturber les périphériques existants.

Les utilisateurs de traitement de texte ne savent généralement pas que de nombreuses structures qui utilisent actuellement des tables de traitement de texte sont en fait des listes segmentées que les processeurs de texte ne sont pas en mesure de fonctionner correctement.

L'une des principales raisons pour lesquelles il fonctionne bien est que les données peuvent être retraitées afin qu'elles soient sensées lorsqu'elles sont lues dans un ordre naturel.

Fonctions de formatage de document de texte

Parce que XML est une méta-langue qui vous permet de définir et de nommer vos propres structures d'information, il n'a aucune connaissance intégrée de tout.

Par conséquent, il n'a aucune compréhension intrinsèque de tous les documents tels que les listes à puce, les sections, les notes de bas de page ou certaines des fonctionnalités en ligne les plus courantes telles que les menus déroulants, les formulaires (entrées, cases à cocher, boutons-poussoirs et zones de texte), des scripts ou d'autres cloches et les sifflements - ce sont des choses que vous devez utiliser dans XML défini dans DTD ou dans un schéma pour votre application particulière.

Contrairement à ce que disent certains fabricants, ces éléments ne sont pas intégrés au XML lui-même.

Vous choisissez ou définissez d'abord un type de document (Schéma ou DTD) qui représente exactement vos informations, puis vous pouvez générer les effets décrits ci-dessus à l'aide du style CSS ou de l'écriture de la transformation XSL [T] de votre XML vers HTML, Word, LATEX, PDF ou tout autre format est capable de les installer.

Sur W3C pour les formulaires XML, le lien XML, la sécurité XML et bien d'autres fonctionnalités, il existe d'autres suggestions et recommandations XML natives du W3C pour la gestion des formulaires XML, mais ce sont des mécanismes qui permettent l'architecture, pas la substitution HTML.

UML

Le langage de modélisation unifié n'a rien à voir avec XML, bien qu'il existe de nombreux points de contact, et certains logiciels sont disponibles pour exprimer certaines structures XML UML pour la transmission de messages inter-mesh.

Erreurs d'analyse URI

Voir demi-colon.

les variables

XML n'a pas de variables ou de paramètres, pas de champs ni d'enregistrements.

Tous ces concepts sont issus de la programmation et de la technologie des bases de données et n'ont pas les équivalents exacts en XML.

XML identifie vos informations avec des éléments et des attributs .

WAP

Le protocole d'application sans fil (WAP) est maintenant traité par Open Mobile Alliance.

Bien façonné

Recherchez un XML bien conçu.

L'univers blanc

Voyez comment fonctionne XML dans les documents?

XLL

Le langage de liaison XML contient la spécification XLink et la spécification XPointer.

Consultez le Groupe de travail sur le lien XML du W3C pour plus de détails.

XLS

Les propriétés du format Microsoft Tablet écrites à l'aide de la feuille de calcul Excel.

Les fichiers XLS ne sont pas des fichiers XML, mais les versions modernes d'Excel enregistrent leurs données sous forme de fichiers .xlst au format Microsoft Office Open XML (OOXML).

Ne confondez pas XLS avec XSL (voir Comment puis-je contrôler le formatage XML?).

XML

Ceci est une FAQ XML.

Tout à propos de XML.

Pour une explication approfondie, voir les Principes fondamentaux.

Normes XML et de sécurité, de confidentialité et d'identité

veille

Protocole XML

W3C dispose d'un groupe de travail pour les services Web, et une partie de leur tâche consiste à travailler sur XML.

Pour plus d'informations, visitez http://www.w3.org/2000/xp/Group/.

XMLHTTP

Fonction implémentée dans MSXML et ailleurs pour permettre la recherche de sites Web, de données binaires ou de réponses scriptées sous contrôle du programme (par exemple en utilisant Screws, Wget ou Dogs dans un script shell).

Il est utilisé de manière asynchrone dans les applications AJaX pour précharger les données, ce qui permet de gagner du temps pour montrer que l'application fonctionne localement.

XUL

La langue d'interface utilisateur XML utilisée pour spécifier l'interface utilisateur dans Mozilla.

asp.net

ASP (Active Server Pages) est une langue Microsoft pour afficher des sites Web dynamiques, comme JSP, PHP et autres.

L'ASP lui-même n'a rien à voir avec XML, bien que tout système côté serveur puisse être utilisé pour afficher XML comme tout autre type de fichier.

.NET est une plate-forme d'application et une méthodologie pour développer des services Web sur les serveurs Microsoft.

La plupart des services Web sont basés sur XML en tant que «fournisseur commun» de messages intersociétés, donc .NET possède un composant XML significatif.

Marc Hadley écrit:

Il existe de nombreuses alternatives à l'ASP, dont la plupart utilisent une approche basée sur la page similaire.

Les solutions alternatives Java incluent Java Server Pages (JSP), Java Server Faces (JSF) et Cocoon (qui contiennent eXtensible Server Pages - XSP).

Les alternatives de langage scripting populaires incluent Zope (Python) et Rails (Ruby) [qui bénéficient d'un support XML étendu.- Ed.]

5.4: logiciel avec perte XML

Certains des meilleurs logiciels qui ont disparu

La cause la plus fréquente de la perte de bons logiciels semble être que la société qui l'a fait a été prise sans faute par un requin d'entreprise qui ne savait pas ce qu'il achetait ou qui ne se souciait pas.

Dans ces cas, le produit n'était pas coupable - il était souvent populaire et bien vendu;

C'est juste une faute de stupidité commerciale.

Near & Far (MicroStar)

Outil de conception visuelle SGML DTD autonome à l'origine pour Microsoft Windows 95 .

N & F a permis un prototype très simple d'un nouveau type de document, bien que les derniers stades de développement soient généralement syntonisés manuellement.

C'était aussi un excellent outil pour afficher la structure DTD nouvellement créée.

Lorsque XML est arrivé, ils ont maintenu un modèle SGML interne, mais ont fourni la syntaxe "save-as" en XML.

Beaucoup d'outils de conception existants ont des fonctionnalités intégrées similaires (p. Ex., XML Spy ), mais il n'existe pas d'équivalent du même outil de qualité.

Développer l'utilisation de RelaxNG pour générer différentes syntaxes serait une avancée significative.

MicroStar a été acheté par OpenText Corp et le produit a été omis au sol uniquement lorsqu'il était le plus utile.

Si vous avez une copie (intégrée dans l'éditeur WordPerfect SGML / XML), elle est toujours réalisée sous XP et le vin de Codeweavers sous Linux.

DynaWeb (EBT)

Famille de produit: DynaBase , base de données SGML;

DynaWeb , un serveur Windows avec des modèles HTML ou HTML basés sur HTML ou HTML gérés graphiquement et un excellent périphérique de marque;

et DynaTag , une interface graphique pour convertir des documents Word et Frame en SGML ou XML, en fonction du convertisseur de ligne RainbowMaker original.

L'EBT a été acheté par Inso Corp et le produit a été ignoré pendant plusieurs années.

Cependant, le serveur Indo prétend maintenant fournir des détails, mais on ne sait pas si le produit est encore disponible.

Ils semblent avoir hérité de certains utilisateurs, donc pendant un certain temps ils avaient un site de formation DynaWeb .

La bonne nouvelle est que Red Bridge Software occupe maintenant une ancienne usine EBT (sous le Red Bridge dans Providence, RI), qui vend un système de gestion de contenu qui comprend DynaTag et d'autres éléments de l'assortiment d'origine.

Panorama (SoftQuad)

SGML de SoftQuad avec le modèle de style SGML, qui fonctionnait indépendamment et comme un plug-in Netscape, basé sur Synex Viewport .

Cela permet aux utilisateurs d'ouvrir des liens directs vers des documents SGML: Panorama téléchargera à la fois l'instance et la DTD via le solveur d'entité, effectue une analyse tokenisée et utilise le style spécifié.

Ses caractéristiques uniques incluent la commutation entre plusieurs styles, un indicateur de densité pour les résultats de recherche et la possibilité de mettre en place des liens HyTime à double extrémité qui permettent à quiconque de publier leur propre ensemble de liens, même les liens multi-composants, et même entre les documents, la ville.

Le plugin du navigateur était gratuit et la version complète comprenait un éditeur de styles.

SoftQuad a démissionné après la mort de Yuri Rubinsky et a été repris par Corel ( WordPerfect ), où le produit a été ignoré.

SoftQuad Auteur / Éditeur L'éditeur SGML est converti en XMeTaL , qui est toujours disponible chez JustSystems.

Si vous avez plus d'informations sur les produits utiles qui ont disparu, envoyez un courriel à l'éditeur.

Texte original: http://xml.silmaril.ie/