L'objet IXMLDOMProcessingInstruction représente une instruction de traitement dans laquelle une information spécifique pour le processeur XML est conservée dans le texte du document.
Un objet IXMLDOMProcessingInstruction est créé à partir de la méthode createProcessingInstruction de l'objet DOMDocument.
Set Objet_ProcessingInstruction = _
Objet_Document.createProcessingInstruction(Nom, Contenu)
Le nom est une chaîne de caractères XML valide qui sera séparée du contenu par un espace blanc dans le noeud résultant.
<?Nom Contenu?>
Le contenu d'un tel noeud est constitué d'une expression textuelle représentant par exemple, un attribut et sa valeur associée ou une classe Java.
<?xml-stylesheet type="text/xsl" href="../style.xsl"?>
Une instruction de traitement est donc formée par un balisage particulier dans le document XML, soit une séquence de caractères <? pour indiquer sont commencement et une autre ?> pour la fin.
Une instruction de traitement est représentée par un type de noeud précis, en l'occurrence par la constante NODE_PROCESSING_INSTRUCTION possédant la valeur numérique 7 ou textuelle processinginstruction. Ainsi, ce noeud pourra être repéré dans une arborescence XML par la méthode nodeType ou nodeTypeString appliquée à l'objet nodal courant.
Les PropriétésIf Objet_Node.nodeType = 7 Then ... End If If Objet_Node.nodeTypeString = "processinginstruction" Then ... End If
| Propriété |
|---|
| Description |
| Set Objet_NamedNodeMap = Objet_ProcInst.attributes |
| contient la liste des attributs pour ce noeud en lecture seule. |
| Chaîne = Objet_ProcInst.baseName |
| retourne le nom de base pour le nom qualifié avec l'espace de noms en lecture seule. |
| Set Objet_NodeList = Objet_ProcInst.childNodes |
| contient une liste de noeuds contenant les enfants en lecture seule. |
| Valeur = Objet_ProcInst.dataType |
| indique le type de données pour ce noeud en lecture et écriture. |
| Set Objet_Node = Objet_ProcInst.definition |
| retourne la définition d'un noeud dans le DTD ou le schéma en lecture seule. |
| Set Objet_Node = Objet_ProcInst.firstChild |
| contient le premier enfant de ce noeud en lecture seule. |
| Set Objet_Node = Objet_ProcInst.lastChild |
| contient le dernier noeud enfant en lecture seule. |
| Chaîne = Objet_ProcInst.namespaceURI |
| retourne l'URI (Uniform Resource Identifier) pour l'espace de noms en lecture seule. |
| Set Objet_Node = Objet_ProcInst.nextSibling |
| contient le frère suivant de ce noeud dans la liste d'enfants des parents en lecture seule. |
| Chaîne = Objet_ProcInst.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. |
| Chaîne = Objet_ProcInst.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. |
| Set Objet_Valeur = Objet_ProcInst.nodeTypedValue |
| contient la valeur de ce noeud exprimée dans son type de donnée défini en lecture et écriture. |
| Chaîne = Objet_ProcInst.nodeTypeString |
| retourne le type de noeud dans une forme de chaîne de caractères en lecture seule. |
| Set Objet_Valeur = Objet_ProcInst.nodeValue |
| contient le texte associé avec le noeud en lecture et écriture. |
| Set Objet_Document = Objet_ProcInst.ownerDocument |
| retourne la racine du document qui contient ce noeud en lecture seule. |
| Set Objet_Node = Objet_ProcInst.parentNode |
| contient le noeud parent en lecture seule. |
| True | False = Objet_ProcInst.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_ProcInst.prefix |
| retourne le préfixe d'espace de noms en lecture seule. |
| Set Objet_Node = Objet_ProcInst.previousSibling |
| contient le frère gauche de ce noeud en lecture seule. |
| True | False = Objet_ProcInst.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_ProcInst.target |
| indique la cible, soit l'application à laquelle cette instruction detraitement est dirigé, en lecture seule. |
| Chaîne = Objet_ProcInst.text |
| contient le contenu textuel du noeud et de sa sous-arborescence en lecture et écriture. |
| Valeur = Objet_ProcInst.xml |
| contient la représentation XML du noeud et de tous ses descendants en lecture seule. |
| Méthode |
|---|
| Description |
| Objet_ProcInst.appendChild(Nouvel_Enfant) |
| ajoute un nouvel enfant comme le dernier enfant de ce noeud. |
| Set Objet_Node = Objet_ProcInst.cloneNode(Bool_Profondeur) |
| crée un nouveau noeud qui est un double exact de ce noeud. |
| True | False = Objet_ProcInst.hasChildNodes() |
| retourne True si le noeud a des enfants. |
| Set Objet_Node = Objet_ProcInst.insertBefore(Nouvel_Enfant, Référence) |
| insère un noeud enfant à la gauche du noeud spécifié ou à la fin de la liste. |
| Set Objet_Node = Objet_ProcInst.removeChild(Noeud_Enfant) |
| enlève le noeud enfant spécifié de la liste d'enfant et le retourne. |
| Set Objet_Node = Objet_ProcInst.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. |
| Set Objet_NodeList = Objet_ProcInst.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_ProcInst.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_ProcInst.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_ProcInst.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. |
<%
Dim Objet_Document, racine, noeud
Dim Objet_ProcessingInstruction
Set Objet_Document = Server.CreateObject("MSXML2.DOMDocument")
Objet_Document.load(Server.MapPath("fichier.xml"))
Set racine = Objet_Document.documentElement
For Each noeud In Objet_Document.childNodes
If noeud.nodeType = 7 AND noeud.nodeName = "xml" Then
Response.Write "<h3>Une instruction de traitement a été trouvée " _
& (<i>" & noeud.nodeTypeString & "</i>) "</h3>"
Response.Write "<?" & noeud.nodeName & " " & noeud.text & "?>"
Exit For
Else
Response.Write "<h3>Aucune instruction de traitement n'a été trouvée.</h3>"
Set Objet_ProcessingInstruction = _
Objet_Document.createProcessingInstruction("xml", _
"version=""1.0"" encoding=""iso-8859-1""")
Objet_Document.insertBefore Objet_ProcessingInstruction, racine
Response.Write "<b><u>L'instruction de traitement suivante " _
& "a été ajoutée :</u></b><br>" _
& "<?" & Objet_ProcessingInstruction.nodeName & " " _
& Objet_ProcessingInstruction.text & "?>"
End If
Next
Objet_Document.Save(Server.MapPath("fichier.xml"))
Set Objet_Document = Nothing
%> |