1、简介
1》什么XML语言(eXtensible Markup Language)
可扩展标记语言XML是SGML的子集,其目标是允许普通的SGML在Web上以目前HTML的方式被服务、接受和处理。XML被设计成易于实现,且可在SGML和 HTML之间互相操作(W3C XML工作组对XML的定义)。
2》标记语言发展史
3》XML语言设计的目的
可扩充性
语义与表现形式的分离
在Internet上的可用性
简单性
国际化(任何系统,任何语言都可以访问)
和SGML的协作性
4》XML语言的优越性
XML是使信息自描述的新语言。
信息共享
--自定义数据格式,而且很容易使用工具读写
数据传递
--支持各种通道的数据传输
数据重用
分离数据和显示
可扩展
文档包含语义
其他
--容易阅读/工具/树形结构面向对象编程
2、基础语法
1》xml语言的特点
XML是自描述数据(保存纯数据)
使用现有的国际标准
格式正规的XML(本章主要介绍格式正规的XML的语法规则)
有效的XML
XHTML(支持xml的html)
2、XML语言解析器
有很多xml解析器,各种浏览器都可以解析xml文件
xml 文档格式:
3》xml的声明(就是xml文件的第一行);参数说明:
version - -文档符合XML1.0规范,现在只有1.0
encoding - -文档字符编码,默认为"UTF-8"
standalone - -文档定义是否在一个文件内
standalone="yes"
standalone="no"
4》每个XML文档必须有且只有一个根元素。
5》xml 处理指令PI
语法:<?目标 指令?>
PI必须以一个叫做目标的标识符开头,这个标识符遵从如同元素和属性一样的规则,目标是指令所指向的应用的名称。
指令是传递给应用程序的信息。
6》CDATA节(就是按照原文本格式输出)
1 <!--相当于 html中的 pre 标签--> 2 <![CDATA[ 3 小明 4 <shit>就是个shit</shit> 5 6 ]]>
7》完整的XML完整实例
1 <班级 编号="shit007"> 2 3 <老师> 4 <姓名>林志玲</姓名> 5 <性别>女</性别> 6 <爱好>拉丁</爱好> 7 </老师> 8 <所有学生> 9 <学生> 10 <姓名>小红</姓名> 11 <性别>女</性别> 12 <年龄>16</年龄> 13 </学生> 14 <学生> 15 <姓名>小辉</姓名> 16 <性别>男</性别> 17 <年龄>18</年龄> 18 </学生> 19 </所有学生> 20 </班级>
3、命名空间
1》为什么使用命名空间
为了 区别 同名 元素
2》使用URL作为XML的Namespaces
3》三种定义方式:
1、先定义,后使用
2、使用的同时,给出定义
3、指定默认命名空间
代码演示:
1 <!--命名空间的使用--> 2 3 <!--第一种定义方式:先定义再使用--> 4 <!--定义了 命名空间 xmn,,--> 5 <root xmlns:xmn="http://schemas.microsoft.com/ado/2006/04/edm"> 6 <!--生命 name在 命名空间 xmn 里面--> 7 <xmn:name> 8 小明 9 </xmn:name> 10 11 12 <!--第二种定义方式:使用的同时定义命名空间--> 13 <xs:table xmlns:xs="http://baidu.com"> 14 </xs:table> 15 16 17 <!--第三种定义方式:默认命名空间的命名--> 18 <ddd:table xmlns:ddd="http://schemas.microsoft.com/" xmlns="http://demo/"><!--里面的 xmlns="http://demo/"是默认的命名空间,如果下面的元素没有 定义命名空间的 话,,默认就在 次 命名空间下面--> 19 20 <!--下面的 元素就是在 命名空间 ddd的 下面,,因为 显示 指定 了 命名空间--> 21 <ddd:dd> 22 我是 显示 指定 在 命名空间 ddd下面的 元素 23 </ddd:dd> 24 25 <!--没有指定 命名空间,默认就是 父级 设定的 默认命名空间--> 26 <dd> 27 我是 在 默认命名空间 下面的 28 </dd> 29 30 <!--如果 自己 定义 命名空间,那么 此元素就是 在 自己定义的命名空间 下面的--> 31 <dd xmlns="http://demoshit/"> 32 我是 在 自已 定义的 命名空间下面的 33 </dd> 34 35 </ddd:table> 36 37 </root>
4、接下来学习目标(后面会更新)
1》Schema架构 (写xml架构,就是控制xml的编写,制定相应的书写规则)Schema架构
2》XSL(包括XSLF(这个是格式化使用,基本用不到)和XSLT(用于转化,将xml文件转化成html文件))XSLT样式表
3》DOM(可是使用javascript和其他语言动态操作xml文件中的数据)