定义XML文档
一份完整的XML文档包括三个部分:
数据部分:xml的核心内容。数据部分通常是与数据库紧密联系的。
标记部分:xml的处理程序不能直接识别XML文档的数据,所以我们需要为这些数据提供标记说明。将信息通过标记和数据传给处理程序,使数据得以正确运用。对于数据本身标记没有任何作用,只是体现数据的特征和数据间的关系。说明标记的常用方法是DTD(文档类型定义),还有另一种,Schema,后者将取代前者。
数据表现:样式单规定了数据的表现形式。样式单目前有两种(CSS层叠样式单和XSL可扩展样式单)
XML数据可以基于HTTP协议传输,在Server和Browser之间传递。Server可以将XML文档根据样式单进行处理得到可浏览的HTML后,将HTML文档传给Browser,这会加重服务器负担;还有一种是将XML和样式单一起传给Browser,在终端生成可浏览的HTML文档,这样数据传输流量也会较小。第三种就是数据岛了。
+++++++++++++++++++
如何定义XML文档的数据类型,使用两种方法,使用DTD或是Schema,还有XSD。
XML文档的表现形式---样式单(CSS/XSL),介绍XSL时,着重介绍如何使用XSLT转换XML文档成为其他类型的文档,比如HTML文档,或者转换为另一个XML文档。
还会介绍在XSLT和DOM中非常重要的XPath,XML路径匹配。
XML文档有两层要求,格式良好(well-formated),有效(valid)。只有当一篇XML文档是格式良好的时候,才能正确地分析和处理它。一篇格式良好的文档同样易于人类阅读和修改。
格式良好:
1. 确定且唯一的根元素,其他元素是根元素的子元素或派生元素。
2. 区分大小写<Student> 不等于<student>!
3. 正确的元素标记嵌套。
4. 属性值要用引号引起。
5. 同一个元素的属性不能重复。一个人可以有很多亲属,每一个亲属都要用元素来表示,作为人的子元素,而不是为元素“人”赋相同的属性“亲属”。
++++++++++++++++++++
XML文档的基本组成:
XML的声明。
处理指令PI(Process Instructor)
XML元素
++++++++++++
声明必须放在第一行,声明也是处理指令的一种。声明由<?开始,至?>结束。还有其他的处理指令为处理XML的应用程序提供处理xml文档的信息。如

指明与本文档配套的样式单的类型(XSL)和文件名(mystyle.xsl)
标记中的任何字符都是数据内容,包括换行符。如:
<作者>smith</作者>不等于
<作者>
smith
</作者>
后者多两个换行符。
CDATA标记中的内容,XML处理器会看成字符,象注释一样,忽略CDATA标记内容中的标记,实体引用。但内容不得含有]]>,以防和CDATA的结束标记混淆。忽略内容中的标记,这一点有时很有用。

避免写成<第一章>
实体是XML文档中的一种别名,我们可以给一段文本内容定义一个别名,然后在需要这段文本内容时使用别名来代替。
为这段内容增加别名的过程就是声明实体的过程。然后在指定的位置使用别名来代替内容,就是使用实体引用。可以看成是替换,可以是文本替换,也可以是图像,声音这样的外部数据替换。
使用实体可以简化我们的数据输入工作,还可以在XML文档中使用XML解析器不能解析的声音、图像等数据。
实体的使用包括声明和使用两个部分:
1. 实体声明一般在DTD中,可以是外部DTD也可以是内部DTD