Cette annexe présente les DTD (définitions de type de document) du protocole CRNP (Cluster Reconfiguration Notification Protocol).
la structure de données NVPAIR utilisée par les DTD SC_CALLBACK_REG et SC_EVENT n'est définie qu'une seule fois.
<!— Spécification du format XML de SC_CALLBACK_REG Copyright 2001-2003 Sun Microsystems, Inc. Tous droits réservés. Utilisation sous licence. Utilisation : Ce format XML permet à un client du protocole CRNP de se connecter initialement à un service, de se connecter ultérieurement à d'autres événements et de se déconnecter de plusieurs événements ou du service tout entier. Un client n'est identifié que par son port et son IP de rappel. Le port est défini dans l'élément SC_CALLBACK_REG et l'IP correspond à l'IP source de l'ouverture de session. L'attribut final de l'élément racine SC_CALLBACK_REG est ADD_CLIENT, ADD_EVENTS, REMOVE_CLIENT ou REMOVE_EVENTS, suivant la forme du message que le client utilise. SC_CALLBACK_REG contient aucun ou plusieurs sous-éléments SC_EVENT_REG. Un sous-élément SC_EVENT_REG spécifie un type d'événements. Un client peut ne spécifier que le type CLASS (un attribut de l'élément SC_EVENT_REG) ou indiquer une sous classe SUBCLASS (un attribut en option) pour bénéficier d'une précision accrue. Par ailleurs, SC_EVENT_REG comprend aucun ou plusieurs sous-éléments NVPAIR servant à spécifier encore davantage l'événement. Par conséquent, le client peut spécifier jusqu'à quel niveau de précision il souhaite être notifié des événements. Veuillez noter qu'un client ne peut, dans le même message, spécifier vouloir et ne pas vouloir être notifié des événements. Par contre, un client peut se connecter au service et à des événements dans le même message. Note de version : l'attribut VERSION de chaque élément racine est défini comme étant fixe, c'est-à-dire que la version doit être spécifiée pour tous les messages qui se conforment à ces DTD. Lorsqu'une nouvelle version du protocole est créée, l'attribut VERSION fixe des DTD modifiées possède une nouvelle valeur, de sorte que tous les messages se conformant à la nouvelle version doivent posséder le nouveau numéro de version. —> <!— Définition de SC_CALLBACK_REG L'élément racine du document XML est un message d'enregistrement qui comprend les ports de rappel et la version du protocole comme attribut ainsi qu'un attribut ADD_CLIENT, ADD_EVENTS, REMOVE_CLIENT ou REMOVE_EVENTS, indiquant le type d'enregistrement. Les types ADD_CLIENT, ADD_EVENTS et REMOVE_EVENTS doivent inclure un ou plusieurs sous-éléments SC_EVENT_REG. REMOVE_CLIENT ne doit pas être défini comme un sous-élément de SC_EVENT_REG. ATTRIBUTS : VERSION Version du protocole CRNP du message. PORT Port de rappel. REG_TYPE Type d'enregistrement : ADD_CLIENT, ADD_EVENTS, REMOVE_CLIENT, REMOVE_EVENTS CONTENUS : SOUS-ÉLÉMENTS : SC_EVENT_REG (0 ou plusieurs) —> <!ELEMENT SC_CALLBACK_REG (SC_EVENT_REG*)> <!ATTLIST SC_CALLBACK_REG VERSION NMTOKEN #FIXED PORT NMTOKEN #REQUIRED REG_TYPE (ADD_CLIENT|ADD_EVENTS|REMOVE_CLIENT|REMOVE_EVENTS) #REQUIRED > <!— Définition de SC_EVENT_REG SC_EVENT_REG définit un événement pour lequel le client a notifié son désir ou son refus de recevoir des notifications d'événement. L'enregistrement peut concerner n'importe quel niveau de précision (d'une seule classe d'événements à des paires nom/valeurs spécifiques dont la présence est indispensable). Par conséquent, le seul attribut requis est CLASS. L'attribut SUBCLASS et les sous-éléments NVPAIRS sont optionnels et permettent d'obtenir une plus grande précision. Les enregistrements spécifiant les paires nom/valeurs pour lesquelles le client souhaite recevoir une notification indiquent l'acceptation des notifications de message de la classe/sous-classe spécifiée comportant TOUTES les paires nom/valeurs présentes. Les enregistrements spécifiant les paires nom/valeurs pour lesquelles le client ne souhaite pas recevoir de notification indiquent le rejet des notifications qui comportent EXACTEMENT les paires nom/valeurs de la précision spécifiée précédemment. Les enregistrements ne spécifiant pas les paires nom/valeurs pour lesquelles le client ne souhaite pas recevoir de notification indiquent le rejet de TOUTES les notifications de la classe/sous-classe spécifiée. ATTRIBUTS : CLASS: Classe d'événements pour laquelle l'élément est enregistré ou non. SUBCLASS: Sous-classe d'un événement (facultatif). CONTENU : SUBELEMENTS: 0 ou plusieurs NVPAIR. —> <!ELEMENT SC_EVENT_REG (NVPAIR*)> <!ATTLIST SC_EVENT_REG CLASS CDATA #REQUIRED SUBCLASS CDATA #IMPLIED >
<!— Spécification du format XML de NVPAIR Copyright 2001-2003 Sun Microsystems, Inc. Tous droits réservés. Utilisation sous licence. Utilisation : Un élément nvpair est utilisé dans un élément SC_EVENT ou SC_CALLBACK_REG. —> <!— Définition de NVPAIR NVPAIR est une paire nom/valeurs servant à représenter des combinaisons arbitraires de nom/valeurs. Un élément nvpair représente la traduction directe et générique de la structure nvpair_t de Solaris utilisée par la structure sysevent. Aucun type de données n'est associé au nom et à la valeur (qui ne sont que du texte arbitraire) dans cet élément xml. NVPAIR comprend uniquement un élément NAME et un ou plusieurs éléments VALUE. Un élément VALUE représente une valeur scalaire, tandis que plusieurs éléments VALUE représentent un ensemble de valeurs. ATTRIBUTS : CONTENU : SUBELEMENTS: NAME(1), VALUE(1 ou plusieurs) —> <!ELEMENT NVPAIR (NAME,VALUE+)> <!— Définition de NAME NAME représente simplement une chaîne dont la longueur est arbitraire. ATTRIBUTS : CONTENU : Données texte arbitraires à introduire entre <![CDATA[...]]> pour être ignorées par l'analyse XML. —> <!ELEMENT NAME (#PCDATA)> <!— Définition de VALUE VALUE représente simplement une chaîne dont la longueur est arbitraire. ATTRIBUTS : CONTENU : Données texte arbitraires à introduire entre <![CDATA[...]]> pour être ignorées par l'analyse XML. —> <!ELEMENT VALUE (#PCDATA)>
<!— Spécification du format XML de SC_REPLY Copyright 2001-2003 Sun Microsystems, Inc. Tous droits réservés. Utilisation sous licence. —> <!— Définition de SC_REPLY L'élément racine du document XML représente une réponse à un message. Cette réponse contient un code et un message d'état. ATTRIBUTS : VERSION: Version du protocole CRNP du message. STATUS_CODE: Code de retour du message. Il peut s'agir de l'un des codes suivants : OK, RETRY, LOW_RESOURCES, SYSTEM_ERROR, FAIL, MALFORMED, INVALID_XML, VERSION_TOO_HIGH ou VERSION_TOO_LOW. CONTENU : SUBELEMENTS: SC_STATUS_MSG(1) —> <!ELEMENT SC_REPLY (SC_STATUS_MSG)> <!ATTLIST SC_REPLY VERSION NMTOKEN #FIXED "1.0" STATUS_CODE OK|RETRY|LOW_RESOURCE|SYSTEM_ERROR|FAIL|MALFORMED|INVALID,\ VERSION_TOO_HIGH, VERSION_TOO_LOW) #REQUIRED > <!— Définition de SC_STATUS_MSG SC_STATUS_MSG est simplement une chaîne de texte arbitraire expliquant le code d'état. À introduire entre <![CDATA[...]]> pour être ignoré par l'analyse XML. ATTRIBUTS : CONTENU : Chaîne arbitraire. —> <!ELEMENT SC_STATUS_MSG (#PCDATA)>
la structure de données NVPAIR utilisée par les DTD SC_CALLBACK_REG et SC_EVENT n'est définie qu'une seule fois.
<!— Spécification du format XML de SC_EVENT Copyright 2001-2003 Sun Microsystems, Inc. Tous droits réservés. Utilisation sous licence. L'élément racine du document XML représente la traduction directe et générique du format de message syseventd de Solaris. Il a des attributs représentant la classe, la sous-classe, le fournisseur et l'éditeur et contient un nombre illimité d'éléments NVPAIR. ATTRIBUTS : VERSION: Version du protocole CRNP du message. CLASS: Classe sysevent de l'événement SUBCLASS: Sous-classe de l'événement VENDOR: Fournisseur associé à l'événement PUBLISHER: Éditeur de l'événement CONTENU : SUBELEMENTS: NVPAIR (0 ou plusieurs) —> <!ELEMENT SC_EVENT (NVPAIR*)> <!ATTLIST SC_EVENT VERSION NMTOKEN #FIXED "1.0" CLASS CDATA #REQUIRED SUBCLASS CDATA #REQUIRED VENDOR CDATA #REQUIRED PUBLISHER CDATA #REQUIRED >