Tutoriel XML pour les débutants

Qu'est-ce que XML?

XML représente eXtendu MArkupe Llangue. C'est un langage (pas un langage de programmation) qui utilise le balisage et peut s'étendre. Il est dérivé de Standard Géneralisé MArkupe Llangue (SGML). XML utilise également des DTD (Ddocument Type Ddéfinitions) pour définir la structure du document XML.

XML n'est pas destiné à gérer des opérations de calcul et des algorithmes. Ainsi, XML n'est pas un langage de programmation. L'objectif principal est de transporter des données et non d'afficher des informations. XML comble le fossé entre la lisibilité humaine et la lisibilité machine. Contrairement aux balises HTML, les balises XML sont auto-descriptives.

XML est un format ouvert. L'extension du nom de fichier XML est .xml

Histoire du XML

XML a vu le jour en 1996 et a été publié pour la première fois en 1998. WONDE Wide Web Consortium (W3C) est le développeur de XML, et c'est devenu un Recommandation W3C dès 1998.

Il existe deux versions de XML.

  1. XML1.0
  2. XML1.1

XML1.1 est la dernière version. Encore, XML1.0 est la version la plus utilisée.

Les éditeurs de XML sont :

  • Tim Bray,
  • Jean Paoli,
  • CM Sperberg,
  • Ève Maler,
  • François Yergeau.

Fonctionnalités XML

Voici quelques fonctionnalités importantes de XML :

  • Il est extensible et lisible par l'homme.
  • Il est indépendant de la plate-forme et de la langue.
  • Il préserve les espaces blancs.
  • Simplicité globale.
  • Caractère autodescriptif.
  • Il sépare les données du HTML.
  • Les balises XML ne sont pas prédéfinies. Vous devez définir vos balises personnalisées.
  • XML a été conçu pour transporter des données, pas pour afficher ces données.
  • Le code de balisage XML est facile à comprendre pour un humain.
  • Un format bien structuré est facile à lire et à écrire à partir de programmes.
  • XML est un langage de balisage extensible comme HTML.

Encodage XML

Le codage est la conversion des caractères Unicode en leur représentation binaire. UTF est utilisé pour le codage XML. UTF qui veut dire UCS (UCS qui veut dire Universal Cpersonnage Set) Ttransformation Format.

Il existe principalement deux types d’encodage UTF.

  1. UTF-8 : UTF-8 utilise 8 bits pour représenter les caractères.
  2. Mise en situation :

    <?xml version="1.0" encoding="UTF-8"?>
    
  3. UTF-16

Il utilise 16 bits pour représenter les caractères.

Mise en situation :

<?xml version="1.0" encoding="UTF-16"?>

Vous pouvez utiliser le codage dans la déclaration XML. UTF-8 est le codage par défaut en XML.

Syntaxe XML

Le segment de code ci-dessous montre la syntaxe XML de base.

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

Déclaration XML

La déclaration XML comprend la version XML, le codage des caractères et/et le statut autonome. La déclaration est facultative.

Syntaxe pour la déclaration XML

Le segment de code ci-dessous montre la syntaxe de la déclaration XML.

<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?> 

Règles de déclaration XML

Voici les règles de déclaration XML.

  • Si la déclaration XML est présente, elle doit être la première chose qui apparaît.
  • La déclaration XML est sensible à la casse et doit commencer par la minuscule <?xml.
  • Il n'a pas de balise de fermeture.

Exemple de déclaration XML

Le segment de code suivant montre un exemple de déclaration XML.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>

Commentaires XML

Les commentaires sont facultatifs. L'ajout de commentaires aide à comprendre le contenu du document.

Syntaxe des commentaires XML

Un commentaire commence par <!– et se termine avec ->.

Le segment de code suivant montre la syntaxe des commentaires XML.

<!-- Add your comment here -->

Balises et éléments XML

Les balises fonctionnent par paires, sauf pour les déclarations. Chaque paire de balises est constituée d'un balise d'ouverture (Également connu sous le nom balise de début) Et un balise de fermeture (Également connu sous le nom balise de fin).

