XML指南 | AI生成和翻译

Home 2025.03

好的,让我们深入了解关于 XML(可扩展标记语言)的全面指南,涵盖其规范、<sequence> 元素的工作原理以及 minOccursmaxOccurs 的含义。

XML 完整指南

什么是 XML?

XML 是一种用于承载数据的标记语言。它既是人类可读的,也是机器可读的。其主要目的是对数据进行结构化、存储和传输。与旨在显示数据的 HTML 不同,XML 侧重于描述数据本身。

XML 的主要特性:

核心 XML 概念:

XML 规范:

万维网联盟 (W3C) 维护 XML 及相关技术的规范。一些关键的 XML 规范包括:

XML 模式 (XSD) 与结构定义:

XML 模式对于定义 XML 文档的有效结构和内容至关重要。它允许您指定:

XML 模式中的 <sequence>

<sequence> 元素是 XML 模式中复杂类型定义内使用的组合器。它表示其中的子元素必须按照指定的顺序出现

语法:

<xs:complexType name="TypeName">
  <xs:sequence>
    <xs:element name="element1" type="xs:string" minOccurs="1" maxOccurs="1"/>
    <xs:element name="element2" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="element3" type="xs:date" minOccurs="1" maxOccurs="1"/>
  </xs:sequence>
</xs:complexType>

在此示例中,任何符合 TypeName 复杂类型的 XML 元素必须具有:

  1. 一个 <element1> 元素(字符串类型),恰好出现一次。
  2. 零个或多个 <element2> 元素(整数类型),在 <element1> 之后按顺序出现。
  3. 一个 <element3> 元素(日期类型),在所有 <element2> 元素之后恰好出现一次。

minOccursmaxOccurs 属性:

minOccursmaxOccurs 属性用于 XML 模式中的元素声明内(通常在 <sequence><choice><all> 组合器内),以指定元素可以出现的最小和最大次数。

Sequence 如何与 minOccursmaxOccurs 协同工作:

当元素位于 <sequence> 内时,每个单独元素上的 minOccursmaxOccurs 属性定义了在序列中该特定位置该特定元素允许的出现次数。XML 实例文档中必须保持 <sequence> 中定义的元素的顺序。

示例:

考虑以下 XML 模式片段:

<xs:complexType name="OrderType">
  <xs:sequence>
    <xs:element name="orderId" type="xs:ID" minOccurs="1" maxOccurs="1"/>
    <xs:element name="customer" type="xs:string" minOccurs="1" maxOccurs="1"/>
    <xs:element name="item" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="orderDate" type="xs:date" minOccurs="1" maxOccurs="1"/>
  </xs:sequence>
</xs:complexType>

符合此模式的 XML 文档将具有以下结构:

  1. 恰好一个 <orderId> 元素。
  2. 恰好一个 <customer> 元素,紧接在 <orderId> 之后出现。
  3. 零个或多个 <item> 元素,在 <customer> 之后按顺序出现。
  4. 恰好一个 <orderDate> 元素,在所有 <item> 元素之后出现。

有效的 XML 实例:

<order>
  <orderId>ORD123</orderId>
  <customer>John Doe</customer>
  <item>Product A</item>
  <item>Product B</item>
  <orderDate>2025-03-29</orderDate>
</order>

另一个有效的 XML 实例:

<order>
  <orderId>ORD456</orderId>
  <customer>Jane Smith</customer>
  <orderDate>2025-03-28</orderDate>
</order>

无效的 XML 实例(顺序错误):

<order>
  <customer>John Doe</customer>
  <orderId>ORD123</orderId>
  <orderDate>2025-03-29</orderDate>
</order>

无效的 XML 实例(缺少 orderId):

<order>
  <customer>John Doe</customer>
  <item>Product A</item>
  <orderDate>2025-03-29</orderDate>
</order>

总结:

本指南为理解 XML 及其核心概念提供了坚实的基础,特别是使用 XML 模式定义 XML 文档结构时 <sequence>minOccursmaxOccurs 的作用。请记住,查阅官方的 W3C 规范以获取最详细和最新的信息。


Back Donate