Chapitre 5 : Analyse des instances XML
contour:
1 : Exemple d'effet
Deux : Exemple d'analyse 1. Définissez un nouveau logo.
2. Créez un document XML.
3. Créez le fichier HTML correspondant.
XML est largement utilisé dans différents domaines, tels que MathML dans le domaine technologique, WML dans les applications de communication sans fil, SVG dans les images réseau, etc. Nous nous concentrons ici sur l'application de XML sur le Web. L'application de XML sur le Web profite principalement de ses puissantes capacités de manipulation de données. En utilisant généralement XML avec des programmes côté serveur tels que JavaScript et ASP, presque tous les besoins des applications sur le réseau peuvent être satisfaits.
Compte tenu de la commodité de l'explication, nous présentons ci-dessous un exemple simple, qui n'inclut pas le programme côté serveur. Le but est de vous donner une compréhension perceptive des capacités de manipulation de données de XML.
D'accord, commençons par [cliquer ici] pour voir l'effet de l'exemple. (Veuillez utiliser le navigateur IE5.0 ou version supérieure pour l'ouvrir)
Il s'agit d'une simple fonction de récupération de données d'enregistrement sur CD. Vous pouvez voir les informations pertinentes d'un seul CD en cliquant sur "Précédent" et "Suivant". Nous avons initialement utilisé deux méthodes pour obtenir cet effet :
1. Utilisez DHTML pour masquer les données dans différentes couches et les afficher séquentiellement via les événements de la souris ;
2. Utilisez des programmes d'arrière-plan (tels que ASP, CGI, PHP, JSP, etc.) pour appeler des données côté serveur.
Mais dans cet exemple, lorsque nous ouvrons le code original de la page, nous pouvons voir qu'il n'y a pas de DIV DHTML ou d'action de formulaire. Il est entièrement implémenté en XML. Analysons son processus de production ci-dessous :
Première étape : définir une nouvelle identité.
En fonction des données réelles du CD, créez d'abord une nouvelle identification nommée <CD> ; deuxièmement, établissez son identification des données associées, qui sont : le nom du CD <Titre>, le chanteur <Artiste>, l'année de publication <Année>, le pays <Pays>, la société émettrice <Entreprise> et le prix <Prix> enfin, un logo nommé catalogue <CATALOG> doit être créé. Pourquoi créer une autre balise <CATALOG> ? Parce qu'il est stipulé dans le document XML qu'il ne doit et ne peut y avoir qu'un seul élément racine (identité), nous avons plusieurs données CD, et ces données sont dans une relation parallèle, nous devons donc créer un élément racine pour ces éléments parallèles.
Les définitions et les relations des éléments ci-dessus sont entièrement conformes aux normes XML et ne nécessitent pas la définition d'un fichier DTD spécial, la définition de la DTD peut donc être omise. Si nous voulons utiliser la DTD pour définir, le processus ci-dessus peut être exprimé comme suit :
<!ELEMENT CATALOGUE (CD)*>
<!ELEMENT CD (Titre, Artiste, Année, Pays, Société, Prix)>
<!ELEMENT Titre (#PCDATA)>
<!ELEMENT Artiste (#PCDATA)>
<!ELEMENT Année (#PCDATA)>
<!ELEMENT Pays (#PCDATA)>
<!ELEMENT Société (#PCDATA)>
<!ELEMENT Prix (#PCDATA)>
Ce code indique que l'élément CATALOG contient plusieurs sous-éléments CD, et que le sous-élément CD contient à son tour six sous-éléments : Titre, Artiste, Année, Pays, Société, Prix, et que leur contenu est défini sous forme de texte (caractères, chiffres, texte) . (Remarque : pour des instructions de syntaxe spécifiques, veuillez consulter l'introduction à la DTD dans le chapitre précédent)
Étape 2 : Créez un document XML.
<?xml version="1.0"?>
<CATALOGUE>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<PAYS>ÉTATS-UNIS</PAYS>
<ENTREPRISE>Colombie</ENTREPRISE>
<PRICE>10,90</PRICE>
<ANNÉE>1985</ANNÉE>
</CD>
<CD>
<TITLE>Cachez votre cœur</TITLE>
<ARTIST>Bonnie Tylor</ARTIST>
<PAYS>Royaume-Uni</PAYS>
<ENTREPRISE>Enregistrements CBS</ENTREPRISE>
<PRICE>9,90</PRICE>
<ANNÉE>1988</ANNÉE>
</CD>
<CD>
<TITLE>Les plus grands succès</TITLE>
<ARTIST>Dolly Parton</ARTIST>
<PAYS>ÉTATS-UNIS</PAYS>
<ENTREPRISE>RCA</ENTREPRISE>
<PRICE>9,90</PRICE>
<ANNÉE>1982</ANNÉE>
</CD>
<CD>
<TITLE>J'ai toujours le blues</TITLE>
<ARTIST>Gary Plus</ARTIST>
<PAYS>Royaume-Uni</PAYS>
<ENTREPRISE>Vierge Redords</ENTREPRISE>
<PRICE>10h20</PRICE>
<ANNÉE>1990</ANNÉE>
</CD>
<CD>
<TITLE>Éros</TITLE>
<ARTIST>Eros Ramazzotti</ARTIST>
<PAYS>UE</PAYS>
<ENTREPRISE>BMG</ENTREPRISE>
<PRICE>9,90</PRICE>
<ANNÉE>1997</ANNÉE>
</CD>
</CATALOGUE>
Le code ci-dessus utilise d'abord l'instruction de déclaration <?xml version="1.0"?> pour indiquer qu'il s'agit d'un document XML et que son format est conforme à la spécification standard XML 1.0. Ensuite il y a le contenu du document, l’arborescence est très claire :
<CATALOGUE>
<CD>
...
</CD>
<CD>
...
</CD>
</CATALOGUE>
Au total, 5 ensembles de données sont définis. Nous enregistrons le code ci-dessus sous forme de fichier cd.xml pour l'appel.
Étape 3 : Créez le fichier HTML correspondant.
1. Importez des données XML.
Nous savons que parmi les navigateurs actuellement populaires, seuls les navigateurs Microsoft IE5.0 et supérieurs prennent actuellement en charge XML. IE prend en charge l'insertion de XML via l'objet objet en HTML et importe les données via la méthode XMLDocument.load() de js. Regardons le code : <object WIDTH="0" HEIGHT="0"
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
</objet>
Définissez un objet avec le nom d'ID xmldso. Utilisez ensuite js pour introduire les données XML dans la zone d'en-tête :
<script pour="window" event="onload">
xmldso.XMLDocument.load("cd.xml");
</script>
2. Regroupez les données.
La balise <SPAN> sera ensuite utilisée pour lier les données XML dans la table. Parmi eux, ID, DATASRC et DTATFLD sont tous des attributs de <SPAN>. Le code est le suivant :
<tableau>
<tr><td>Titre :</td><td><SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE"></SPAN></td></tr>
<tr><td>Artiste :</td><td><SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST"></SPAN></td></tr>
<tr><td>Année :</td><td><SPAN ID="année" DATASRC=#xmldso DATAFLD="ANNÉE"></SPAN></td></tr>
<tr><td>Pays :</td><td><SPAN ID="pays" DATASRC=#xmldso DATAFLD="COUNTRY"></SPAN></td></tr>
<tr><td>Société :</td><td><SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY"></SPAN></td></tr>
<tr><td>Prix :</td><td><SPAN ID="prix" DATASRC=#xmldso DATAFLD="PRICE"></SPAN></td></tr>
</table>
3. Opération d'action.
Enfin, fournissez des boutons de navigation pour les données :
<INPUT TYPE=bouton VALUE="CD précédent" ONCLICK="moveprevious()">
<INPUT TYPE=bouton VALUE="CD suivant" ONCLICK="movenext()">
Et utilisez js pour compléter deux fonctions de clic de souris : movenext() et moveprevious(). Ajoutez le code suivant à la zone d'en-tête :
<langage de script="JavaScript">
fonction movenext()
{
si (xmldso.recordset.absoluteposition < xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
fonction déplacerprécédent()
{
si (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
</script>
D'accord, regardons d'abord l'intégralité du code original du fichier HTML :
<html>
<tête>
<script pour="window" event="onload">
xmldso.XMLDocument.load("cd.xml");
</script>
<langage de script="JavaScript">
fonction movenext()
{
si (xmldso.recordset.absoluteposition < xmldso.recordset.recordcount)
{
xmldso.recordset.movenext();
}
}
fonction déplacerprécédent()
{
si (xmldso.recordset.absoluteposition > 1)
{
xmldso.recordset.moveprevious();
}
}
</script>
<TITLE>Naviguer sur CD</TITLE>
</tête>
<corps>
<p>
<objet LARGEUR="0" HAUTEUR="0"
CLASSID="clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39" ID="xmldso">
</objet>
<tableau>
<tr><td>Titre :</td><td><SPAN ID="title" DATASRC=#xmldso DATAFLD="TITLE"></SPAN></td></tr>
<tr><td>Artiste :</td><td><SPAN ID="artist" DATASRC=#xmldso DATAFLD="ARTIST"></SPAN></td></tr>
<tr><td>Année :</td><td><SPAN ID="année" DATASRC=#xmldso DATAFLD="ANNÉE"></SPAN></td></tr>
<tr><td>Pays :</td><td><SPAN ID="pays" DATASRC=#xmldso DATAFLD="COUNTRY"></SPAN></td></tr>
<tr><td>Société :</td><td><SPAN ID="company" DATASRC=#xmldso DATAFLD="COMPANY"></SPAN></td></tr>
<tr><td>Prix :</td><td><SPAN ID="prix" DATASRC=#xmldso DATAFLD="PRICE"></SPAN></td></tr>
</table>
<p>
<INPUT TYPE=bouton VALUE="CD précédent" ONCLICK="moveprevious()">
<INPUT TYPE=bouton VALUE="CD suivant" ONCLICK="movenext()">
</p>
</corps>
</html>
Enregistrez le code ci-dessus en tant que fichier cd.htm et assemblez-le avec le fichier cd.xml dans la deuxième étape. Ouvrez le fichier cd.htm et vous verrez le même effet que dans l'exemple ci-dessus.
D'accord, jusqu'à présent, nous avons beaucoup appris sur XML. Résumons les cinq chapitres précédents, qui sont une introduction rapide à XML, les principes conceptuels de XML, la terminologie XML, la syntaxe XML et des exemples d'analyse de ce chapitre. Ici, la partie tutoriel se termine. Au cours du processus d'écriture, Ajie a fait de son mieux pour expliquer les concepts XML pertinents d'une manière facile à comprendre, et a fait de son mieux pour dire à tout le monde sa compréhension. Cependant, comme je n'ai pas étudié XML depuis longtemps, ma compréhension de. l'ensemble de la technologie XML n'est pas suffisamment systématique et approfondi, il est donc inévitable qu'il y ait quelques omissions. Veuillez me corriger et pardonner.