L'objet IXMLDOMComment représente le contenu d'un commentaire XML.
Un commentaire peut être créé par l'intermédiaire de la méthode createComment appliquée à l'objet DOMDocument.
Set Objet_Comment = _
Objet_Document.createComment(valeur_textuelle)
Un objet IXMLDOMComment peut être ajouté à l'arborescence d'un document XML au moyen de la méthode appendChild ou insertBefore de l'objet IXMLDOMNode.
Objet_Node.appendChild Objet_Comment Objet_Node.insertBefore(Objet_Comment, Noeud_Frere)
Un noeud commentaire dans un dans un document XML est formée de l'une des façons suivantes :
<!-- Contenu du commentaire --> <comment> Contenu du commentaire </comment>
L'analyseur XML remarque un commentaire par le double trait d'union (--) et partant ne prend pas en compte le contenu de ce noeud.
Un commentaire se distingue par un type de noeud spécifique, lequel est déterminé par la méthode nodeType ou nodeTypeString retournant respectivement une valeur numérique, ou une chaîne de caractères.
Les PropriétésValeur_numerique = Objet_Node.nodeType Chaîne = Objet_Node.nodeTypeString
| Propriété |
|---|
| Description |
| Chaîne = Objet_Comment.baseName |
| retourne le nom de base pour le nom qualifié avec l'espace de noms en lecture seule. |
| Set Objet_NodeList = Objet_Comment.childNodes |
| contient une liste de noeuds contenant les enfants en lecture seule. |
| Chaîne = Objet_Comment.data |
| contient les données du noeud CDATA, en lecture et écriture. |
| Valeur = Objet_Comment.dataType |
| indique le type de données pour ce noeud en lecture et écriture. |
| Set Objet_Node = Objet_Comment.definition |
| retourne la définition d'un noeud dans le DTD ou le schéma en lecture seule. |
| Set Objet_Node = Objet_Comment.firstChild |
| contient le premier enfant de ce noeud en lecture seule. |
| Set Objet_Node = Objet_Comment.lastChild |
| retourne le dernier noeud enfant en lecture seule. |
| Valeur = Objet_Comment.length |
| spécifie la longueur, en caractères des données, en lecture seule. |
| Chaîne = Objet_Comment.namespaceURI |
| retourne l'URI (Uniform Resource Identifier) pour l'espace de noms en lecture seule. |
| Set Objet_Node = Objet_Comment.nextSibling |
| contient le frère suivant de ce noeud dans la liste d'enfants des parents en lecture seule. |
| Chaîne = Objet_Comment.nodeName |
| contient le nom qualifié de l'élément, l'attribut, la référence d'entité ou une chaîne de caractères fixée pour d'autres types de noeud en lecture seule. |
| Valeur = Objet_Comment.nodeType |
| spécifie le type de noeud XML DOM qui détermine des valeurs valides et si le noeud peut avoir des noeuds enfants en lecture seule. |
| Valeur = Objet_Comment.nodeTypedValue |
| contient la valeur de ce noeud exprimée dans son type de donnée défini en lecture et écriture. |
| Chaîne = Objet_Comment.nodeTypeString |
| retourne le type de noeud dans une forme de chaîne de caractères en lecture seule. |
| Valeur = Objet_Comment.nodeValue |
| contient le texte associé avec le noeud en lecture et écriture. |
| Set Objet_Document = Objet_Comment.ownerDocument |
| retourne la racine du document qui contient ce noeud en lecture seule. |
| Set Objet_Node = Objet_Comment.parentNode |
| contient le noeud parent en lecture seule. |
| True | False = Objet_Comment.parsed |
| contient la valeur True si le noeud et tous ses descendants ont été analysées et instanciées, ou False si n'importe quels noeuds restent à être analysées en lecture seule. |
| Valeur = Objet_Comment.prefix |
| retourne le préfixe d'espace de noms en lecture seule. |
| Set Objet_Node = Objet_Comment.previousSibling |
| contient le frère gauche de ce noeud en lecture seule. |
| True | False = Objet_Comment.specified |
| indique si le noeud est explicitement spécifié ou dérivé d'une valeur par défaut dans le DTD ou le schéma en lecture seule. |
| Chaîne = Objet_Comment.text |
| contient le contenu textuel du noeud et de sa sous-arborescence en lecture et écriture. |
| Valeur = Objet_Comment.xml |
| contient la représentation XML du noeud et de tous ses descendants en lecture seule. |
| Méthode |
|---|
| Description |
| Set Objet_Node = Objet_Comment.appendChild(Nouvel_Enfant) |
| ajoute un nouvel enfant comme le dernier enfant de ce noeud. |
| Objet_Comment.appendData(Chaîne) |
| ajoute la chaîne de caractères spécifiée aux données textuelles existantes. |
| Set Objet_Node = Objet_Comment.cloneNode(Bool_Profondeur) |
| crée un nouveau noeud qui est un double exact de ce noeud. |
| Objet_Comment.deleteData(Position, Nb_Caractères) |
| supprime la sous-chaîne de caractères à l'intérieur de données textuelles. |
| True | False = Objet_Comment.hasChildNodes() |
| retourne True si le noeud a des enfants. |
| Set Objet_Node = Objet_Comment.insertBefore(Nouvel_Enfant, Référence) |
| insère un noeud enfant à la gauche du noeud spécifié ou à la fin de la liste. |
| Objet_Comment.insertData(Position) |
| insère la chaîne spécifiée à la position indiquée. |
| Set Objet_Node = Objet_Comment.removeChild(Noeud_Enfant) |
| enlève le noeud enfant spécifié de la liste d'enfant et le retourne. |
| Set Objet_Node = Objet_Comment.replaceChild(Nouvel_Enfant, Ancien_Enfant) |
| remplace l'ancien noeud enfant spécifié par le nouveau noeud enfant fourni dans le jeu d'enfants de ce noeud. |
| Objet_Comment.replaceData(Position, Nb_Caractères, Données) |
| remplace le nombre de caractères spécifiés par la chaîne de caractères fournie. |
| Set Objet_NodeList = Objet_Comment.selectNodes(Expression_Pattern) |
| applique l'opération de mise en correspondance de modèles indiquée au contexte de ce noeud et retourne la liste de noeuds correspondants. |
| Set Objet_Node = Objet_Comment.selectSingleNode(Chaîne_Requête) |
| applique l'opération de mise en correspondance de modèles indiquée au contexte de ce noeud et retourne la liste de premier noeud correspondant. |
| Chaîne = Objet_Comment.substringData(Position, Nb_Caractères) |
| récupère une sous-chaîne de caractères d'une chaîne complète à l'intervalle spécifié. |
| Chaîne = Objet_Comment.transformNode(Objet_StyleSheet) |
| traite ce noeud et ses enfants utilisant la feuille de style de tranformation (XSLT) indiquée et retourne la transformation résultante. |
| Objet_Comment.transformNodeToObject(Feuille_Style, Objet) |
| traite ce noeud et ses enfants utilisant la feuille de style de tranformation (XSLT) indiquée et retourne la transformation résultante dans l'objet fourni. |
<html>
<head>
<%
Dim Objet_Document, Objet_Comment
Dim affichage, fichier, trouve
trouve = false
Set Objet_Document = Server.CreateObject("MSXML2.DOMDocument")
Objet_Document.async = false
fichier = Server.MapPath("fichier.xml")
Objet_Document.load fichier
affichage = Visualise_Noeud(Objet_Document)
Function Visualise_Noeud(Objet_Noeud)
Dim resultat, nombre, val, val2
Dim Objet_Node
Const NODE_COMMENT = 8
val = "Premier commentaire"
val2 = "mis à jour"
resultat = ""
If Objet_Noeud.nodeType = NODE_COMMENT Then
trouve = true
resultat = resultat & "<b style='color: blue; font-weight: bold'>" _
& Objet_Noeud.nodeName _
& "</b>(" & Objet_Noeud.nodeTypeString & ") : " _
& Objet_Noeud.nodeValue & "<br>"
If Instr(Objet_Noeud.nodeValue, val) Then
Objet_Noeud.data = "Modifie le " & date
resultat = resultat & "Commentaire modifie --> "
ElseIf Instr(Objet_Noeud.nodeValue, val2) Then
Objet_Noeud.data = "Le fichier a été mis à jour le " & date
resultat = resultat & "Commentaire modifie --> "
End If
End If
For nombre = 0 To Objet_Noeud.childNodes.length - 1
Set Objet_Node = Objet_Noeud.childNodes(nombre)
resultat = resultat & Visualise_Noeud(Objet_Node)
Next
Visualise_Noeud = resultat
End Function
If trouve = true Then
Set Objet_Comment = Objet_Document.createComment(" " _
& "Le fichier a été mis à jour le " & date)
Objet_Document.appendChild Objet_Comment
End If
Objet_Document.save(Server.MapPath("fichier_modifie.xml"))
%>
</head>
<body>
<div><%= affichage %></div>
</body>
</html> |