Les noms de balises sont entourés <>. Pour une paire de balises particulière, les balises de début et de fin doivent être identiques, sauf que la balise de fin a / après le <.

<name>...</name>

Tout ce qui se trouve entre les balises d'ouverture et de fermeture est appelé contenu.

La balise d'ouverture, le contenu et la balise de fermeture, ensemble, sont appelés un un élément.

Opening tag + content + closing tag = an element

Remarque : Les éléments peuvent également contenir des attributs. Vous apprendrez les attributs très bientôt.

Considérons l'élément ci-dessous.

<age>20</age>

Dans l'élément ci-dessus,

  • âge est le nom de l'élément.

Remarque : Nom de la balise également appelé un un élément or nom de l'élément.

  • – balise d'ouverture
  • 25 - contenu
  • – balise de fermeture.

S'il n'y a pas de contenu entre les balises, comme indiqué ci-dessous, cela est appelé balises vides.

<result></result>

Règles de balises et d'éléments XML

La liste suivante montre les règles de balise XML et d'élément.

  • Les balises sont sensibles à la casse.

Mise en situation :

Correct:

<age>20</age>

Faux:

<age>20</Age>

Remarque : ÂGE, Âge, et âge sont trois noms différents en XML.

  • Tous les documents XML doivent contenir un seul élément racine.
  • Tous les éléments doivent avoir une balise de fermeture (sauf les déclarations).
  • Un nom de balise doit commencer par une lettre ou un trait de soulignement, et il ne peut pas commencer par le XML
  • Un nom de balise peut contenir des lettres, des chiffres, des traits d'union, des traits de soulignement et des points. Les traits d'union soulignent et les points sont les seuls signes de ponctuation autorisés.
  • Un nom de balise ne peut pas contenir d'espaces.
  • Tous les éléments doivent être correctement imbriqués.

Mise en situation :

Correct:

<b><u>This text is bold and italic</u></b>

Faux:

<b><u>This text is bold and italic.</b></u>

Attributs XML

L'attribut d'un élément est placé après le nom de la balise dans la balise de début. Vous pouvez ajouter plusieurs attributs pour un seul élément avec des noms d'attribut différents.

Considérons le document XML ci-dessous.

<company name="ABC Holdings" location="London">  
    <chairman>Mr. John</chairman>  
    <gm>Mr. Wood</gm>  
</company>  

Il y a deux attributs dans le Société élément, c'est-à-dire prénom et Localisation.

Étudions le prénom attribut,

  • nom = « ABC Holdings » – un attribut
  • prénom - Nom d'attribut
  • ABC Holdings – valeur d'attribut

Notes: Une Nom d'attribut est également connu comme un attribuer.

Notez également que dans l'exemple ci-dessus, le Société est le racine .

Règles d'attribut XML

La liste ci-dessous montre les règles d'attribut XML.

  • Les valeurs d'attribut doivent être entre guillemets.
  • Un élément ne peut pas contenir plusieurs attributs portant le même nom.

Attribut versus élément

Êtes-vous toujours confus quant à la différence entre un attribut et un élément ? Voici un autre exemple.

Considérons les documents A et B donnés ci-dessous.

Document A :

<teacher subject="English">
    <name>Mr. John</name>.
    <qualification>Graduate</qualification>
</teacher>

Document B :

<teacher>
    <subject>English</subject>
    <name>Mr. John</name>
    <qualification>Graduate</qualification>
</teacher>

Dans le document A, le sujet est un attribuer.

Dans le document B, le sujet est un un élément.

Entités XML

Que sont les entités XML ?

En termes simples, les entités sont une manière de représenter des caractères spéciaux. Les entités sont également appelées entité .

Pourquoi avez-vous besoin d'entités XML ?

