html和xml元素的作用,XML(一)之两种约束

XML的基本了解

1.XML是什么: 可扩展的标记语言(eXtensibleMarkup language),预定义的标签是HTML是显示数据,自定义标签的是xml,设计的宗旨是表示数据,非显示数据。即XML描述的是文档的内容与语义,而不是文档应当如何显示。

2.目前经常使用的Xml版本是1.0。XML的作用:

a)在实际的开发中,主要作为程序的配置文件。

b)硬编码:是将程序写死了,xml提高系统的灵活性。

c)XML是一种通用的数据交换格式。可以使不同程序语言之间进行数据的交换。

d)使用XML可以实现异构语言,异构平台之间的交互。

3.解析器(Parse):将标记语言解析执行和显示。比如IE浏览器解析HTML语言。

4.XML标签和元素的命名规范:它可以包含字母,数字,减号,下划线和英文句点。

a)严格区分大小写。

b)只能以字母或下划线开头

c)不能以xml(或XML,Xml等开头),作为保留词用。我们目前可以用,不建议

d)名称字符之间不能有空格或制表符;

e)名称字符之间不能使用冒号。

5.XML的基本语法声明。

a)文档声明:用于表示该文档是一个xml文档。对于XML文档来说,?>处理指令必须要顶格写,前面不能有任何空白。(前一行连空行都不能有,也不能有注释)。保存在磁盘上的文件编码要与声明的编码一致。既是说你声明的明明是UTF-8,保存成GBK,就会出现错误。

格式:<?xml version=”1.0” ?>。

声明中的enconding属性,说明当前XML文档使用的编码,默认utf-8。

声明中的standalone属性: 说明xml文档是否独立。

b)元素:

i.XML中的每个元素都是成对出现的(有开始,有结束),XML中的元素嵌套关系要保持正确性,即先开始的标记要先结束,后开始的标记要后结束。(结束标签不能省略)

ii.每一个XML文档都有且只有一个根元素(Root Element)。所谓根元素,就是唯一一个包含了所有元素的元素。

iii.XML文档中不会忽略回车,换行及空格和缩进。

c)属性:

i.XML元素可以具有属性,属性的形式为:属性名=“属性值”,

比如gender=“male”

ii.属性值一定要使用单引号或双引号括起来。多个属性之间使用空格分开。

iii.在一个元素上,相同的属性只能出现一次。

d)注释:,注释是不允许嵌套。与HTML注释一样

e)CDATA区:是CharactersData的缩写。

i.作用:CDATA区中的内容都是文本

ii.语法格式:

f)处理指令(PI:Processing Instruction):

i.作用:用来指挥软件如何解析XML文档

ii.语法:必须以<?和 ?>来限定界限。

例如:XML使用外部css来达到HTML的显示效果

XML的基本约束:

1.格式正规(well formed)的xml文档。符合XML的语法要求的XML的文档就是格式正规的XML文档。

2.有效的(valid)XML文档。首先XML文档是个格式正规的XML文档,然后又需要满足DTD的要求,这样的XML文档成为有效的XML文档。即遵循约束规范的。

3.总结:格式良好的不一定是有效的,但有效的必定是格式良好的。

DTD约束

1.Document Type Definition(DTD,文档类型定义):

a)作用:约束XML的书写规范

b)DTD文件保存到磁盘时,必须使用UTF-8编码。

2.DTD的引入外部的DTD文档约束XML两种方式:

a)DTD文件保存在本地:DTD文件的路径”

b)DTD文件保存在网络:“DTD名称” “DTD的URL路径”

例如:/p>

"-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

DTD文件保存到网络一般是默认的文件路径,我们可不做更改。

DTD文档的语法

1.定义元素:ELEMENT关键字

a)格式:

i.(#PCDATA)(ParsedCharacter Data),可解析的字符数据。简易上说就是字符串

ii.EMPTY:指示元素的主体不能有主体内容。

iii.例如只能写:,而不能写abc

iv.ANY:用于知识元素的主体内容为任意类型

v.(子元素):指示元素中包含的子元素。

b)定义元素及描述它们的关系:

