1、XML基础及相关技术平原大学信息工程学院 张磊 2006年 9月 5日提 纲 山重水复疑无路,柳暗花明又一村 XML的诞生 没有规矩,不成方圆 XML语法 海纳百川,有容乃大 DTD与 Schema 花想衣裳云想容 XML文件的显示 江山如画,一时多少豪杰 XML标准体系框架 千帆竟发,百舸争流关于 XML的编辑与浏览工具 问苍茫大地,谁主沉浮 XML的应用和发展前景* XML基础及相关技术 2山重水复疑无路,柳暗花明又一村 XML的诞生 何谓 XML 为什么要 XML XML的来龙去脉 XML实例* XML基础及相关技术 3何谓 XML (eXtensible Markup Language
2、) 什么是置标语言 (Markup Language) 超文本置标语言 HTML( HyperText Markup Language) XML和 HTML同属一个大家族 置标语言家族 “置标 ”的一个精确定义是:就数据本身的信息对数据进行编码的方法。 E.g. 用黄色荧光笔把课本上的 某些句子 加亮,或者干脆在 这些句子 下面划线 HTML BOLDBOLD* XML基础及相关技术 4何谓 XML什么是置标语言 (cont.) HTML代码显示了一个客户联系信息列表:张三 用户 ID: 001公司 : A公司 EMAIL: 电话 : (010)62345678地址 : 五街 1234号 城市
3、 : 北京市 省份 : 北京 李四 ID: 002公司 : B公司 EMAIL: libbb.org电话 : (021)87654321地址 : 南京路 9876号 城市 : 上海市 省份 : 上海 这段 HTML置标数据在浏览器中的显示效果如下: 张三 ID: 001 公司 : A公司 EMAIL: 电话 : (010)62345678 地址 : 五街 1234号 城市 : 北京市 省份 : 北京 李四 ID: 002 公司 : B公司 EMAIL: libbb.org 电话 : (021)87654321 地址 : 南京路 9876号 城市 : 上海市 省份 : 上海 * XML基础及相
4、关技术 5何谓 XML什么是 XML eXtensible Markup Language eXtensible: XML是一种可扩展的元置标语言,它可用以规定新的置标规则,并根据这个规则组织数据 。 数据置标:一类偏重于语意描述;一类偏重于显示方式的描述 置标的语法: DTD , Schema 置标的含义 : CSS, XSL* XML基础及相关技术 6何谓 XML什么是 XML(cont.) 数据置标:一类偏重于语意描述;一类偏重于显示方式的描述(SVG,SMIL) FCLML( F_company s Client List Markup Language)F公司的客户列表置标语言 (
5、语义描述 )张三 001A公司 (010)62345678五街 1234号 北京市 北京 李四 002B公司 libbb.org(021)87654321南京路 9876号 上海 上海 * XML基础及相关技术 7何谓 XML什么是 XML(cont.) 置标的语法、句法和结构: DTD, Schema fclml.dtd: 置标的含义 , 向应用程序,比如浏览器,提供如何处理显示的指示说明。 XSL, CSS1. 每当看到一个 联系人 标签,用一个 UL 标签显示它。同样, /联系人 转换为一个 /UL 标签。 2. 所有的 姓名 标签被转换为 LI 标签加以显示。同样, /姓名 转换 LI
6、 标签。 3. 所有的 EMAIL 标签被转换为 LI标签加以显示。同样, /EMAIL 转换为 /LI 标签。* XML基础及相关技术 8为什么要 XML仍从 HTML说起“从网络使用之初,我们一直在所有文件中都使用近乎相同的格式,HTML格式 .使用具有固定语法的固定标记集具有一定的好处,即简单性。但是, HTML非常有限,网页设计者希望能够对页面的表现能力具有更多的控制,这就需要求助于 XML。 ” 专门为描述网页的表现形式而设计的,疏于对信息语意及其内部结构的描述。 对形式的描述能力实际也还是非常不够的,无法描述矢量图形、科技符号和一些其它的特殊显示效果。 IE和 Netscape都给
7、 HTML加入了一些特殊的标记,以便为自己的浏览器增加一些特殊的显示效果。 HTML的标记日益臃肿,文件结构混乱而缺乏条理,导致浏览器的设计越来越复杂 , 还降低了不同浏览器之间的兼容性。 搜索时间长 . 动态内容需要下载的部件太多。 HTML可扩展性差 .* XML基础及相关技术 9为什么要 XMLXML的第一大优势自由民主的网上世界 自由地制定你自己的标记语言。 允许各个组织、个人建立适合他们自己需要的标记库,并且,这个标记库可以迅速地投入使用 允许各个不同的行业根据自己独特的需要制定自己的一套标记,但它并不强迫所有浏览器都能处理这些成千上万个千奇百怪的标记,同样也不要求标记语言的制定者制定出一个非常详尽非常全面的语言从而适合各个行业各个领域的应用 。 现在许多行业、机构都利用 XML定义了自己的标记语言。比较早而且比较典型的是下面两个实例: 化学标记语言 CML (Chemistry Markup Language) 数学标记语言 MathML (Mathematical Markup Language)* XML基础及相关技术 10