Zhang Jian, Université des postes et télécommunications de Pékin.
Limites de XML
Actuellement, les données de contenu de nombreux sites Web sont stockées dans des bases de données ou des fichiers de données. Pour les développeurs de programmes Web, s'ils souhaitent extraire des informations utiles de la base de données, la méthode traditionnelle consiste à écrire des scripts côté serveur (tels que VBScript, JavaScript, CGI, ASP, Perl, etc.) et à exécuter la base de données. La requête SQL obtient les enregistrements pertinents, puis organise les résultats de la requête dans une page HTML et les renvoie au client. L'utilisateur utilise le navigateur pour observer les résultats finaux.
Afin d'améliorer la flexibilité et l'évolutivité des services système et de permettre un plus large éventail de cibles de services, de nombreux sites Web commerciaux font de leur mieux pour fournir des règles commerciales, des données originales et des formulaires de présentation en tant que services indépendants. La manière dont HTML intègre les données dans l'affichage ne répond évidemment pas à ce besoin. Par conséquent, stocker les données originales dans des documents XML et utiliser des feuilles de style pour afficher le contenu sont les avantages de la technologie XML adaptée au commerce électronique. Mais par essence, la technologie XSL n'est pas orientée vers l'affichage de données. C'est une technologie de conversion de format bien moins riche que HTML en termes de moyens et de méthodes d'affichage. Pour les programmeurs, une solution plus idéale consiste à combiner les deux technologies HTML et XML pour compléter leurs avantages respectifs, afin que les données originales réelles puissent conserver leur signification et leur structure d'origine tout en utilisant pleinement l'affichage en constante évolution du langage HTML. . XML Data Island est le produit de cette fusion technologique. Il utilise la balise <XML> pour intégrer des données XML directement dans des pages HTML, réalisant ainsi les avantages complémentaires des deux.
Comment gérer les îlots de données dans IE
Afin de pouvoir gérer ce type de page HTML avec du code XML intégré, Internet Explorer 4.0 (ci-après dénommé IE 4.0) a introduit la technologie DSO (Data Source Objects, data source object), qui est implémenté avec Java Applet.
Par exemple :
<APPLET CODE="com.ms.xml.dso.XMLDSO.class"
ID="xmldso" WIDTH=0 HEIGHT=0 MAYSCRIPT=TRUE>
<PARAM NAME="URL" VALUE="myXML.xml">
< /APPLET>
Dans l'exemple ci-dessus, l'attribut CODE spécifie l'applet Java DSO, l'attribut MAYSCRIPT garantit que le script client peut traiter l'objet de données et la balise PARAM spécifie l'emplacement du document XML.
La limitation de l'utilisation de Java est qu'il ne peut décrire que l'adresse URL du XML dans le document HTML, mais ne peut pas y intégrer directement la balise XML. C'est encore loin de la véritable solution d'îlot de données. Microsoft a étendu la technologie DSO dans Internet Explorer 5.0 (ci-après dénommé IE 5.0), dépassant les limitations précédentes et intégrant véritablement HTML et XML. Les pages HTML prennent en charge l'utilisation directe des balises <XML>.
Par exemple :
<HTML>
<XML ID="xmldso">
<?xml version="1.0"?>
du XML...
</XML>
Tant que l'ID de chaque îlot de données est unique, il peut être inclus dans la page Des îlots de données sont embarqués partout où cela est nécessaire, et ces DSO sont indépendants les uns des autres.
En plus de la méthode d'intégration directe dans l'exemple ci-dessus, vous pouvez également utiliser des références externes pour relier des îlots de données.
Par exemple :
<XML ID="xmldso" SRC="myXML.xml">
</XML>
De cette manière, uniquement lorsque les clients de l'entreprise continuent d'utiliser IE 4.0, et afin de résoudre les problèmes de compatibilité de ces clients, l'applet Java est une option à prendre en compte par les programmeurs.
Dans la technologie DSO implémentée par IE 5.0, si les données sont le résultat d'une interrogation de la base de données via le langage SQL, elles sont alors stockées dans le jeu d'enregistrements ADO (ActiveX Data Objects). Le serveur envoie ce contrôle ActiveX (généralement un jeu d'enregistrements ADO) au client, où le programme de script client effectue un traitement ultérieur. En fait, IE 5.0 gère les îlots de données XML comme un jeu d'enregistrements ADO spécial.
Liaison de données XML
1. Mappage du jeu d'enregistrements ADO
Chaque élément principal du XML est mappé à un enregistrement du jeu d'enregistrements ADO et les sous-éléments sont mappés en conséquence aux champs (également appelés domaines) du jeu d'enregistrements.
Par exemple, l'îlot de données XML books.xml existe comme suit :
<XML ID="xmldso">
<?xml version="1.0"?>
<booklist>
<book>
<title>Straight Talk About Computers</title>
< isbn>72-80088-005</isbn>
</book>
<book>
<title> Micro-ondes gastronomiques </title>
<isbn>72-80081-082</isbn>
</book>
</booklist>
</XML >
À l'heure actuelle, l'ensemble d'enregistrements ADO mappé est :
titre isbn
Straight Talk About Computers 72-80088-005
Gourmet Microwave 72-80081-082
2. Liaison à des éléments HTML
Après avoir incorporé des îlots de données dans un document HTML, vous pouvez lier des îlots de données XML à des éléments HTML. Chaque entrée DSO (c'est-à-dire îlot de données) possède un numéro d'identification unique. Tout d'abord, définissez l'attribut DATASRC dans l'élément HTML sur l'ID correspondant pour associer l'élément HTML à l'îlot de données. Déterminez ensuite l'élément XML extrait en définissant la valeur de l'attribut DATAFLD.
Par exemple, le code lié à l'élément DIV est le suivant :
<DIV ID=title DATASRC=#xmldso DATAFLD="title"></DIV>
<DIV ID=price DATASRC=#xmldso DATAFLD="isbn"></ DIV>
Remarque : Tous les éléments HTML ne peuvent pas être liés à des îlots de données XML. Actuellement, les éléments qui prennent en charge ce mécanisme de liaison DSO sont les suivants :
A. APPLET, BUTTON, DIV, FRAME, IFRAME, IMG, INPUT (les types ici sont : CHECKBOX, HIDDEN, LABEL, PASSWORD, RADIO et TEXT), LABEL, MARQUEE, SELECT, SPAN, TABLE et TEXTAREA.
3. Données XML explicites dans un format tabulaire
Si vous liez les données XML à l'élément TABLE, elles peuvent être automatiquement affichées dans un format tabulaire à plusieurs lignes.
Par exemple, le code qui lie les données XML à l'élément TABLE est le suivant :
<TABLE BORDER=1 DATASRC="#xmldso">
<THEAD>
<TR><TH>Titre</TH>
<TH>ISBN</TH ></TR >
</THEAD>
<TBODY>
<TR><TD><DIV DATAFLD="title"></DIV></TD>
<TD><DIV DATAFLD="isbn">
</DIV>< /TD>< /TR>
</TBODY>
</TABLE>
De cette manière, les deux sont liés en définissant l'attribut DATASRC dans l'élément TABLE sur #xmldso. Le tableau est divisé en deux parties : l'en-tête (THEAD) et le corps du tableau (TBODY). Chaque élément <book> sera affiché sous forme de ligne de tableaux. Les données affichées dans chaque colonne sont spécifiées par l'attribut DATAFLD dans l'élément DIV.