i.如果元素用逗号分开,,说明必须按照声明的顺序去编写XML的元素

ii.如果元素用|分开,说明任选其一,就是几个之中只能选一个

c)特殊符号来表示元素出现的次数,跟正则表达式符号功能很像

i.+:表示至少出现一次,一次或多次

ii.*:表示可有可无,零次或多次

iii.?:表示只能出现一次或零次,不能出现多次

iv.以上符号都没有,表示必须且出现一次

2.定义元素的属性(attribute)

语法:

1属性值类型设置说明

2属性值类型设置说明>

注意:属性值之间不能用逗号。我门可以用空格各科i。

属性值类型:

a)CDATA:表示属性的取值为普通的文本字符串

b)ENUMEATED(DTD没有此关键字):

语法:

c)id:属性的取值只能唯一,不能重复

设置说明:

i.#required:表示该属性必须出现

ii.# IMPLIED:表示该属性可以有,可以没有

iii.#FIXED “固定值” :不写的话就是默认值,写的话和必须和默认值一样

iv.直接值:什么设置关键字都没有,直接一个属性值。属性的取值是默认值,元素的元素不写时有默认值,写上的话和默认值不一样也不会出错。这点和#FIXED相反。

3.定义实体:ENTITY关键字。就是为一段文本内容指定一个名称,使用时通过这个名称就可以以引用其所代表的内容。类似键值对映射关系

a)XML中的实体引用(entityreference):

XML常用的预定义实体引用:

i.<小于(

ii.>大于(>)

iii.&(&)

iv."(引号)

v.&apos;(省略号)

自定义一个实体引用:

使用格式:

调用方式:&引用名;(其实就是实体值)

例如:

]>

&liangshenghai;

&changshilu;

b)参数实体:

语法:

调用方式:%实体名称;

例如:

]>

4.关于普通实体与参数实体(ENTITY)的区别:

1)普通实体是在dtd中定义,xml中使用,使用时候格式为:&address

2)参数实体是在dtd中定义,dtd中使用,定义的时候使用%,使用的时候也需要使用%,%address;

3)普通外部实体的定义方式是:

格式:

他表示使用http://www.baidu.com/xml.xml网址的内容来替换掉address,而不是使用http://www.baidu.com/xml.xml字符串本身来替换掉address。

4) 外部参数实体:

使用的时候:%address;

5.DTD的局限性:

a)DTD不遵守XML语法(即写XML是一种语法,写DTD却是另一种语法)

b)DTD数据类型有限

c)DTD不可扩展

d)DTD不支持命名空间

Schema约束的简单介绍

1.Schema(模式):其作用与dtd一样,也是用于验证XML文档的有效性,只不过它提供了比dtd更强大的功能和更细粒度的数据类型,另外Schema还可以自定义数据类型。此外,Schema也是一个XML文件,而dtd则不是。

2.使用Schema的好处:

a)Schema基于XML语法

b)Schema可以能处理XML文档的工具去处理

c)Schema大大扩充了数据类型,可以自定义数据类型

d)Schema支持元素的继承

e)Schema

3.所有的Schema文档,其根元素必须为Schema。

4.SimpleType(简单类型)与ComplexType(复杂类型)的区别:

1) SimpleType类型的元素没有子元素,也没有属性。

2) 当需要定义的元素包含了子元素或者属性时,必须要使用ComplexType。

5.SimpleContent,用于ComplexType元素上,用于限定该ComplexType的内容类型,表示该ComplexType没有子元素,同时该ComplexType需要有属性,否则它就成为SimpleType了。

以后会专题讲解XMl的Schema,此待续。。。。。。。。。

总结

以上是编程之家为你收集整理的XML(一)之两种约束全部内容,希望文章能够帮你解决XML(一)之两种约束所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值