有时,通过查看示例,更容易理解如何编写格式良好的XML。 Web Writer时事通讯使用XML形式编写 - 我们称之为AML或关于标记语言(如图)。虽然这是一份工作文档,但它实际上并不是一个格式良好或有效的XML文档。
合式
创建格式良好的XML文档有一些特定的规则:
- XML声明必须首先出现在每个文档中。
- 评论在标签内无效。除了注释的开头和结尾之外,注释可能不包含连续两个连字符。
- 例如,标签必须具有结束标记,或者在单例标记本身内关闭
. - 必须引用标记的所有属性,最好是双引号,除非属性本身包含双引号。
- 每个XML文档都必须包含一个完全包含所有其他元素的元素。
该文档只有两个问题,使其格式不正确:
AML文档需要的第一件事是XML声明语句。
另一个问题是没有一个元素完全包含所有其他元素。要解决这个问题,我们将添加一个外部容器元素: 进行这两个简单的更改(并确保所有元素仅包含CDATA)将把格式不正确的文档转换为格式良好的文档。 根据文档类型定义(DTD)或XML架构验证有效的XML文档。这些是由开发人员或标准组织创建的一组规则,用于定义XML文档的语义。这些告诉计算机如何处理标记。 在About Markup Language的情况下,由于这不是标准的XML语言,如XHTML或SMIL,DTD将由开发人员创建。该DTD很可能与XML文档位于同一服务器上,并在文档顶部引用。 在开始为文档开发DTD或Schema之前,您应该意识到,只需通过格式良好,XML文档就是自我描述的,因此不需要DTD。 例如,使用我们格式良好的AML文档,有以下标记: 如果您熟悉Web Writer时事通讯,您可能会认识到时事通讯的不同部分。这使得使用相同的标准格式创建新的XML文档变得非常容易。我们总是将标题中的全长标题和标记中的第一部分URL放在一起。 如果您需要编写有效的XML文档,要么使用数据,要么对其进行处理,您可以将其包含在带有标记的文档中。在此标记中,您可以在文档中定义基本XML标记以及DTD的位置(通常是Web URI)。例如:
关于DTD声明的一个好处是,您可以声明DTD对于XML文档与“SYSTEM”的系统是本地的。您还可以指向公共DTD,例如使用HTML 4.0文档:
当您同时使用两者时,您告诉文档使用特定的DTD(公共标识符)以及在何处找到它(系统标识符)。 最后,您可以在DOCTYPE标记内直接在文档中包含内部DTD。例如(这不是AML文档的完整DTD):
> 为了创建有效的XML文档,您还可以使用XML Schema文档来定义XML。 XML Schema是一个描述XML文档的XML文档。学习如何编写模式。 仅仅指向DTD或XML Schema是不够的。文档中的XML必须遵循DTD或Schema中的规则。使用验证解析器是检查XML是否遵循DTD规则的简单方法。你可以在网上找到很多这样的解析器。
的DTD
XML Schema
注意