Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

XML 概述

可扩展标记语言 (XML) 是一种用于定义一组标记(称为标记)的语言,这些 标记应用于数据集或文档,用于描述各个元素的功能并编码它们之间的分层关系。XML 标记看起来很像超文本标记语言 (HTML) 标记,但 XML 实际上是一个金属组织,用于定义最适合所标记数据的标记类型。

有关 XML 的详细信息,请参阅 http://www.xml.com/pub/a/98/10/guide0.html XML 技术简介http://www.xml.com 站点上的附加参考材料。万维网联盟 (W3C) 的官方 XML 规范(可扩展标记语言 (XML) 1.0 http://www.w3.org/TR/REC-xml。

以下部分讨论 XML 的常规方面:

标记元素

XML 有三种类型的标记:打开标记、结束标记和空标记。XML 标记名称括在尖括号中,区分大小写。兼容 XML 的文档或数据集中的项目始终包含在配对的开始和结束标记中,并且标记必须正确嵌套。也就是说,您必须按照打开标记的顺序关闭标记。在这方面,XML 比 HTML 更严格,HTML 有时仅使用开放标记。以下示例显示了用一个值括起来的配对的开始标记和结束标记。结束标记由标记名称开始时的正斜杠表示。

标记 元素 一词是指三部分集:打开标记、内容和结束标记。内容可以是上述示例中的字母数字字符串,也可以本身是 容器 标记元素,其中包含其他标记元素。为简单起见, 标记 一词通常与 标记元素元素互换使用。

如果标记元素为 (没有内容),则可以表示为无内容配对的开始和结束标记,也可以表示为标记名称后带有正斜杠的单个标记。例如,符号 <snmp-trap-flag/> 等同于 <snmp-trap-flag></snmp-trap-flag>

如前面的示例所示,括号将标记元素的名称括起来。这是一个 XML 约定,括号是完整标记元素名称的必需部分。它们不应与用于表示 Junos OS CLI 命令字符串可选部分的瞻博网络文档中使用的尖括号混淆。

Junos XML 标记元素遵循 XML 约定,即标记元素名称表示标记附带的信息类型。例如,Junos XML <interface-state> 标记元素的名称表示它包含设备上接口的当前状态的描述,而标记元素的名称<input-bytes> 则表示其内容指定接收的字节数。

在讨论文本中的标记元素时,本文档通常仅使用打开标记来表示完整的标记元素(打开标记、内容和结束标记)。例如,文档指的是用于 <input-bytes> 指示整个 <input-bytes>number-of-bytes</input-bytes> 标记元素的标记。

属性

XML 元素可以属性的形式包含关联 属性,用于指定有关元素的附加信息。属性显示在元素的开始标记中,由属性名称和值对组成。属性语法由属性名称后跟等号组成,然后是用引号括起来的属性值。一个 XML 元素可以有多个属性。多个属性由空格分隔,可以按任意顺序出现。

在以下示例中,该 configuration 元素有两个属性, junos:changed-secondsjunos:changed-localtime

属性的 junos:changed-seconds 值为“1279908006”,而属性的值 junos:changed-localtime 为“2010-07-23 11:00:06 PDT”。

命名 空间

命名空间 允许 XML 文档包含相同的标记、属性或函数名称,以用于不同目的,并避免名称冲突。例如,许多命名空间可以定义一个 print 功能,并且每个名称空间都可能表现出不同的功能。要使用在一个特定命名空间中定义的功能,必须将该函数与定义所需功能的命名空间相关联。

要引用已定义的命名空间中的标记、属性或函数,必须先在样式表声明中提供命名空间 统一资源标识符 (URI)。然后,您可以使用 URI 来验证命名空间中的标记、属性或函数。由于 URI 通常冗长,因此通常会将较短的前缀映射到 URI。

在以下示例中,前缀 jcs 映射到由 URI http://xml.juniper.net/junos/commit-scripts/1.0标识的命名空间,URI 定义在提交、操作、事件和 SNMP 脚本中使用的扩展功能。然后,将 jcs 前缀前置到 output 该命名空间中定义的函数中。

在处理期间,前缀会扩展到 URI 参考中。虽然定义元素或函数的命名空间可能有多个, output 但使用“ jcs:output 定义”显式定义使用哪个 output 函数。您可以选择任何前缀来引用命名空间中的内容,但 XML 文档中必须有一个现有声明,用于将前缀绑定到关联的 URI。

文档类型定义

XML 标记的文档或数据集是 结构化的,因为一组规则指定其中项目的排序和相互关系。规则定义了每个标记项都可以(在某些情况下必须)发生的上下文。称为 文档类型定义DTD)的文件会列出文档或数据集中可能出现的每个标记元素,定义标记之间的父子关系,并指定其他标记特征。同一 DTD 可以应用于许多 XML 文档或数据集。