学习笔记:网页技术Ch7.XML及其有关的科技
(来源:notes of course Web Technology of Vrije Universiteit Brussel)

什么是XML?
是一种标记语言,用于记录信息,本身没有计算能力,但是可以自我规定,从而形成其他的标记语言,super class 既视感。
举个例子:
1 | |
这个上面只是标记了有一封信的所有信息,你可以写个代码,把他变成一封信,这样就变成了LaTex/Markdown这样的语言。
什么不是XML?
1、XML不是一个编程语言!
它本身不具备编程能力,但是,它能够存储这个程序运行的instruction,你可以写个程序把xml翻译成任何编程语言
注意:XSLT就可以把XML变成其他语言
2、XML不是数据库!
XML可以用来存储信息,但是它确实管理信息的能力,当然你也可以写程序弥补。这就形成了BaseX, eXist等数据库
许多数据库可以把xml文件导入其中。
说一下XML的历史:
它是SGML的后代,因为SGML虽然功能强大,但是太复杂了
XML其实是SGML-Lite
因为XML发布,所以随之而来有很多新的标准公布
为什么XML这么成功?
- Simple
- General
- Accepted
- Many Associated Standard
- Many Available Tools
XML Specification(规范):
定义了语法
定义了工具
与HTML类似,XML也有Tree DOM;但是与HTML非常大的宽容度不同,XML定义更加严格,之前W3C就也想把HTML变得规范严格,推出了XHTML,就失败了,没人愿意用。
谈完了XML,现在来说一下和他相关的一些技术:
XPath:
和操作系统的文件管理差不多感觉,查找单个元素
1 | |
XPointer:
我们需要指向某个特定的列表的第三个项目,或者指向第五段的第二行。通过 XPointer 是很容易做到的。
1 | |
XLink:
在 HTML 中,我们知道 元素可定义超级链接。不过 XML 不是这样工作的。在 XML 文档中,您可以使用任何你需要的名称 - 因此对于浏览器来说是无法预知在 XML 文档中可调用何种超级链接元素。
在 XML 文档中定义超级链接的方法是在元素上放置可用作超级链接的标记。
1 | |
SAX:
SAX(simple API for XML)是一种XML解析的替代方法。相比于DOM,SAX是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。而且相比于DOM,SAX可以在解析文档的任意时刻停止解析,但任何事物都有其相反的一面,对于SAX来说就是操作复杂。
- less memory than DOM parser
XSLT:
XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。
XML-RPC:
xml rpc是使用http协议做为传输协议的rpc机制,使用xml文本的方式传输命令和数据。一个rpc系统,必然包括2个部分:1.rpc client,用来向rpc server调用方法,并接收方法的返回数据;2.rpc server,用于响应rpc client的请求,执行方法,并回送方法执行结果。RPC是Remote Procedure Call的缩写,翻译成中文就是远程过程调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为了提高各个分立机器的“互操作性”而发明出来的技术。
简单来说,就是你想用本地的值发送给服务器,调用服务器里的函数,并由服务器返回这个函数的值,运算不在本地进行,云电脑既视感。
example:GOMES
