xml初步,DTD和Schema约束
XML
可扩展的标记语言(!!!可扩展)
作用
1.存放数据
2.配置文件
语法
文档声明
<?xml version="1.0" encoding="UTF-8"?>
1.文档声明必须为<?xml开头,以?>结束;
2.文档声明必须从文档的0行0列位置开始;
3.文档声明只有2个属性;
version 版本
encoding 编码
元素
<bean></bean>
1.必须开始结束
2.标签由开始标签,元素体,结束标签组成<hello>大家好</hello>
3.元素体 可以是文本 也可以是标签<b><a>你好</b></a>
4.空元素 <c/>
5.元素命名 区分大小写 不用特殊符号 不要xml开头
6.必须要有根元素
属性
<bean id="" className="">
1.出现在开始标签
2.属性名="属性值"
3.一个元素多个属性不可相同
4.属性名无特殊符号 字母开头
注释
<!-- -->
转义字符
< <
> >
" "
' '
& &
CDATA
<![CDATA[ 纯文本 ]]>
DTD
引用DTD
本地DTD
<!DOCTYPE beans SYSTEM "bean.dtd">
公共DTD
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
元素声明
? 0-1次
* 任意次
+ 至少一次
() 分组
| 或
, 顺序
属性声明
属性的语法:(attribute)
<!ATTLIST 元素名
属性名 属性类型 约束
属性名 属性类型 约束
>
元素名:属性必须是给元素添加,所以必须先确定元素名
属性名:自定义
属性类型: ID、CDATA、枚举
ID:ID类型的属性用来标识元素的唯一性
CDATA:文本类型
约束:
#REQUIRED 说明属性是必须的:required
#IMPLIED 说明属性是可选的:implied
Schema
引用Schema
<beans xmlns="http://www.itcast.cn/bean" (默认命名空间来自xsd自定义的地址)
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" (Schema约束的命名空间来自官方文档 地址-instance)
xsi:schemaLocation="http://www.itcast.cn/bean bean-schema.xsd"> (xsi:schemaLocation="" Schema文档)
</beans>
Schema的目标名称空间用属性targetNamespace在根元素中定义
elementFormDefault="qualified" 目标名称空间包含非全局的元素定义
xml解析
DOM解析原理
将xml加载进内存 形成DOM树 并得到一个document对象
dom4j解析包
常用API如下:
1.SaxReader对象
Document read(File file) 加载执行xml文档
2.Document对象
Element getRootElement() 获得根元素
3.Element对象
elements(...) 获取指定名称的所有子元素,可以不指定
element(...) 获取指定名称的第一个元素,可以不指定
getName() 获取当前元素的元素名
attributeValue(...) 获取指定属性名的属性值 attribute(int i)获得第i个属性的值
elementText(...) 获取指定名称子元素的文本值
getText() 获取当前元素的文本内容
DTD约束
<!-- 注意
A:一定要注意空格的地方,一定要有,有且只有一个英文空格
B:DTD约束中,文档声明可有可无
C:注意元素的括号
(初中*,高中,大学) 按顺序出现,可以在里面确定出现的次数
(初中|高中|大学)* 如果不加*号括号中的内容就只能出现一个且出现一次,随机出现
-->
xml初步,DTD和Schema约束的更多相关文章
- Spring学习----- Spring配置文件xml文档的schema约束
1.配置文件示例. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...
- 关于Spring配置文件xml文档的schema约束
最开始使用spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. <?xml version=&q ...
- Spring中xml文档的schema约束
最开始使用Spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. <?xml version= ...
- XML DTD跟SCHEMA约束 语法了解
dtd语法 元素: <!Element 元素名称 数据类型|包含内容> 数据类型: #PCDATA:普通文本 使用的时候一般用()引起来 包含内容: 该元素下可以出现哪些元素, 用()引起 ...
- DTD与Schema约束
1.DTD:(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法 规则.它是标准通用标记语言.2.XML Schema 是基于XML的DTD替代者 ...
- 在myeclipse等IDE中添加本地的dtd与schema约束文件
*针对没有网络无法正确引入dtd而使用不了提示的问题 (配置完后重启IDE) window->perferences- > 搜索xml c 找到xml catalog 右边点击 a ...
- XML的Schema约束
XSD文档至少要包含:schema根元素和XML模式命名空间的定义.元素定义.需要注意的是XSD中必须定义一个且只能定义一个schema根元素,根元素中包括模式的约束,XML模式命名空间的定义,其他命 ...
- xml语法、DTD约束xml、Schema约束xml、DOM解析xml
今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...
- Schema约束
Schema约束(*xml中如何引入schema约束)(看懂Schema:能根据Schema写出XML文档来:)1.Schema约束文档本身就是一个XML文档.2.Schema对名称空间支持很好3.S ...
随机推荐
- STL lower_bound upper_bound 用法
1.lower_bound(begin,end,x) 返回第一个>=x的位置,找不到return .end() 2.upper_bound (begin,end,x) 返回第一个>x的位置 ...
- 关于performSelector调用和直接调用区别
下面两段代码都在主线程中运行,我们在看别人代码时会发现有时会直接调用,有时会利用performSelector调用,今天看到有人在问这个问题,我便做一下总结, [delegate imageDownl ...
- (13)centos7 任务计划
一.查看任务计划 crontab -l 查看全部任务计划列表 二.创建任务计划 1.进入计划文件 crontab -e 2.任务格式 语法: 分钟 小时 几号 月份 星期几 任务 #一共5个时间参数 ...
- 常用内置模块(三)——shelve、xml、hashlib、configparser
常用模块(三) 一.shelve模块 1.shelve模块也是一种序列化模块,内部使用的是pickle模块,所以也存在跨平台性差的问题 2.特点: 只要提供一个文件名即可 读写的方式和字典一样 将数据 ...
- 用mybatis进行模糊查询总是查不到结果!
//IStudentDao.xml @Override public List<Student> selectStudentByName(String name) { SqlSession ...
- 解决 IE6 position:fixed 固定定位问题
#e_float{ _position:absolute; _bottom:auto; _right:50%; _margin-right:-536px; _top:expression(eval(d ...
- hud 3183
题意:给出n个数字的字符串,要求你删除m个数字后,得到的数字最小. 分析:删除m个,就是选n-m个,而且,选的第一个数,肯定在(0—(n-m-1))中,第二个就在(第一个的下一位—(n-m-2)中.就 ...
- Apache版hadoop编译
前言 做为大数据入门的基础,hadoop是每个大数据开发人员几乎不可避免的基础,目前hadoop已经发展到3.x.x版本,但当前企业使用的主流还是2.x.x版本,hadoop官网提供了编译后的had ...
- CAS机制是什么?有什么缺点,会出现什么问题
CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换. CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B. CAS的缺点: 1.CPU开销较大 在 ...
- 6358. 【NOIP2019模拟2019.9.15】小ω的仙人掌
题目 题目大意 给你一串二元组\((a_i,b_i)\)的数列. 求最小的区间\([l,r]\)长度,满足\([l,r]\)中的每个二元组选或不选,使得\(\sum a_i=w\)且\(\sum b_ ...