L'objet IXMLDOMDocument2 est une extension de DOMDocument qui supporte les schémas cachés et les caractéristiques de validation, et change de support XPath.

Set objet_Document2 = _
             Server.CreateObject("Msxml2.DOMDocument")
Set objet_FTDocument2 = _
             Server.CreateObject("Msxml2.FreeThreadedDOMDocument")
Les Propriétés
Propriété
Description
Set Objet_SchemaCollection = Objet_Document2.namespaces
retourne laliste des espaces de noms dans le document.
Set Objet_SchemaCollection = Objet_Document2.schemas
utilise les objets XMLSchemaCache et IXMLDOMSchemaCollection pour trouver les documents de schéma.
Les Méthodes
Propriété
Méthode
Valeur_Propriété = Objet_Document2.getProperty(nom)
identifie les valeurs par défaut ou les valeurs fixées par la méthode setProperty.
Set Objet_Selection = Objet_Document2.selectNodes(expression)
modifie les noeuds sélectionnés pour retourner un objet IXMLDOMSelection.
objXMLDOMDocument2.setProperty(nom, valeur)
permet de fixer les proprétés.
Objet_Document2.validate()
exécute une opération de validation sur le document XML courant chargé.
Exemple [voir]
<%
  Dim Objet_Document, objet_listenoeuds
  Dim fichier, noeud, i
  Dim expression, langage

  Set Objet_Document = Server.CreateObject("Msxml2.DOMDocument")
  Objet_Document.async = false
  fichier = Server.MapPath("logitheque.xml")
  Objet_Document.load(fichier)
  Objet_Document.setProperty "SelectionLanguage", "XPath"
  Set objet_listenoeuds = Objet_Document.selectNodes _
                                    ("//categorie[@nom][contains(., 'Editeur')]/logiciel")

  i = 0
  expression = objet_listenoeuds.expr
  langage = objet_listenoeuds.getProperty("SelectionLanguage")

  Response.Write "<h3>Résultat de l'expression <i>" & langage _
                      & "</i> : " & expression & "</h3>" _
                      & "<u>La liste contient "& objet_listenoeuds.length _
                      & " noeuds :</u><hr>"

  For Each noeud In objet_listenoeuds
    i = i + 1
    Response.Write i " - <b>" & noeud.attributes.item(0).value _
                       & "</b> : " & noeud.text & "<br>"
  Next
%>