L'objet IXMLDOMEntityReference représente un noeud de référence d'entité.

&reference_entite;

Une référence d'entité peut être créée par l'intermédiaire de la méthode createEntityReference appliquée à l'objet DOMDOcument.

Set Objet_EntityReference = _
          Objet_Document.createEntityReference(nom_entité)

Un objet IXMLDOMEntityReference 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 5 et la chaîne de caractères entityreference.

Valeur_numérique = Objet_EntityReference.nodeType
Chaîne = Objet_EntityReference.nodeTypeString

Si l'analyseur XML développe les références d'entité au moment de la construction du modèle de structure, aucun objet EntityReference n'apparaît dans l'arborescence du document XML.

XML ne requiert pas de processeurs non-validant pour manipuler les déclarations d'entités externes créées dans un sous-ensemble externe ou déclarées dans des entités paramètres externes. En fait, les entités analysées déclarées dans le sous-ensemble externe n'ont pas besoin d'être développées, et donc la valeur de remplacement de l'entité peut ne pas être disponible. Si la valeur de remplacement est disponible, alors la valeur de la référence d'entité apparaît dans la liste d'enfant de l'objet EntityReference.

Les objets EntityReference peuvent être insérés à l'intérieur du modèle de structure lorsqu'une référence entité est dans le document source.

Les références de caractère et des références d'entités prédédéfinies sont considérées, afin d'être développées par le processeur HTML ou XML, de telle sorte que les caractères soient représentés par leur équivalent Unicode plutôt que par une référence d'entité.

De plus, le processeur XML peut développer complètement les références d'entités au moment de la construction du modèle de structure à la place des objets EntityReference fournis. S'il fournit de tels objets, alors pour un noeud EntityReference donné, il peut être qu'il n'y a pas de noeud d'entité représentant l'entité référencée. Si une telle entité existe, alors la sous-arborescence du noeud EntityReference est en générale une copie de la sous-arborescence du noeud Entity.

Toutefois, L'objet Entity peut ne pas être vrai lorsqu'une entité contient un préfixe d'espace de noms sans lien. Dans une telle situation, car la résolution du préfixe d'espace de noms dépend de la localisation de la référence d'entité, les descendants de l'objet EntityReference peuvent être liés aux adresses URI de l'espace de noms.

Les Propriétés
Propriété
Description
Chaîne = Objet_EntityReference.baseName
retourne le nom de base pour le nom qualifié avec l'espace de noms en lecture seule.
Set Objet_NodeList = Objet_EntityReference.childNodes
contient une liste de noeuds contenant les enfants en lecture seule.
Valeur = Objet_EntityReference.dataType
indique le type de données pour ce noeud en lecture et écriture.
Set Objet_Node = Objet_EntityReference.definition
retourne la définition d'un noeud dans le DTD ou le schéma en lecture seule.
Set Objet_Node = Objet_EntityReference.firstChild
contient le premier enfant de ce noeud en lecture seule.
Set Objet_Node = Objet_EntityReference.lastChild
contient le dernier noeud enfant en lecture seule.
Chaîne = Objet_EntityReference.namespaceURI
retourne l'URI (Uniform Resource Identifier) pour l'espace de noms en lecture seule.
Set Objet_Node = Objet_EntityReference.nextSibling
contient le frère suivant de ce noeud dans la liste d'enfants des parents en lecture seule.
Chaîne = Objet_EntityReference.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_EntityReference.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_EntityReference.nodeTypedValue
contient la valeur de ce noeud exprimée dans son type de donnée défini en lecture et écriture.
Chaîne = Objet_EntityReference.nodeTypeString
retourne le type de noeud dans une forme de chaîne de caractères en lecture seule.
Valeur = Objet_EntityReference.nodeValue
contient le texte associé avec le noeud en lecture et écriture.
Set Objet_Document = Objet_EntityReference.ownerDocument
retourne la racine du document qui contient ce noeud en lecture seule.
Set Objet_Node = Objet_EntityReference.parentNode
contient le noeud parent en lecture seule.
True | False = Objet_EntityReference.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_EntityReference.prefix
retourne le préfixe d'espace de noms en lecture seule.
Set Objet_Node = Objet_EntityReference.previousSibling
contient le frère gauche de ce noeud en lecture seule.
True | False = Objet_EntityReference.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_EntityReference.text
contient le contenu textuel du noeud et de sa sous-arborescence en lecture et écriture.
Valeur = Objet_EntityReference.xml
contient la représentation XML du noeud et de tous ses descendants en lecture seule.
Les Méthodes
Méthode
Description
Set Objet_Node = Objet_EntityReference.appendChild(Nouvel_Enfant)
ajoute un nouvel enfant comme le dernier enfant de ce noeud.
Set Objet_Node = Objet_EntityReference.cloneNode(Bool_Profondeur)
crée un nouveau noeud qui est un double exact de ce noeud.
True | False = Objet_EntityReference.hasChildNodes()
retourne True si le noeud a des enfants.
Set Objet_Node =
Objet_EntityReference.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_EntityReference.removeChild(Noeud_Enfant)
enlève le noeud enfant spécifié de la liste d'enfant et le retourne.
Set Objet_Node =
Objet_EntityReference.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_EntityReference.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_EntityReference.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_EntityReference.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_EntityReference.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.
Exemple [voir]
<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_REFERENCE = 5
        Dim resultat, i, nombre, nb_noeuds, Objet_Node, parent
        resultat = ""

        If Objet_Noeud.nodeType = NODE_ENTITY_REFERENCE Then
          Set parent = Objet_Noeud.parentNode
          resultat = resultat & "<b style='color: blue; font-weight: bold'>" _
                   & Objet_Noeud.nodeName _
                   & "</b>(" & Objet_Noeud.nodeTypeString & ") : <br>[ <b>" _
                   & parent.nodeName & "</b> = " & parent.text & " ]<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>