Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Visão geral do XML

A Linguagem de Marcação Extensível (XML) é uma linguagem para definir um conjunto de marcadores, chamados tags, que são aplicados a um conjunto de dados ou documento para descrever a função de elementos individuais e codificar as relações hierárquicas entre eles. As tags XML se parecem muito com as tags Hypertext Markup Language (HTML), mas a XML é na verdade uma metalanguagem usada para definir tags que melhor se adequam ao tipo de dados que está sendo marcado.

Para obter mais detalhes sobre o XML, consulte uma introdução técnica ao XML em http://www.xml.com/pub/a/98/10/guide0.html e o material de referência adicional no local http://www.xml.com . A especificação oficial do XML do World Wide Web Consortium (W3C), Extensible Markup Language (XML) 1.0, está disponível em http://www.w3.org/TR/REC-xml.

As seções a seguir discutem aspectos gerais do XML:

Elementos de tag

A XML tem três tipos de tags: tags de abertura, tags de fechamento e tags vazias. Os nomes das etiquetas XML são fechados em suportes de ângulo e são sensíveis a casos. Os itens em um documento ou conjunto de dados em conformidade com XML são sempre fechados em tags de abertura e fechamento em pares, e as etiquetas devem ser devidamente aninhadas. Ou seja, você deve fechar as tags na mesma ordem em que as abriu. O XML é mais rigoroso nesse aspecto do que o HTML, que às vezes usa apenas tags de abertura. Os exemplos a seguir mostram tags de abertura e fechamento em pares que incluem um valor. As etiquetas de fechamento são indicadas pela barra de encaminhamento no início do nome da tag.

O termo elemento tag refere-se a um conjunto de três partes: tag de abertura, conteúdo e tag de fechamento. O conteúdo pode ser uma cadeia de caracteres alfanumérico como nos exemplos anteriores, ou pode ser um elemento de tag de contêiner, que contém outros elementos de tag. Para simplicidade, o termo tag é frequentemente usado intercambiável com elemento ou elemento de tag.

Se um elemento de tag estiver vazio — não tiver conteúdo — ele pode ser representado como tags de abertura e fechamento combinadas sem nada entre eles, ou como uma única tag com uma barra para a frente após o nome da tag. Por exemplo, a notação <snmp-trap-flag/> é equivalente a <snmp-trap-flag></snmp-trap-flag>.

Como mostram os exemplos anteriores, os suportes de ângulo incluem o nome do elemento tag. Esta é uma convenção XML, e os suportes são uma parte necessária do nome completo do elemento tag. Eles não devem ser confusos com os suportes de ângulo usados na documentação da Juniper Networks para indicar partes opcionais das cordas de comando Junos OS CLI.

Os elementos de tag Junos XML obedecem à convenção XML de que o nome do elemento tag indica o tipo de informação fechada pelas tags. Por exemplo, o nome do elemento de tag Junos XML <interface-state> indica que ele contém uma descrição do status atual de uma interface no dispositivo, enquanto o nome do elemento de<input-bytes> tag indica que seu conteúdo especifica o número de bytes recebidos.

Ao discutir elementos de tag no texto, essa documentação usa convencionalmente apenas a tag de abertura para representar o elemento tag completo (tag de abertura, conteúdo e tag de fechamento). Por exemplo, a documentação refere-se à <input-bytes> tag para indicar todo <input-bytes>number-of-bytes</input-bytes> o elemento de tag.

Atributos

Os elementos XML podem conter propriedades associadas na forma de atributos, que especificam informações adicionais sobre um elemento. Os atributos aparecem na tag de abertura de um elemento e consistem em um nome de atributo e par de valor. A sintaxe de atributo consiste no nome do atributo seguido de um sinal igual e, em seguida, o valor do atributo incluído nas marcas de cotação. Um elemento XML pode ter vários atributos. Vários atributos são separados por espaços e podem aparecer em qualquer ordem.

No exemplo a seguir, o configuration elemento tem dois atributos e junos:changed-seconds junos:changed-localtime.

O valor do junos:changed-seconds atributo é "1279908006", e o valor do junos:changed-localtime atributo é "2010-07-23 11:00:06 PDT".

Namespaces

Os namespaces permitem que um documento XML contenha os mesmos nomes de tag, atributo ou função para diferentes finalidades e evite conflitos de nomes. Por exemplo, muitos espaços de nome podem definir uma print função, e cada um pode exibir uma funcionalidade diferente. Para usar a funcionalidade definida em um espaço de nome específico, você deve associar essa função ao namespace que define a funcionalidade desejada.

Para se referir a uma tag, atributo ou função de um namespace definido, você deve primeiro fornecer o identificador de recursos uniforme (URI) namespace em sua declaração de folha de estilo. Em seguida, você qualifica uma tag, atributo ou função do namespace com o URI. Uma vez que um URI é muitas vezes longo, geralmente um prefixo mais curto é mapeado para o URI.

No exemplo a seguir, o jcs prefixo é mapeado para o namespace identificado pelo URI http://xml.juniper.net/junos/commit-scripts/1.0, que define funções de extensão usadas em scripts de commit, op, event e SNMP. O jcs prefixo é então pré-preparado para a output função, que é definida nesse namespace.

Durante o processamento, o prefixo é expandido para a referência do URI. Embora possa haver vários espaços de nome que definem um output elemento ou função, o uso de jcs:output define explicitamente qual output função é usada. Você pode escolher qualquer prefixo para se referir ao conteúdo em um namespace, mas deve haver uma declaração existente no documento XML que vincule o prefixo à URI associada.

Definição do tipo de documento

Um documento ou conjunto de dados marcado por XML é estruturado, porque um conjunto de regras especifica os pedidos e inter-relações dos itens nele. As regras definem os contextos em que cada item marcado pode — e, em alguns casos, deve — ocorrer. Um arquivo chamado definição de tipo de documento, ou DTD, lista todos os elementos de tag que podem aparecer no documento ou conjunto de dados, define as relações entre pais e filhos entre as tags e especifica outras características de tag. O mesmo DTD pode ser aplicado a muitos documentos XML ou conjuntos de dados.