L'ilôt de données inséré dans un document HTML est représenté par un objet spécifique possédant ses propres propriétés, méthodes et événements.
<XML id="Identificateur_Ilot">...</XML> <script language="Javascript"> Objet_XML = Identificateur_Ilot Objet_XML.Propriété | Méthode | Evénement </script>
L'objet DHTML Document contient une méthode XMLDocument permettant de retourner un ilôt de données contenu dans le document HTML.
Objet_XML = document.XMLDocument;
A partir de la palette d'outils dédiée à l'objet Data Islands XML, il est possible de manipuler l'arborescence de l'ilôt de données XML.
Les éléments du DOM (Document Object Model) sont, pour la plupart, utilisables sur l'objet d'ilôt de données XML.
Les Propriétés| Propriété |
|---|
| Description |
| Objet_XML.Objet_XML.canHaveHTML = True | False |
| fixe ou récupère la valeur indiquant si l'objet peut contenir un balisage HTML. |
| Chaîne_de_caractères = Objet_XML.id |
| récupère la chaîne de caractères identifiant (ID) l'objet. |
| True | False = Objet_XML.isContentEditable |
| récupère la valeur indiquant si l'utilisateur édite le contenu de l'objet. |
| True | False = Objet_XML.isDisabled |
| récupère la valeur indiquant si l'utilisateur peut interagir sur l'objet. |
| True | False = Objet_XML.isMultiLine |
| récupère la valeur indiquant si le contenu de l'objet contient une ou plusieurs lignes. |
| Set Objet_Element = Objet_XML.parentElement |
| récupère l'objet parent dans l'arborescence de l'objet XML. |
| enumReadyState = Objet_XML.readyState |
| récupère l'état courant de l'objet. |
| Objet_XML.recordset = Objet_Recordset |
| fixe ou retourne à partir d'un objet source de données une référence vers le jeu d'enregistrements par défaut. |
| Nom = Objet_XML.scopeName |
| retourne l'espace de noms défini pour l'élément. |
| Objet_XML.src = Adresse |
| fixe ou retourne une adresse URL permettant de charger l'objet. |
| Objet_XML.tagUrn = URN |
| fixe ou retourne l'URN (Uniform Resource Name) spécifié dans la déclaration d'espace de noms. |
| Set Objet_DOMDocument = Objet_XML.XMLDocument |
| retourne une référence vers le DOM XML (XML Document Object Model) affichée par l'objet. |
| Méthode |
|---|
| Description |
| Identifiant = Objet_XML.addBehavior(Adresse_URL) |
| attribue un comportement à l'élément. |
| Composant = Objet_XML.componentFromPoint(Coord_X, Coord_Y) |
| retourne le composant localisé aux coordonnées spécifiées via certains événements. |
| True | False = Objet_XML.fireEvent(Evénement[, Objet_Evénement]) |
| lance un événement spécifié sur l'objet. |
| Set Objet_Attribut = Objet_XML.getAttributeNode(Nom) |
| retourne un objet attribut référencé par la propriété attribute.name. |
| Set Objet_Recordset = Objet_XML.namedRecordset(Nom[, Chemin]) |
| retourne l'objet recordset correspondant au membre de données nommé à partir d'un objet source de données (DSO). |
| Objet_XML.normalize() |
| fusionne les objets TextNodepour produire un modèle d'objet de document normalisé. |
| Information = Objet_XML.parseError.Propriété |
| retourne par l'intermédiaire de ses propriétés les information à propos de l'erreur en cours. |
| Ref_Objet_Attribut = Objet_XML.removeAttributeNode(Objet_Attribut) |
| enlève un objet attribute à partir de l'objet. |
| True | False = Objet_XML.removeBehavior(ID) |
| sépare un comportement de l'élément. |
| Ref_Objet_Attribut = Objet_XML.setAttributeNode(Objet_Attribut) |
| fixe un objet attribute comme une partie de l'objet. |
| Evénement |
|---|
| Description |
| ondataavailable |
| est lancé périodiquement lorsque les données arrivent à partir des sources de données qui transmettent d'une façon asynchrone leurs données. |
| ondatasetchanged |
| est lancé lorsqe le jeu de données exposé par un objet source de données change. |
| ondatasetcomplete |
| est lancé pour indiquer que toutes les données sont disponibles à partir de l'objet source de données. |
| onreadystatechange |
| est lancé lorsque l'état de l'objet a changé. |
| onrowenter |
| est lancé pour indiquer que la ligne courante a été modifiée dans la source de onnées et les nouvelles valeurs de données sont disponibles sur l'objet. |
| onrowexit |
| est lancé juste avant le contrôle de source de données modifie la ligne courante dans l'objet. |
| onrowsdelete |
| est lancé lorsque les lignes ont été supprimées du jeu d'enregistrements. |
| onrowsinserted |
| est lancé juste après que de nouvelles lignes soient insérées dans le jeu d'enregistrements courant. |
Les événements sont utilisable de diverses manières.
| <ELEMENT Evénement="Gestionnaire" ... > |
|---|
| Utilisable sur toutes les plateformes. |
| Objet_XML.Evénement="Gestionnaire" |
| Utilisable en JScript et Javascript. |
| Objet.Evénement = GetRef("Gestionnaire") |
| utilisable sous VBScript. |
| <script for="objet" event="Evénemement">...</script> |
| Utilisable uniquement sur Internet Explorer. |
<html>
<head>
<title>Affichage des caractéristiques d'une arborescence XML</title>
</head>
<body>
<XML id="Donnee_XML" src="logitheque.xml"></XML>
<a href="javascript:Analyse()">Lancer l'analyse du document</a>
<SPAN id="Affichage"></SPAN>
<script language="Javascript" type="text/javascript">
var Tab_TypeNoeud = new Array('ELEMENT', 'ATTRIBUT', 'TEXTE',
'CDATA SECTION', 'ENTITY REFERENCE', 'ENTITY',
'PROCESSING INSTRUCTION', 'COMMENT', 'DOCUMENT',
'DOCUMENT TYPE', 'DOCUMENT FRAGMENT', 'NOTATION');
function Analyse()
{
var tab1 = '<table border="1" cellpadding="3"'
+ 'cellspacing="3" width="60%">'
+ '<tr><th width="10%">Niveau</th>'
+ '<th width="45%">Nom du Noeud</th>'
+ '<th width="45%">Type du Noeud</th></tr><tr>'
+ '<th colspan="3">Valeur du Noeud</th></tr>';
var tab2 = '</table>';
var Info;
var Fichier_XML = Donnee_XML;
if (Fichier_XML.parseError.errorCode != 0)
{
Info = '<h3>Le fichier XML est invalide.</h3>';
Info += '<table><tr><td><b>Code d'erreur</b></td><td><b>: </b>'
+ Fichier_XML.parseError.errorCode + '</td></tr>';
Info += '<tr><td><b>Description</b></td><td><b>: </b>'
+ Fichier_XML.parseError.reason + '</td></tr>';
Info += '<tr><td><b>Fichier</b></td><td><b>: </b>'
+ Fichier_XML.parseError.filepos + '</td></tr>';
Info += '<tr><td><b>Adresse du fichier</b></td><td><b>: </b>'
+ Fichier_XML.parseError.url + '</td></tr>';
Info += '<tr><td><b>Ligne responsable</b></td><td><b>: </b>'
+ Fichier_XML.parseError.srcText + '</td></tr>';
Info += '<tr><td><b>Numéro de Ligne</b></td><td><b>: </b>'
+ Fichier_XML.parseError.line + '</td></tr>';
Info += '<tr><td><b>Numéro de Colonne</b></td><td><b>: </b>'
+ Fichier_XML.parseError.linepos + '</td></tr></table>';
document.write(Info);
return;
}
Affichage.innerHTML = tab1 + AffichageNoeudEnfant(Fichier_XML, 0) + tab2;
}
function AffichageNoeudEnfant(Noeud, Niveau)
{
var Resultat = '';
var Longueur = 0;
var Num_Noeud = 0;
var Liste_Attribut;
var Num_Attribut;
Resultat += '<tr><th>' + Niveau + '</th><td>' + Noeud.nodeName
+ '</td><td>' + Tab_TypeNoeud[Noeud.nodeType - 1] + '</td></tr>'
+ '<tr><td colspan="3">' + Noeud.nodeValue + '</td></tr>';
Liste_Attribut = Noeud.attributes;
if (Liste_Attribut != null)
{
Longueur = Liste_Attribut.length;
if (Longueur > 0)
{
for (Num_Attribut = 0; Num_Attribut < Longueur; Num_Attribut++)
Resultat += '<tr><th>' + Niveau + '</th>'
+ '<td>' + Liste_Attribut(Num_Attribut).nodeName + '</td><td>'
+ Tab_TypeNoeud[Liste_Attribut(Num_Attribut).nodeType - 1]
+ '</td></tr><tr><td colspan="3">'
+ Liste_Attribut(Num_Attribut).nodeValue + '</td></tr>';
}
}
Longueur = Noeud.childNodes.length;
if (Longueur > 0)
for (Num_Noeud = 0; Num_Noeud < Longueur; Num_Noeud++)
Resultat +=
AffichageNoeudEnfant(Noeud.childNodes(Num_Noeud), Niveau + 1);
return Resultat;
}
</script>
</body>
</html> |