L'objet IXMLDOMNotation contient une notation déclarée dans la Définition de Type de Document (DTD) ou dans le schéma.
Déclaration XSchema <xs:notation name="nom_notation" public="ID_Public" system="URI" /> L'appel XSchema de la notation <xs:element name="nom_element"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:hexBinary"> <xs:attribute name="nom_attribut"> <xs:simpleType> <xs:restriction base="xs:NOTATION"> <xs:enumeration value="nom_notation"/> ... <xs:enumeration value="nom_notationN"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> Utilisation dans le document XML <nom_element nom_attribut="nom_notation">...</nom_element> Déclaration DTD <!NOTATION nom_notation SYSTEM "ID_Externe"> <!NOTATION nom_notation PUBLIC "ID_Public" "URI"> L'appel DTD de la notation <!ENTITY nom_entité SYSTEM "URI" NDATA nom_notation> <nom_element nom_attribut="&nom_entité;"/>
Les notations identifient par un nom le format d'entités non-analysées, le format des éléments qui porte un attribut de notation ou l'application à laquelle une instruction de traitement est adressée.
Un objet IXMLDOMNotation peut être créé au moyen de la méthode createNode appliquée à l'objet DOMDocument avec le type de noeud fixé à 12.
Set Objet_Notation = _ Objet_Document.createNode(12, nom, URI_espace_noms)
La liste des notations dans une déclaration de type de document ou d'un schéma peut être extraite à partir de la propriété notations appliquée à l'objet IXMLDocumentType.
Set Objet_NamedNodeMap = Objet_DocumentType.notations Set Objet_NamedNodeMap = Objet_Schema.notations Set Objet_Notation = Objet_NamedNodeMap.item(index)
L'objet IXMLDOMEntity contenant une référence à une notation, peut livrer le nom de cette dernière par l'intermédiaire de la propriété notationName.
Chaîne = Objet_Entity.notationName
Un objet IXMLDOMNotation se distingue par un type de noeud spécifique, en l'occurrence par la valeur numérique 7 ou la chaîne de caractères notation en utilisant respectivement les propriétés nodeType et nodeTypeString.
Valeur_numérique = Objet_Notation.nodeType Chaîne = Objet_Notation.nodeTypeString
Deux propriétés spécifiques à l'objet IXMLDOMNotation permettent de retourner l'identificateur public (publicID) ou système (systemID) de la notation.
Les PropriétésChaîne = Objet_Notation.systemID Chaîne = Objet_Notation.publicID
Propriété |
---|
Description |
Set Objet_NamedNodeMap = Objet_Notation.attributes |
contient la liste des attributs pour ce noeud en lecture seule. |
Chaîne = Objet_Notation.baseName |
retourne le nom de base pour le nom qualifié avec l'espace de noms en lecture seule. |
Set Objet_NodeList = Objet_Notation.childNodes |
contient une liste de noeuds contenant les enfants en lecture seule. |
Valeur = Objet_Notation.dataType |
indique le type de données pour ce noeud en lecture et écriture. |
Set Objet_Node = Objet_Notation.definition |
retourne la définition d'un noeud dans le DTD ou le schéma en lecture seule. |
Set Objet_Node = Objet_Notation.firstChild |
contient le premier enfant de ce noeud en lecture seule. |
Set Objet_Node = Objet_Notation.lastChild |
contient le dernier noeud enfant en lecture seule. |
Chaîne = Objet_Notation.namespaceURI |
retourne l'URI (Uniform Resource Identifier) pour l'espace de noms en lecture seule. |
Set Objet_Node = Objet_Notation.nextSibling |
contient le frère suivant de ce noeud dans la liste d'enfants des parents en lecture seule. |
Chaîne = Objet_Notation.nodeName |
contient le nom qualifié de la référence d'entité, en lecture seule. |
Valeur = Objet_Notation.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_Notation.nodeTypedValue |
contient la valeur de ce noeud exprimée dans son type de donnée défini en lecture et écriture. |
Chaîne = Objet_Notation.nodeTypeString |
retourne le type de noeud dans une forme de chaîne de caractères en lecture seule. |
Valeur = Objet_Notation.nodeValue |
contient le texte associé avec le noeud en lecture et écriture. |
Set Objet_Document = Objet_Notation.ownerDocument |
retourne la racine du document qui contient ce noeud en lecture seule. |
Set Objet_Node = Objet_Notation.parentNode |
contient le noeud parent en lecture seule. |
True | False = Objet_Notation.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_Notation.prefix |
retourne le préfixe d'espace de noms en lecture seule. |
Set Objet_Node = Objet_Notation.previousSibling |
contient le frère gauche de ce noeud en lecture seule. |
Chaîne = Objet_Notation.publicId |
contient l'identificateur public associé avec l'entité, en lecture seule. |
True | False = Objet_Notation.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. |
True | False = Objet_Notation.systemId |
contient l'identificateur du système pour la notation, en lecture seule. |
Chaîne = Objet_Notation.text |
contient le contenu textuel du noeud et de sa sous-arborescence en lecture et écriture. |
Valeur = Objet_Notation.xml |
contient la représentation XML du noeud et de tous ses descendants en lecture seule. |
Méthode |
---|
Description |
Set Objet_Node = Objet_Notation.appendChild(Nouvel_Enfant) |
ajoute un nouvel enfant comme le dernier enfant de ce noeud. |
Set Objet_Node = Objet_Notation.cloneNode(Bool_Profondeur) |
crée un nouveau noeud qui est un double exact de ce noeud. |
True | False = Objet_Notation.hasChildNodes() |
retourne True si le noeud a des enfants. |
Set Objet_Node = Objet_Notation.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_Notation.removeChild(Noeud_Enfant) |
enlève le noeud enfant spécifié de la liste d'enfant et le retourne. |
Set Objet_Node = Objet_Notation.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_Notation.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_Notation.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_Notation.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_Notation.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.4.0") Objet_Document.async = false fichier = Server.MapPath("fichier.xml") Objet_Document.load fichier affichage = Visualise_Noeud(Objet_Document, 0) Function Visualise_Noeud(Objet_Noeud, nb_espaces) Const NODE_NOTATION = 12 Dim resultat, i, nombre, nb_noeuds, Objet_Node resultat = "" For i = 1 To nb_espaces resultat = resultat & " " Next resultat = resultat & "<b style='color: blue; font-weight: bold'>" _ & Objet_Noeud.nodeName _ & "</b>(" & Objet_Noeud.nodeTypeString & ") : " _ & Objet_Noeud.nodeValue If Objet_Noeud.nodeType = NODE_NOTATION Then resultat = resultat & "<b style='color:red'>[ SystemID = '" _ & Objet_Noeud.systemID & "' - PublicID = '" _ & Objet_Noeud.publicID & "' ]</b><br>" Else resultat = resultat & "<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, nb_espaces + 2) Next Visualise_Noeud = resultat End Function %> </head> <body> <div><%= affichage %></div> </body> </html> Fichier : fichier.dtd <?xml version="1.0" encoding="iso-8859-1"?> <!ELEMENT vacance (document+)> <!ELEMENT document EMPTY> <!ATTLIST document source ENTITY #REQUIRED> <!NOTATION avi SYSTEM "video/avi"> <!NOTATION mpeg SYSTEM "video/mpeg"> <!NOTATION mov SYSTEM "video/quicktime"> <!NOTATION jpeg SYSTEM "image/jpeg"> <!NOTATION gif SYSTEM "image/gif"> <!ENTITY vacanceavi SYSTEM "video.avi" NDATA avi> <!ENTITY vacancempg SYSTEM "video.mpg" NDATA mpeg> <!ENTITY vacancegif SYSTEM "photo.gif" NDATA gif> <!ENTITY vacancejpeg SYSTEM "image.jpg" NDATA jpeg> <!ENTITY vacancemov SYSTEM "video.mov" NDATA mov> Fichier : fichier.xml <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE videotheque SYSTEM "fichier.dtd"> <vacance> <document source="&vacanceavi;"/> <document source="&vacancegif;"/> <document source="&vacancejpeg;"/> <document source="&vacancemov;"/> <document source="&vacancempg;"/> </vacance> |