SUR CETTE PAGE
Présentation XML
Extensible Markup Language (XML) est un langage permettant de définir un ensemble de marqueurs, appelés balises, qui sont appliqués à un ensemble de données ou à un document pour décrire la fonction de chaque élément et codifier les relations hiérarchiques entre eux. Les balises XML ressemblent beaucoup à des balises HTML (Hypertexte Markup Language), mais XML est en fait un metalanguage utilisé pour définir les balises qui correspondent le mieux au type de données à marquer.
Pour plus d’informations sur XML, consultez une introduction technique au XML sur http://www.xml.com/pub/a/98/10/guide0.html et le matériel de référence supplémentaire sur le site http://www.xml.com . La spécification XML officielle du World Wide Web Consortium (W3C), Extensible Markup Language (XML) 1.0, est disponible à l’adresse http://www.w3.org/TR/REC-xml.
Les sections suivantes abordent les aspects généraux de XML :
Éléments de balise
XML comporte trois types de balises : l’ouverture, la fermeture des balises et les balises vides. Les noms des balises XML sont placés entre crochets d’angle et sont sensibles à la casse. Les éléments d’un document ou d’un ensemble de données conformes AU XML sont toujours entourés de balises d’ouverture et de fermeture associées, et les balises doivent être correctement imbriquées. C’est-à-dire que vous devez fermer les balises dans l’ordre dans lequel vous les avez ouvertes. À cet égard, le XML est plus strict que LE HTML, qui utilise parfois uniquement des balises d’ouverture. Les exemples suivants montrent des balises d’ouverture et de fermeture associées contenant une valeur. Les balises de fermeture sont indiquées par la barre de barre avant au début du nom de la balise.
<interface-state>enabled</interface-state> <input-bytes>25378</input-bytes>
Le terme élément de balise fait référence à un ensemble en trois parties : l’ouverture de balise, le contenu et la balise de fermeture. Le contenu peut être une chaîne de caractères alphanumérique comme dans les exemples précédents, ou être lui-même un élément de balise conteneur, qui contient d’autres éléments de balise. Par souci de simplicité, le terme tag est souvent utilisé indifféremment avec un élément ou un élément de balise.
Si un élément de balise est vide et qu’il n’a pas de contenu, il peut être représenté soit comme des balises d’ouverture et de fermeture associées sans rien entre elles, soit sous la forme d’une seule balise avec une barre de renvoi après le nom de la balise. Par exemple, la notation <snmp-trap-flag/>
est équivalente à <snmp-trap-flag></snmp-trap-flag>
.
Comme le montrent les exemples précédents, les crochets d’angle renferment le nom de l’élément de balise. Il s’agit d’une convention XML, et les crochets sont une partie requise du nom de l’élément de balise complet. Ils ne doivent pas être confondus avec les supports d’angle utilisés dans la documentation Juniper Networks pour indiquer des parties optionnelles des chaînes de commande cli de Junos OS.
Les éléments de balise XML Junos obéissent à la convention XML selon lequel le nom de l’élément de balise indique le type d’informations jointes par les balises. Par exemple, le nom de l’élément de balise XML <interface-state>
Junos indique qu’il contient une description de l’état actuel d’une interface sur l’équipement, tandis que le nom de l’élément<input-bytes>
de balise indique que son contenu spécifie le nombre d’octets reçus.
Lorsque vous discutez des éléments de balise dans le texte, cette documentation utilise traditionnellement uniquement la balise d’ouverture pour représenter l’élément de balise complet (balise d’ouverture, contenu et balise de fermeture). Par exemple, la documentation fait référence à la <input-bytes>
balise pour indiquer l’ensemble <input-bytes>number-of-bytes</input-bytes>
de l’élément de balise.
Attributs
Les éléments XML peuvent contenir des propriétés associées sous forme d’attributs, qui spécifient des informations supplémentaires sur un élément. Les attributs apparaissent dans la balise d’ouverture d’un élément et se composent d’une paire de nom d’attribut et de valeur. La syntaxe d’attribut se compose du nom de l’attribut suivi d’un signe égal, puis de la valeur de l’attribut jointe entre guillemets. Un élément XML peut avoir plusieurs attributs. Plusieurs attributs sont séparés par des espaces et peuvent apparaître dans n’importe quel ordre.
Dans l’exemple suivant, l’élément configuration
possède deux attributs, junos:changed-seconds
et junos:changed-localtime
.
<configuration junos:changed-seconds="1279908006" junos:changed-localtime="2010-07-23 11:00:06 PDT">
La valeur de l’attribut junos:changed-seconds
est « 1279908006 », et la valeur de l’attribut junos:changed-localtime
est « 2010-07-23 11:00:06 PDT ».
Namespaces
Les espaces de noms permettent à un document XML de contenir les mêmes balises, attributs ou noms de fonction à différentes fins et d’éviter les conflits de noms. Par exemple, de nombreux espaces de noms peuvent définir une print
fonction, et chacun peut présenter une fonctionnalité différente. Pour utiliser la fonctionnalité définie dans un espace de noms spécifique, vous devez associer cette fonction à l’espace de noms qui définit la fonctionnalité souhaitée.
Pour faire référence à une balise, un attribut ou une fonction à partir d’un espace de noms défini, vous devez d’abord fournir l’URI (Uniform Resource Identifier ) de l’espace de noms dans votre déclaration de feuille de style . Vous pouvez ensuite qualifier une balise, un attribut ou une fonction de l’espace de noms avec l’URI. Étant donné qu’un URI est souvent long, un préfixe plus court est généralement mappé à l’URI.
Dans l’exemple suivant, le jcs
préfixe est mappé à l’espace de noms identifié par l’URI http://xml.juniper.net/junos/commit-scripts/1.0, qui définit les fonctions d’extension utilisées dans les scripts de validation, op, événement et SNMP. Le jcs
préfixe est ensuite prépendé à la output
fonction, qui est définie dans cet espace de noms.
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:jcs="http://xml.juniper.net/junos/commit-scripts/1.0"> ... <xsl:value-of select="jcs:output('The VPN is up.')"/> </xsl: stylesheet>
Pendant le traitement, le préfixe est étendu à la référence URI. Bien qu’il puisse y avoir plusieurs espaces de noms qui définissent un élément ou une output
fonction, l’utilisation de jcs:output
cette fonction définit explicitement quelle output
fonction est utilisée. Vous pouvez choisir n’importe quel préfixe pour faire référence au contenu d’un espace de noms, mais il doit y avoir une déclaration existante dans le document XML qui lie le préfixe à l’URI associé.
Définition du type de document
Un document ou un ensemble de données marqués par XML est structuré, car un ensemble de règles spécifie l’ordre et les relations entre les éléments qu’il contient. Les règles définissent les contextes dans lesquels chaque élément balisé peut , et dans certains cas doit se produire. Un fichier appelé définition de type de document ou DTD répertorie chaque élément de balise pouvant apparaître dans le document ou l’ensemble de données, définit les relations parent-enfant entre les balises et spécifie d’autres caractéristiques de balise. Le même DTD peut s’appliquer à de nombreux documents ou ensembles de données XML.