第一部分:
1、简介
XML是一种标记语言,设计用来描述数据(HTML设计用显示数据),没有预定义的标签,它用Document Type Definition (DTD)或XML Schema描述数据,XML(带着DTD或XML Schema )被设计成自描述的。
XML不是无所不能的,它只是用来描述数据的,至于数据如何显示、或传输、或处理,那是别的程序或语言的事。
2、XML有哪些用途
3、XML语法
XML语法既简单又严格,易学易用。
XML文件的开头,要用一个声明行如
<?xml version="1.0" encoding="ISO-8859-1"?>,用以说明版本和编码。
XML的所有元素都必须有一个结束标签,标签大小写敏感,标签嵌套必须准确,每个XML文件必须有一个根元素,属性值必须用双/单引号括起(要成对使用),XML中的空格被保留,新起一行的回车换行统一用换行符一个,XML中的注释跟HTML一样。
4、XML元素
一个XML元素包括开始标签和结束标签以及它们之间的内容,可动态扩展,有父子关系或兄弟关系。一个元素的内容可以为空。
命名一个元素的要求:不能以数字、标点和XML(三个字符的大小组合,顺序不变)开头,不能有空格,由字母、数字或其它符构成的字符串。
不建议含有-或.或:或非英语字符,建议名字长度不要太长且要用描述性。
5、XML元素属性
元素开始标签中可以含有属性,用以补充说明元素,但属性的值可以用来描述数据内容,但尽量不要这么用而尽可能地用子元素来完成这个任务。
用属性存放数据有以下弊端:不能含有多个值,不易扩展、不能描述数据结构、程序难以处理、不能用DTD来进行检查。
这个作者习惯有一个例外,就是ID或名,可以放在属性里。
6、XML检查
一个好的XML文件,合于语法和DTD描述。
DTD定义了XML的合法元素,XML Schema是基于XML的DTD的替代物。
XML的错误,会终止处理程序。
7、IE和NetScape对XML的支持
8、一个用VBScript进行XML检查的脚本。
9、浏览器中显示XML文件,当XML有错误时会提示。
10、用CSS显示XML文件
例子:CSS文件,XML文件, 显示效果.
需要说明的是,XSL将取代CSS成为XML显示的标准,用XHTML而不是XML建立个人主页是不错的选择。
11、用XSL显示XML文件
例子:XSL文件,XML文件, 显示效果.
XSL文件本身也是XML格式文件,其内容指明了如何转换XML数据。其中的foreach, 明显带有程序循环的意味。,也跟使用CSS一样,XML文件中只在第二行加了一行<?xml-stylesheet type="text/xsl" href="simple.xsl" ?>
12、HTML页面内的数据岛
只有IE5以上支持。使用了HTML的一个标签<xml>,格式如下:
<xml id="..">
...XML格式数据...
</XML>
或<xml id=".." src="....xml"></XML>
数据岛可以与表格绑定,具体说来,就是在标签table中增加属性datasrc="内锚点即XML的ID”,然后利用span增加一个datafld属性指定一个字段。table内默认是循环显示XML数据,表头/表尾/表体(循环)用thead,tfoot,tbody来分开。
到这儿看例程.
13、MS的XML解析器
随IE5一同发布。可以通过javascript及客户端或服务器端的Vbscript生成解析器的实例,然后可以对数据进行操作或显示。到这儿看例程.
14、现实生活中的XML
常见的应用有用于新闻交互的XML。(RSS)?
第二部分:
1、命名空间
提供了一种避免元素命名冲突的机制。通过在元素名前增加一个前缀来区分不同的元素,同时在开始标签中增xmlns属性来描述不同的URI指定的命名空间。例如:
<f:table xmlns:f="http://www.w3schools.com/furniture">......</table>
<h:table xmlns:h="http://www.w3.org/TR/html4/">......</table>
xmlns属性的语法是:
xmlns:namespace-prefix="namespace"
需要说明的是,这里的URL(即要求的URI)只是用来区别空间的不同,并不要求从那取得什么数据。
xmlns在现实中的典型应用是xsl,每个xsl中的非HTML标签都要指明xmlns.
2、CDATA
除了CDATA片断外,一个XML文档中所有文本都要经过解析器解析,即使是两个标签中间的数据也不例外,这是因为标签可以嵌套的缘故。
XML预定义了五个特殊字符,如下表所示,当在数据中出现这几字符时,需要用一个串来代替,其中前两个是必须的,后三个是建议的。
<<less than
>>greater than
&&ersand
''apostrophe
""quotation mark
一个CDATA片断,由""结束,所以其中间的内容不能含有"]]>"字符串。
3、XML文档编码
在xml文档第一行声明中,指明文档所用的编码,如例:
<?xml version="1.0" encoding="UTF-8"?>
需要注意的是,所用文本编辑器要要可以指定编码(如win2K的notepad),然后利用encoding属性指明所用的编码。win95/98的Notepad可不行。
4、一个可生成XML应答的服务器
只需要在HTTP头部指明“ContentType="text/xml"”即可。
5、IE中对数据岛中数据的操作的支持
除了前文中提到的数据岛可与TABLE或DIV或SPAN有绑定外,数据岛还有成员recordset和field等,recordset有前移、后移等动作,有取得和设定当前记录等功能。
6、IE5以上可支持XMLHTTP请求。
引用两段javascript代码,供参考吧。
var objHTTP = new ActiveXObject("Microsoft.XMLHTTP")
objHTTP.Open('GET','httprequest.asp',false)
objHTTP.Send()
......
document.all['A1'].innerText= objHTTP.status
document.all['A2'].innerText= objHTTP.statusText
document.all['A3'].innerText= objHTTP.responseText
这样一来,跟服务器打交道,来去都可用XML了。
7、XML格式的行为?
行为是MS的专有技术,本身是一个CSS属性选择器,即与对象绑定后,可据在对象上的操作动态的改态对象的一些显示属性。据说最终目的是把所有的script角本都从HTML页面中移去。
8、XML相关技术(有几个都没接触过:()
XHTML(其1.0是最后一个版本的HTML?),CSS,XSL,XSLT,XPath,XLink,XPointer,DTD,NameSpace,XSD(XML Schema),XDR,XQL,DOM,SAX。