菜鸟学Android笔记(九):Schema之名称空间
2015-05-30 19:55
393 查看
边看视频边写笔记(粗略版)
一、Schema的概念
是一种约束XML的技术,可以克服DTD的局限
与DTD的比较
XML Schema是xml的约束技术,出现的目的是为了替代dtd
本身也是一个xml,非常方便使用xml的解析引擎进行解析
对名称空间有非常好的支持
支持更多的数据类型,并且支持用户自定义数据类型
可以进行语义级别的限定,限定能力大大强于dtd
相对于dtd不支持实体
相对于dtd复杂的多,学习成本比较的高
学习要求:
二、Schema约束快速入门
1、扩展名是.xsd,但是一个XML文档
2、XML Schema称为模式文档,遵循这个文档书写的xml文件称之为实例文档
3、和XML文件一样,一个XML Schema必须有一个根节点,但这个根几点名称为Schema
4、编写一个XML Schema的约束文档后,通常需要把这个文件中声明的元素绑定在一个URI地址上,在XML Schema
技术有一个术语来描述这个过程,即把XML Schema文档声明的元素绑定到一个名称空间上,以后XML文件就可以通过
这个URI(即名称空间)来告诉解析引擎,xml文档中编写的元素来自哪里,被谁约束。
三、Schema入门案例
四、名称空间
本质:独一无二的名称,通常用域名
作用:用于标示元素,只是一个名称而已,并没有告诉具体的地址
图解:
第一步:1.xml文件被美利坚合众国.xsd和中华人民共和国.xsd两个约束文档约束
1.xml如果想创建一个公民元素,这两个约束文档都有公民的元素,那么如果区别公民元素属于谁的?
只有这样:
第二步:公民前面的名称空间太长了,我们可以这样简化:
第三步:名称空间只是一个名字而已,这个公民元素如何找到约束它的文档呢?可加入schemaLocation的元素
第四步:XML中的每个元素都有约束文档,schemaLocation元素又来自哪里,这就是来自著名的域名空间
五、
1、默认名称空间
2、引入多个名称空间
3、不使用名称空间引入XML Schema文档
ps:参考w3c文档
一、Schema的概念
是一种约束XML的技术,可以克服DTD的局限
与DTD的比较
XML Schema是xml的约束技术,出现的目的是为了替代dtd
本身也是一个xml,非常方便使用xml的解析引擎进行解析
对名称空间有非常好的支持
支持更多的数据类型,并且支持用户自定义数据类型
可以进行语义级别的限定,限定能力大大强于dtd
相对于dtd不支持实体
相对于dtd复杂的多,学习成本比较的高
学习要求:
二、Schema约束快速入门
1、扩展名是.xsd,但是一个XML文档
2、XML Schema称为模式文档,遵循这个文档书写的xml文件称之为实例文档
3、和XML文件一样,一个XML Schema必须有一个根节点,但这个根几点名称为Schema
4、编写一个XML Schema的约束文档后,通常需要把这个文件中声明的元素绑定在一个URI地址上,在XML Schema
技术有一个术语来描述这个过程,即把XML Schema文档声明的元素绑定到一个名称空间上,以后XML文件就可以通过
这个URI(即名称空间)来告诉解析引擎,xml文档中编写的元素来自哪里,被谁约束。
三、Schema入门案例
四、名称空间
本质:独一无二的名称,通常用域名
作用:用于标示元素,只是一个名称而已,并没有告诉具体的地址
图解:
第一步:1.xml文件被美利坚合众国.xsd和中华人民共和国.xsd两个约束文档约束
1.xml如果想创建一个公民元素,这两个约束文档都有公民的元素,那么如果区别公民元素属于谁的?
只有这样:
第二步:公民前面的名称空间太长了,我们可以这样简化:
第三步:名称空间只是一个名字而已,这个公民元素如何找到约束它的文档呢?可加入schemaLocation的元素
第四步:XML中的每个元素都有约束文档,schemaLocation元素又来自哪里,这就是来自著名的域名空间
五、
1、默认名称空间
2、引入多个名称空间
3、不使用名称空间引入XML Schema文档
ps:参考w3c文档
相关文章推荐
- 获取标题栏(actionbar)、状态栏高度的办法 onCreate()有效
- Android 开发工具类 30_sendXML
- 我的Android进阶之旅------>Android使用9Patch图片作为不失真背景
- 解决Genymotion运行Android 5.0一直卡在开机界面
- Android 开发中的注意事项
- Android 开发服务类 04_ServletForPOSTMethod
- android 自学中的散乱笔记
- Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决
- Android 让EditText失去焦点避免自动弹出输入法
- Android 优化(1)
- Android 开发服务类 03_ServletForGETMethod
- Android开源框架--ViewPagerIndicator的使用
- android linker (1) —— __linker_init()
- android 曲线图的绘制
- android EventBus源码解析
- Android EventBus 实战
- android常用的开源工具
- Android开发: 对象属性的使用
- android Spinner(下拉列表)
- Android自定义ScrollView