Certains personnages (comme ", & <, etc.) sont réservés en XML. Ils sont appelés caractères spéciaux et ne peut pas être directement utilisé à d’autres fins.

Par exemple, la < et > symboles utilisés pour étiquettes. Vous ne pouvez pas taper directement à partir du clavier pour moins que et plus grand que panneaux. Au lieu de cela, vous devez utiliser des entités.

Le tableau suivant présente certaines des entités XML populaires.

Personnage Description Nom de l'entité Utilisation
" Guillemet (guillemet double) quot "
& Ampersand amp et
» Apostrophe (guillemet simple) Apos '
< Less que de signer lt <
> Signe supérieur à gt >

Mise en situation :

<friend>
        <name>My friends are Alice &amp; Jane.</name>
</friend>

HTML contre XML

Similitudes entre HTML et XML

La liste suivante montre les similitudes entre HTML et XML.

  • Les deux sont des formats ouverts.
  • Les deux sont des langages de balisage.
  • Les deux utilisent des balises et des attributs pour décrire le contenu.

Différences entre HTML et XML

Même si XML est comme HTML, XML ne remplace pas HTML. Il existe également des différences significatives entre HTML et XML.

Le tableau de liste suivant montre une comparaison entre HTML et XML.

HTML XML
Stands pour Langage Signalétique Hyper Text Langage de balisage extensible
Type de langue Un langage de balisage prédéfini. Un cadre pour spécifier les langages de balisage.
Détails structurels Non fourni. À condition de.
Objectif Utilisé pour afficher des données. Utilisé pour transporter des données
Guidé par Format piloté. Axé sur le contenu.
Nature A un caractère statique. A un caractère dynamique.
Type d'étiquette Balises prédéfinies. Balises définies par l'utilisateur.
Limite de balises Un nombre limité de balises sont disponibles. Les balises sont extensibles.
Balises de fermeture Il n'est pas nécessaire d'utiliser des balises fermantes (mais il est recommandé d'utiliser des balises fermantes). Les balises fermantes sont obligatoires.
Prise en charge des espaces de noms Non supporté. Prise en charge.
Sensibilité à la casse Les balises ne sont pas sensibles à la casse. Les balises sont sensibles à la casse.
Espace blanc L'espace blanc ne peut pas être conservé (peut ignorer l'espace blanc). Espace blanc préservé (ne peut pas ignorer l'espace blanc).
Analyse dans Javascénario Aucune application supplémentaire n’est nécessaire. Besoin d'une implémentation DOM.
Imbrication de codes Pas nécessairement nécessaire. Nécessaire.
Erreurs Peut ignorer les petites erreurs. Les erreurs ne sont pas autorisées.
Extension de nom de fichier .html or . Htm .xml
Taille Relativement grand. Relativement petit.
Devis Les guillemets ne sont pas requis pour les valeurs d'attribut. Obligatoire pour les valeurs d'attribut XML.
Prise en charge des objets Offre une prise en charge des objets natifs. Les objets doivent être exprimés par des conventions.
Prise en charge nulle Reconnaît nativement la valeur nulle. Besoin d'utiliser xsi:nil sur les éléments.
Décisions de formatage Fournit un mappage direct pour les données d’application. Nécessite un effort plus important.
Courbe d'apprentissage Less courbe d'apprentissage abrupte par rapport à XML. Courbe d'apprentissage abrupte.
Site Web https://html.spec.whatwg.org/ https://www.w3.org/TR/xml11/

Syntaxe HTML de base

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     
</body>
</html>

Syntaxe XML de base

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

Même exemple avec HTML et XML

Avec HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
         <p>Book</p>
    <p>Name: Anna Karenina</p>
    <p>Author: Leo Tolstoy</p>
    <p>Publisher: The Russian Messenger</p>
</body>
</html>

Avec XML

<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
        <name>Anna Karenina</name> 
        <author>Leo Tolstoy</author> 
      <publisher>The Russian Messenger</publisher>
</book>

JSON contre XML

Similitudes entre JSON et XML

La liste ci-dessous montre les similitudes entre JSON et XML.

  • Les deux sont des formats ouverts.
  • Les deux se décrivent eux-mêmes.
  • Les deux ont une structure hiérarchique.
  • Les deux peuvent analyser et utiliser plusieurs langages de programmation.

Différences entre JSON et XML

Il existe également plusieurs différences entre XML et JSON.

Les tableaux ci-dessous montrent une comparaison entre JSON et XML.

JSON XML
Stands pour JavaNotation d'objet de script Langage de balisage extensible
Prolongé de Javascénario SGML
Stockage de données Données stockées sous forme de paires clé-valeur. Données stockées sous forme d'arborescence.
Espaces de noms Aucune prise en charge des espaces de noms. Prend en charge les espaces de noms.
Description L'ajout de commentaires n'est pas pris en charge. Peut ajouter des commentaires.
Accessibilité aux données Facilement accessible sous forme d'objets JSON. Les données doivent être analysées.
Métadonnées L'ajout de métadonnées n'est pas pris en charge. Peut écrire des métadonnées.
Types Types JSON : chaîne, nombre, tableau, booléen. Toutes les données XML doivent être instruments à cordes.
Types de données de support Les soutiens texte et nombre types de données uniquement. Prend en charge de nombreux types de données (texte, chiffres, images, etc.)
Prise en charge du tableau Plus de prise en charge des tableaux par rapport à XML. Pas ou moins de support pour les tableaux.
Support de l'objet Prise en charge native de l'objet. L'objet doit être exprimé par des conventions.
Prise en charge de la boîte à outils AJAX Prise en charge. Pas entièrement pris en charge.
Récupération des valeurs Facile. Difficile.
Désérialisation/sérialisation Entièrement automatisé. Les développeurs doivent écrire JavaCode de script.
Navigateurs pris en charge Pris en charge par la plupart des navigateurs. L’analyse XML entre navigateurs peut être délicate.
Codage Prend uniquement en charge l'encodage UTF-8. Il prend en charge divers encodages.
Capacités d'affichage Aucune capacité d'affichage. Offrir des capacités d’affichage.
Taille du document Plus petit que XML. Grand que JSON.
Extension de nom de fichier .json .xml
Sécurité Less sécurisé. Plus sécurisé que JSON.
Facile à lire Relativement facile. Relativement difficile.
Courbe d'apprentissage Facile à apprendre. Courbe d'apprentissage abrupte.
Site Web https://www.json.org/json-en.html https://www.w3.org/TR/xml11/

Syntaxe JSON de base

{string:value, .......}

Même exemple avec JSON et XML

Avec JSON

{"books":[
   {"name":"Anna Karenina", "author":"Leo Tolstoy"},
   {"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
   {"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
   {"name":"Invisible Man", "author":"Ralph Ellison"}
]}

Avec XML

<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
    <book>
        <name>Anna Karenina</name> 
        <author>Leo Tolstoy</author> 
    </book>
    <book>
        <name>One Hundred Years of Solitude</name> 
        <author>Gabriel Garcia Marquez</author> 
    </book>
    <book>
        <name>The Great Gatsby</name> 
        <author>Scott Fitzgerald</author> 
    </book>
    <book>
        <name>Invisible Man</name> 
        <author>Ralph Ellison</author>
    </book>
</books>

DTD XML

Qu'est-ce que la DTD ?

DTD signifie Ddocument Type Ddéfinition. Il définit la structure d'un document XML à l'aide de certains éléments juridiques. La DTD XML est facultative.

Règles DTD

La liste suivante montre les règles DTD.

  • Si la DTD est présente, elle doit apparaître en début de document (seule la déclaration XML peut apparaître au-dessus de la DTD).
  • La déclaration de l'élément doit commencer par un ! marque.
  • Le nom DTD et le type d'élément de l'élément racine doivent être identiques.

Exemples de DTD

Exemple de DTD interne :

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>  
<!ELEMENT firstname (#PCDATA)>  
<!ELEMENT lastname (#PCDATA)>  
<!ELEMENT school (#PCDATA)> 
]>
<student>  
    <firstname>Mark</firstname>  
    <lastname>Wood</lastname>  
    <school>Hills College</school>  
</student>

Dans l'exemple ci-dessus,

  • Étudiant !DOCTYPE indique le début de la déclaration DTD. Et le étudiant est l'élément racine du document XML.
  • Étudiant !ELEMENT indique le étudiant l'élément doit contenir Prénom nom de famille et Fournisseur éléments.
  • !ELEMENT prénom indique le Prénom l'élément est de type #PCDONNEES (Parsé Cpersonnage Sauvegarde de).
  • !ELEMENT nom indique le nom de famille l'élément est de type #PCDONNEES.
  • École !ELEMENT indique le Fournisseur l'élément est de type #PCDONNEES.

Exemple de DTD externe :

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE student SYSTEM "student.dtd">  
<student>  
    <firstname>Mark</firstname>  
    <lastname>Wood</lastname>  
    <school>Hills College</school>  
</student>  

Le contenu du fichier DTD (student.dtd) est le suivant.

<!ELEMENT student (firstname,lastname,school)>  
<!ELEMENT firstname (#PCDATA)>  
<!ELEMENT lastname (#PCDATA)>  
<!ELEMENT school (#PCDATA)>

DOM XML

Qu'est-ce que DOM?

DOM signifie Ddocument Objet Mmodèle. Il définit une manière standard d'accéder et de manipuler les documents XML. DOM a une structure arborescente (hiérarchique).

Exemple de DOM

Considérons le document XML ci-dessous.

<?xml version="1.0" encoding="UTF-8" ?>  
<school>
    <student>  
        <name>
            <first_name>Alex</first_name>  
            <last_name>Clarke</last_name>  
        </name>
        <age>14</age>  
        <address>No. 35, Flower Road, Leeds</address>  
    </student> 
</school>

La structure arborescente du fichier XML ci-dessus ressemblerait à l'image suivante.

DOM XML
Exemple DOM XML

Validation XML

Que sont les documents XML bien formés ?

Bien formé Les documents XML sont des documents XML avec une syntaxe correcte.

Que sont les documents XML valides ?

Valide Les documents XML sont bien formés et sont également conformes aux règles DTD.

Espaces de noms XML

Pourquoi des espaces de noms ?

Les espaces de noms aident à éviter les conflits de noms d'éléments.

Déclaration d'espace de noms

Ce qui suit montre la syntaxe de la déclaration de l'espace de noms.

<element xmlns:name="URL">

Dans la déclaration ci-dessus,

  • La xmlns Le mot-clé indique le début de l'espace de noms.
  • La prénom est le préfixe de l'espace de noms.
  • La URL est l'identifiant de l'espace de noms.

Exemples d'espaces de noms

Le segment de code suivant montre un exemple d'espaces de noms.

<?xml version="1.0" encoding="UTF-8" ?>  
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">  
    <abt:founder>Krishna</abt:founder>  
    <abt:vision>Fun and Free Education for ALL</abt:vision>  
</abt:about>   

Éditeurs XML

Il existe plusieurs éditeurs XML disponibles. N'importe quel éditeur de texte (tel que le bloc-notes, etc.) peut être utilisé comme éditeur XML.

La liste suivante présente certains des éditeurs XML les plus populaires en 2021.

1) Bloc-notes XML

XML Notepad est un éditeur open source pour XML. Il comporte une arborescence et une sortie XSL dans le volet de gauche et un texte de nœud à droite. Il comporte une fenêtre de débogage des erreurs en bas.

Statistiques clés:

  • Type – Éditeur XML
  • Développeur - Microsoft
  • Système d'exploitation pris en charge – Microsoft Windows.
  • Prix ​​– Gratuit

Lien : http://microsoft.github.io/XmlNotepad/


2) Studio de stylet

Stylus Studio est un IDE écrit en C++ pour Extensible Markup Language ( XML ). Il permet à un utilisateur de modifier et de transformer des documents XML, des données telles que des échanges de données informatisées (EDI), CSV et des données relationnelles.

Statistiques clés:

  • Type – Environnement de développement intégré (IDE) pour XML
  • Développeur – Progress Software Corporation
  • Système d'exploitation pris en charge – Microsoft Windows.
  • Prix ​​– Payant (Veuillez vous référer au site Web ci-dessous pour le dernier prix), Essai gratuit disponible.

Lien : http://www.stylusstudio.com/


3) Altova XMLEspion

XMLSpy est principalement commercialisé en tant qu'éditeur JSON et XML. Il dispose d'un concepteur et d'un éditeur de schéma intégré. Il comprend Visual Studio et Eclipse l'intégration.

Statistiques clés:

  • Type – Éditeur XML
  • Développeur - Altova
  • Système d'exploitation pris en charge – Microsoft Windows.
  • Prix ​​– Payant (Veuillez vous référer au site Web ci-dessous pour le dernier prix), Essai gratuit disponible.

Lien :https://www.altova.com/xmlspy-xml-editor


4) Éditeur XML d'oxygène

Oxygen XML est un éditeur multiplateforme développé en JavaIl permet de valider des schémas tels que DTD, W3C XML Schema, RELAX NG, Schematron, NRL et NVDL.

Statistiques clés:

  • Type – Éditeur XML
  • Développeur - SyncRO Soft Ltd
  • Système d'exploitation pris en charge – Windows, Linux et Mac OS X
  • Prix ​​​​- Payé (Veuillez vous référer au site Web ci-dessous pour le dernier prix

Lien :https://www.oxygenxml.com/


5) Xmplifier

Xmplify XML Editor fournit un environnement d'édition entièrement compatible XML avec une validation automatique basée sur les DTD et les schémas XML, la validation automatique des documents, etc.

Statistiques clés:

  • Type – Éditeur XML
  • Développeur – MOSO Corporation
  • Système d'exploitation pris en charge – Mac OS.
  • Prix ​​​​- Payé (Veuillez vous référer au site Web ci-dessous pour le dernier prix

Lien : http://xmplifyapp.com/

Analyseurs XML

Un analyseur XML est une bibliothèque logicielle qui fournit une interface permettant de travailler avec des documents XML. Il vérifie si le format du document XML est correct. Certains analyseurs peuvent également valider les documents XML. Les navigateurs modernes sont équipés d'analyseurs XML.

SAX

SAX qui veut dire Smise API pour XML. C'est un aPplication programme iInterface (API) pour analyser les documents XML. Ils se comportent de la même manière que les gestionnaires d'événements dans Java.

Contrairement à DOM, SAX est un exemple d'analyseur XML basé sur des événements.

Voici quelques différences importantes entre le SAX et le DOM.

SAX DOM
Stands pour API simple pour XML Modèle d'objet de document
Type d'analyseur Basé sur des événements Basé sur l'objet
Lire et écrire du XML Lecture seule Lire et écrire
Insérer/mettre à jour/supprimer des nœuds Impossible d'insérer/mettre à jour/supprimer des nœuds Peut insérer/mettre à jour/supprimer des nœuds
Efficacité mémoire Bonne efficacité de la mémoire Variable
Vitesse Plus lent que l'analyseur DOM Plus rapide que l'analyseur SAX
Convient pour Fichiers de petite taille Fichiers de grande taille

Liaison de données XML

La liaison de données XML est la représentation des données dans un document XML en tant qu'objet métier dans la mémoire d'un ordinateur.

Il existe trois approches pour la liaison de données XML.

  • Liaison de données basée sur un schéma XML : Les classes XML correspondantes sont créées sur la base du schéma.
  • Liaison de données basée sur les classes : Un schéma XML correspondant est créé sur la base des classes.
  • Liaison de données basée sur le mappage : Il décrit comment un schéma XML existant correspond à un ensemble de classes (et vice-versa).

Il existe également des cadres de liaison de données XML.

Exemples :

La liaison de données XML est facile avec les frameworks. Le framework de liaison de données génère une grande quantité de code pour vous. Vous devez alimenter un schéma DTD ou XML.

Schémas XML

XML schéma (aussi connu sous le nom Définition du schéma XML or XSD) utilisé pour décrire la structure du document XML. C'est une alternative à la DTD.

Pourquoi le schéma est-il important ?

La DTD n'est pas aussi puissante qu'un schéma car elle n'est pas suffisamment extensible et flexible. Ainsi, cela peut ne pas convenir à certaines situations. Dans une telle situation, le schéma est important. L'objectif principal de l'utilisation du schéma XML est de définir les éléments et les attributs d'un document XML.

En quoi le schéma XML est-il différent de la DTD ?

La comparaison suivante montre en quoi XSD (XML Schema) est différent de DTD.

DTD XSD
Stands pour Définition du type de document Définition de schéma XML
Extensibilité Non extensible Extensible
Contrôle sur la structure XML Less des bactéries Plus de contrôle
Types de données de support Non pris en charge Appareils
Prise en charge de l'espace de noms Non pris en charge Appareils

Le segment de code suivant montre un exemple de schéma XML.

xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
    <xs:element name = "employee">
        <xs:complexType>
            <xs:sequence>
                <xs:element name = "firstname" type = "xs:string" />
                <xs:element name = "lastname" type = "xs:string" />
                <xs:element name = "phone" type = "xs:int" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Avantages du XML

Ici, avantages/avantages de XML :

  • Cela a facilité le transport et le partage des données.
  • XML améliore l'échange de données entre différentes plateformes.
  • Il s'agit d'un langage de balisage, qui est un ensemble de caractères ou/et de symboles placés dans un document texte.
  • XML indique à quoi doit ressembler le document XML une fois affiché.
  • Cela simplifie le processus de changement de plateforme.
  • Il améliore la disponibilité des données.
  • Il prend en charge les documents multilingues et Unicode.
  • Fournir relativement facile à apprendre et à coder.
  • Il s'agit d'un langage de balisage, qui est un ensemble de caractères ou/et de symboles placés dans un document texte.
  • Il effectue la validation à l'aide de DTD et de schéma.
  • Rend les documents transportables entre les systèmes et les applications. Avec l'aide de XML, vous pouvez échanger rapidement des données entre différentes plateformes.
  • XML sépare les données du HTML.

Inconvénients du XML

Voici les inconvénients/inconvénients de l’utilisation de XML :

  • XML nécessite une application de traitement.
  • La syntaxe XML est similaire à d'autres formats de transmission de données « basés sur du texte », ce qui prête parfois à confusion.
  • Pas de prise en charge intrinsèque des types de données
  • La syntaxe XML est redondante.
  • Ne permet pas à l'utilisateur de créer ses tags.

Résumé

  • XML signifie eXtensible Markup Language. XML est un langage (pas un langage de programmation) qui utilise le balisage et peut s'étendre.
  • L'objectif principal est de transporter des données, pas d'afficher des données.
  • XML 1.1 est la dernière version. Pourtant, XML 1.0 est la version la plus utilisée.
  • Les balises fonctionnent par paires, sauf pour les déclarations.
  • Balise d'ouverture + contenu + balise de fermeture = un élément
  • Les entités sont une manière de représenter des caractères spéciaux.
  • DTD signifie Définition du type de document. Il définit la structure d'un document XML à l'aide de certains éléments juridiques. La DTD XML est facultative.
  • DOM signifie Modèle Objet de Document. Il définit une manière standard d'accéder et de manipuler les documents XML.
  • Les documents XML bien formés sont des documents XML avec une syntaxe correcte.
  • Les documents XML valides sont bien formés et également conformes aux règles DTD.
  • Les espaces de noms aident à éviter les conflits de noms d'éléments.