L'objet IXMLDOMEntity représente une entité analysé ou non-analysée dans le document XML.
<!ENTITY nom_entité ... >
L'objet IXMLDOMEntity représente l'entité elle-même et non pas la déclaration d'entité. Le DOM élaboré par le W3C (Worldwide Web Consortium) ne définit actuellement pas un objet modèlisant une déclaration d'entité.
En accord avec les spécifications du W3C, un analyseur XML peut développer complètement les références d'entité avant que le modèle de structure soit passé au Document Object Model, dans ce cas il n'y aura aucun noeud EntityReference dans l'arborescence du document. Lorsque ces références d'entités sont développées, l'arborescence du document ne contient pas n'importe quelles références d'entités.
XML ne contrôle pas qu'un processeur non-validant lit et prépare les déclarations d'entités créés dans un sous-ensemble externe ou déclarées dans des entités paramètres externes. Cela signifie que les entités analysées déclarées dans le sous-ensemble externe n'ont pas besoin être développées par plusieurs classes des applications et que la valeur de remplacement de l'entité peut ne pas être disponible. Lorsque la valeur de remplacement est disponible le noeud Entity correspondant de la liste d'enfant représente la structure de cette sustitution de texte, sinon, la liste d'enfant est vide.
Lorsque l'analyseur XML de Microsoft valide le document XML, il développe les entités externes à l'exception des entités binaires. Les noeuds représentant les entités développés comme les enfants en lecture seule de la référence d'entité. L'application de Microsoft ne développe pas ces entités lorsqu'elle n'est pas validante.
La structure de la liste d'enfant de l'entité est exactement la même que la structure de la liste d'enfant pour l'objet IXMLDOMEntityReference avec la même valeur de noeud.
La liste des entités dans une DTD peut être récupérée par l'intermédiaire de la propriété entities appliquées à un objet IXMLDOMDocumentype.
Set Collection_Entities = Objet_DocumenType.entities
Un objet IXMLDOMEntity est identifié par un type de noeud spécifique, en l'occurrence les propriétés nodeType et nodeTypeString appliquée à cet objet retournent respectivement la valeur numérique 6 et la chaîne de caractères entity.
Les PropriétésValeur_numérique = Objet_Entity.nodeType Chaîne = Objet_Entity.nodeTypeString
Propriété |
---|
Description |
Chaîne = Objet_Entity.baseName |
retourne le nom de base pour le nom qualifié avec l'espace de noms en lecture seule. |
Set Objet_NodeList = Objet_Entity.childNodes |
contient une liste de noeuds contenant les enfants en lecture seule. |
Valeur = Objet_Entity.dataType |
indique le type de données pour ce noeud en lecture et écriture. |
Set Objet_Node = Objet_Entity.definition |
retourne la définition d'un noeud dans le DTD ou le schéma en lecture seule. |
Set Objet_Node = Objet_Entity.firstChild |
contient le premier enfant de ce noeud en lecture seule. |
Set Objet_Node = Objet_Entity.lastChild |
contient le dernier noeud enfant en lecture seule. |
Chaîne = Objet_Entity.namespaceURI |
retourne l'URI (Uniform Resource Identifier) pour l'espace de noms en lecture seule. |
Set Objet_Node = Objet_Entity.nextSibling |
contient le frère suivant de ce noeud dans la liste d'enfants des parents en lecture seule. |
Chaîne = Objet_Entity.nodeName |
contient le nom qualifié de la référence d'entité, en lecture seule. |
Valeur = Objet_Entity.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. |
Objet_Valeur = Objet_Entity.nodeTypedValue |
contient la valeur de ce noeud exprimée dans son type de donnée défini en lecture et écriture. |
Chaîne = Objet_Entity.nodeTypeString |
retourne le type de noeud dans une forme de chaîne de caractères en lecture seule. |
Valeur = Objet_Entity.nodeValue |
contient le texte associé avec le noeud en lecture et écriture. |
Chaîne = Objet_Entity.notationName |
contient le nom de la notation, en lecture seule. |
Set Objet_Document = Objet_Entity.ownerDocument |
retourne la racine du document qui contient ce noeud en lecture seule. |
Set Objet_Node = Objet_Entity.parentNode |
contient le noeud parent en lecture seule. |
True | False = Objet_Entity.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_Entity.prefix |
retourne le préfixe d'espace de noms en lecture seule. |
Set Objet_Node = Objet_Entity.previousSibling |
contient le frère gauche de ce noeud en lecture seule. |
Chaîne = Objet_Entity.publicId |
contient l'identificateur public associé avec l'entité, en lecture seule. |
True | False = Objet_Entity.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_Entity.systemId |
contient l'identificateur système associé à l'entité en lecture seule. |
Chaîne = Objet_Entity.text |
contient le contenu textuel du noeud et de sa sous-arborescence en lecture et écriture. |
Valeur = Objet_Entity.xml |
contient la représentation XML du noeud et de tous ses descendants en lecture seule. |
Méthode |
---|
Description |
Set Objet_Node = Objet_Entity.appendChild(Nouvel_Enfant) |
ajoute un nouvel enfant comme le dernier enfant de ce noeud. |
Set Objet_Node = Objet_Entity.cloneNode(Bool_Profondeur) |
crée un nouveau noeud qui est un double exact de ce noeud. |
True | False = Objet_Entity.hasChildNodes() |
retourne True si le noeud a des enfants. |
Set Objet_Node = Objet_Entity.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_Entity.removeChild(Noeud_Enfant) |
enlève le noeud enfant spécifié de la liste d'enfant et le retourne. |
Set Objet_NodeList = Objet_Entity.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_Node = Objet_Entity.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_Entity.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_Entity.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_Entity.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, fichier Dim affichage Set Objet_Document = Server.CreateObject("MSXML2.DOMDocument") Objet_Document.async = false fichier = Server.MapPath("logitheque.xml") Objet_Document.load fichier affichage = Visualise_Noeud(Objet_Document) Function Visualise_Noeud(Objet_Noeud) Const NODE_ENTITY = 6 Const NODE_DOCUMENT_TYPE = 10 Dim resultat, i, nombre, nb_noeuds, Objet_Node, Objet_NamedNodeMap resultat = "" If Objet_Noeud.nodeType = NODE_DOCUMENT_TYPE Then Set Objet_NamedNodeMap = Objet_Noeud.entities resultat = resultat & "<h2>" & Objet_Noeud.nodeName & " ( " _ & Objet_Noeud.nodeTypeString & " )</h2>" _ & "<h3>Nombre total d'entités : " _ & Objet_NamedNodeMap.length & "</h3><hr>" End If If Objet_Noeud.nodeType = NODE_ENTITY Then resultat = resultat & "<b style='color: blue; font-weight: bold'>" _ & Objet_Noeud.nodeName _ & "</b> (" & Objet_Noeud.nodeTypeString & ") = <b " _ & "style='font-size: 14pt'>" & Objet_Noeud.text & "</b><br>" End If nb_noeuds = Objet_Noeud.childNodes.length For nombre = 0 To nb_noeuds - 1 Set Objet_Node = Objet_Noeud.childNodes(nombre) resultat = resultat & Visualise_Noeud(Objet_Node) Next Visualise_Noeud = resultat End Function %> </head> <body> <div><%= affichage %></div> </body> </html> |