什么是XML?(1)

 

什么是XML?

  • XMLEXtensible Markup Language的缩写

  • XML是一种类似于HTML的标记语言

  • XML是用来描述数据的

  • XML的标记不是在XML中预定义的,你必须定义自己的标记

  • XML使用文档类型定义(DTD)或者模式(Schema)来描述数据

  • XML使用DTD或者Schema后就是自描述的语言

使用XML, CR / LF 被转换为 LF

使用 XML, 新行总是被标识为 LFLine Feed,换行)。

你知道打字机是什么么?呵呵,打字机是在上个世纪里使用的一种专门打字的机器。^&^

当你用打字机敲完一行字后,你通常不得不再把打字头移动到纸的左端。

Windows应用程序中,文本中的新行通常标识为 CR LF (carriage return, line feed,回车,换行)。在Unix应用程序中,新行通常标识为 LF。还有一些应用程序只使用CR来表示一个新行。

<!-- 这是一个注释 -->

使用XML,空白将被保留

属性值必须使用引号""

XML文档中的第一个元素就是根元素。

XML标记都是大小写敏感的

 

XML元素命名

XML元素命名必须遵守下面的规则:

  • 元素的名字可以包含子母,数字和其他字符。

  • 元素的名字不能以数字或者标点符号开头。

  • 元素的名字不能以XML(或者xmlXml,xMl...)开头。

  • 元素的名字不能包含空格。

避免使用属性?

应该避免使用属性么?

这里有一些使用属性引发的问题:

  • 属性不能包含多个值(子元素可以)。

  • 属性不容易扩展。

  • 属性不能够描述结构(子元素可以)。

  • 属性很难被程序代码处理。

  • 属性值很难通过DTD进行测试。

如果使用属性来存储数据,那么所编写的XML文档一定很难阅读和操作。尽量使用元素来描述数据,仅使用属性来描述那些与数据关系不大的额外信息。

统一资源标识符

通用资源标识符(A Uniform Resource Identifier (URI))是一个标识网络资源的字符串。最普通的URI应该是统一资源定位符Uniform Resource Locator (URL)URL用于标识网络主机的地址。另一方面,另一个不常用的URI是通用资源名字Universal Resource Name (URN)。在我们的例子中,一般使用的是URLs

下面是五个在XML文档中预定义好的实体参考:

&lt;

<

 

小于号

&gt;

>

 

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号


实体必须以符号"&"开头,以符号";"结尾

注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。

CDATA部件

CDATA内部的所有内容都会被解析器忽略。

如果文本包含了很多的"<"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。

一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束:

在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。

CDATA注意事项:

CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。

同样要注意在字符串"]]>"之间没有空格或者换行符。

下面的编码类型不会导致错误,(用IE 5.0+浏览器观看), 并且汉字显示正常:

<?xml version="1.0" encoding="gb2312"?>

下面的编码类型不会导致错误,(用IE 5.0+浏览器观看), 并且汉字显示正常:

<?xml version="1.0" encoding="gbk"?>

 

FS_UNKNOWN

 

PI

PI允许XML文件包含应用程序的指令,例如:在XML文件的开头生命就是一个PT,这些信息告诉XML解析器如何处理XML文件,如下:

<?xml version=”1.0” encoding=”GB2312”?>

 

使用CSS来显示XML

使用CSS样式单 (Cascading Style Sheets) ,可以给XML文档添加额外的现实信息。


cd_catalog.txt

 

数据绑定

XML数据岛可以绑定到HTML元素上(比如表格)。

在下面的例子中,一个XML数据岛(ID=cdcat)被从外部XML文档载入。一个HTML的表格绑定到此数据岛上。HTML表格内部的span元素使用datafld属性和XML文档相应的XML元素相互绑定。

<html>

<body>

<xml id="cdcat" src="cd_catalog.xml"></xml>

<table border="1" datasrc="#cdcat">

<tr>

<td><span datafld="ARTIST"></span></td>

<td><span datafld="TITLE"></span></td>

</tr>

</table>

</body>

</html>

 

命名空间属性

命名空间属性一般放置在元素的开始标记处,其使用语法如下所示:

xmlns:namespace-prefix="namespace"

在上面的例子中,命名空间定义了一个Internet 地址:

xmlns:f="http://www.w3schools.com/furniture"

W3C命名规范声明命名空间本身就是一个统一资源标示符,Uniform Resource Identifier (URI)

当我们在元素的开始标记处使用命名空间时,该元素所有的子元素都将通过一个前缀与同一个命名空间相互关联。

注意:用来标识命名空间的网络地址并不被XML解析器调用,XML解析器不需要从这个网络地址中查找信息,该网络地址的作用仅仅是给命名空间一个唯一的名字,因此这个网络地址也可以是虚拟的,然而又很多公司经常把这个网络地址值象一个真实的Web页面,这个地址包含了关于当前命名空间更详细的信息。

统一资源标识符

通用资源标识符(A Uniform Resource Identifier (URI))是一个标识网络资源的字符串。最普通的URI应该是统一资源定位符Uniform Resource Locator (URL)URL用于标识网络主机的地址。另一方面,另一个不常用的URI是通用资源名字Universal Resource Name (URN)。在我们的例子中,一般使用的是URLs

既然前面的例子使用的URL地址来标识命名空间,我们可以确信这个命名空间是唯一的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章