XML文档
每一个XML文档都有一个逻辑和一个物理结构。
物理上而言,文档由称为实体(entities)的存储单元组成,实体都具有内容并且都通过实体的名字进行标识(文档实体和外部DTD子集除外)。实体可以是一段文本、一个文件、一个数据库记录或其他包含数据的项目。一个实体可以引用其他的实体,从而将它们包含在文档中。文档开始于“根(root)”或文档实体(document entity)。
格式良好的XML文档形成了一种层次树结构,而这个树的树根就是文档实体,与其它实体不同,文档实体没有名字,只是用于表示文档树的根。XML文档的根元素被称为文档元素(document element),它和在其外部出现的处理指令、注释等作为文档实体的子节点,而根元素本身和其内部的子元素也是一棵树。
实体可以包含已分析(parsed)的或未分析的(unparsed)数据。已分析的数据由字符组成,其中一些字符组成字符数据,另一些字符组成标记。已分析的实体(parsed entity)内容被称为它的替换文本,这个文本被看成是文档整体的一部分。在XML处理器分析XML文档时,凡是文档中出现引用已分析实体的地方,都将被该实体的内容所替换。
未分析的实体(unparsed entity)是一种资源,它的内容可以是也可以不是文本,并且,如果是文本的话,可以不是XML文本。每一个未分析的实体有一个相关联的用名字标识的记号(notation)。除了要求XML处理器能向应用程序提供可用的实体和记号的标识符之外,XML对未分析的实体内容不作任何限制。
已分析的实体以实体引用的方式通过名字来调用;未分析的实体通过ENTITY或ENTITIES属性中给出的名字来调用。
逻辑上而言,文档由声明,元素,注释,字符引用和处理指令组成,在文档中,所有这些都是通过显式的标记(markup)来指明的。
XML标记(markup)包含开始标签(tag)、结束标签、空元素标签、实体引用、字符引用、注释、CDATA段定界符、文档类型声明、处理指令、XML声明、文本声明以及任何在文档实体顶层的空白(即,在文档元素之外,且不在任何其它的标记内部)。其它所有非标记的文本组成文档的字符数据。
XML文档在逻辑上主要由以下五个部分组成
l XML声明
l 文档类型声明
l 元素
l 注释
l 处理指令