XML的初始以及约束
来源:互联网 发布:windows jenkins shell 编辑:程序博客网 时间:2024/06/16 07:46
1.XML是一种能与服务器等进行数据交换的,同时也是一种能存储数据的可扩展标记语言。
他与语言,系统,平台的无关性给数据交互带来了很大的方便。仅仅在不同的语言中解析方式不一样而已。
2.XML的定义格式
<?xml version="1.0" encoding="utf-8"?>
版本使用1.0 xml有1.1版本但是在发布之后,就因为不向下兼容被淘汰了,
所以至今一直沿用1.0,后边加编码格式
内容定义:用一对自定义标签作为跟标签,内部由成对存在的标签组成,单标签需要是自闭型的
<persons> <person id="p001"> <name>张三</name> </person> <person id="p002"> <name>李四</name> </person> </persons>
注意:
1.自闭型标签格式
2.在没有约束文件的情况下,标签可以随便定义,只要称对存在就好
3.XML区分大小写
3.属性(attribute)
同HTML一样,标签是可以有自己的属性的
格式:包含在开始标签中 属性=属性值,一个标签可以有多个属性,但是不能重复属性
4.约束
因为XML非常的不规范,标签自定义等等。所以为了开发的方便,便出现了约束,用来规范约束XML中的属性与标签或者值等等之间的关系。
4.1约束分类
DTD约束(Document Type Definition)
Schema约束
4.2DTD约束
格式:(使用步骤,因为约束文件可以说自己不用写,而是去用)
步骤1:创建bean-dtd.xml文档,并将“bean.dtd”拷贝相同目录下
步骤2:从DTD文档开始处,拷贝需要的“文档声明”
步骤3:完成xml内容编写
4.3DTD怎么定义?
格式:<!ELEMENT 元素名 元素描述>
?:可以出现,但只能出现一次
*:允许出现多次,也可以是0次
+:该对象至少出现一次,但可以是多次
,:元素按照指定的顺序出现
事例:
<!ELEMENT beans (bean*,import*) > 在beans标签中只可以有bean+import的标签,可以有0到无限个。<!ELEMENT bean (property*)> //在bean标签中有0到无限个propertry标签<!ELEMENT property (#PCDATA)> //在property中不能有标签,但可以有字符串<!ATTLIST bean id ID #REQUIRED className CDATA #REQUIRED type CDATA #IMPLIED>//上边这个则是bean有参数三个,id与className必须存在,type则是可选
* 4.3使用代码事例(文档声明)*
1. 内部DTD,在XML文档内部嵌入DTD,只对当前XML有效。
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE beans [ ... //具体的语法 ]> <beans> </beans>
2.本地DTD,DTD文档在本地系统上,公司内部自己项目使用。
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE beans SYSTEM"bean.dtd"> <beans> </beans>
3.外部DTD—公共DTD,DTD文档在网络上,一般都有框架提供。
需要有网络,当第一次使用之后,则会在本地缓存。
<?xml version="1.0" encoding="UTF-8"?> <!-- DTD的名字--> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" <!-- DTD的网络位置--> "http://www.springframework.org/dtd/spring-beans-2.0.dtd"><beans>
4.4Schema
功能比DTD强大,但是至今DTD仍占有一定市场
命名空间:
默认的命名空间
xmlns="http://www.XXXXX.cn/bean"
有很多人这里不理解,其实在我们下载到的Scehma文件中有一句:targetNamespace="http://www.XXXXX.cn/bean"
他们名字相同,意思就是用的时候用xmlns来引用,至于为什么用域名,那是因为域名全球唯一啊,不重复,只给你们公司用,不冲突。
显式的命名空间 :
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 使用标签时,必须加前缀 xsi:xxx 必须指定xsd文件的位置 //命名空间 约束文件的名字 xsi:schemaLocation="http://www.XXXXXX.cn/bean bean-schema.xsd">
4.5注意
在Scehma文件中有如下这些,其实不用太在意,我们下载框架就已经一块下载了,要不就是联网的的时候就一块下载下来了。所以这里就不细讲了。
xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.XXXXX.cn/bean" xmlns:tns="http://www.itheima.cn/bean" elementFormDefault="qualified">
4.6Schema怎么约束的:
直接上代码:<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.XXXXX.cn/bean" xmlns:tns="http://www.itheima.cn/bean" elementFormDefault="qualified"> <!-- 声明根标签 1. <element> 声明元素(标签) 2. 每一个元素必须确定类型: complexType 复杂类型 simpleType 简单类型,一般不用,大部分都是复杂类型 3. 需要继续明确子标签出差顺序 <choice> 选择, ()XML Schema 的 choice 元素仅允许包含在 <choice> 声明中的元素之一出现在包含元素中 <sequence> 顺序 , <all> 任意 minOccurs 最少出现次数 maxOccurs 最大出现次数,unbounded 不限制(没有边) 4.<attribute>用于给元素声明属性的 use 设置属性使用, optional可选、required必选 --> <element name="beans"> <complexType> <choice minOccurs="0" maxOccurs="unbounded"> <element name="bean"> <complexType> <sequence minOccurs="0" maxOccurs="unbounded"> <element name="property"> <complexType> <attribute name="name" use="optional"></attribute> <attribute name="value" use="required"></attribute> </complexType> </element> </sequence> <attribute name="id" use="required"></attribute> <attribute name="className" use="required"></attribute> </complexType> </element> <element name="import"> <complexType> <attribute name="resource" use="required"></attribute> </complexType> </element> </choice> </complexType> </element></schema>
- XML的初始以及约束
- xml DTD的约束以及校验
- 初始的web.xml
- xml的约束
- XML的约束:schema
- xml的DTD约束
- xml的约束
- xml的约束引用
- xml的schema约束
- Xml的dtd约束
- Xml的schema约束
- XML文件约束之DTD详解以及xml文件的dtd描述文件本地化
- javaweb之xml以及其约束
- DOM4j解析xml文件以及Schema约束
- XML的DTD约束和Schema约束
- xml的约束文档,dtd
- 简单的DTD约束XML
- XML 的 约束 :DTD 、 Schema
- 计算机体系结构--Cache
- 向Mysql数据库插入五万条记录(批处理)
- Redis介绍与简单使用
- 创建Java工程实现发送邮件(163邮箱)
- 处理数字
- XML的初始以及约束
- 德拓DATATOM校招C/C++软件研发笔试题
- RabbitMQ消息队列入门篇(环境配置+Java实例+基础概念)
- 欢聚时代2017校招笔试题目(JAVA基础类)A卷--1
- 深入理解JavaScript的this指向问题
- Python MySQL使用与实例
- Who's in the Middle
- NYOJ_1140 鸡蛋栈
- 解决Ubuntu:e1000e无法驱动无法上网问题