XML

本文深入探讨了XML文档的特点、XML标记命名规则、XML声明使用注意事项,以及XML与Mysql的区别。同时详细介绍了DTD文件的构成,包括声明语句、规定DTD(内部和外部DTD)、实体规则等内容。并通过实例展示了如何编写XML文件和相应的DTD文件,以及验证其有效性。
    

XML简介

Html目的:显示信息

CSS、JAVASCRIPT等,文档显示依赖的环境越多,浏览器开发

就越困难,不同浏览器的兼容性;

Xml目的:用层次模型保存数据;

Mysql:用关系模型保存数据;

 

 

XML标记命名规则

1)标记必须以英文字母或下划线”_”作为开头,若果在XML声明中把

encoding属性值设置为”GB2312”,那么也可以使用中文开头;

2)XML标记名严格区分大小写;

3)标记名不可以XML三个字母为开头(不论大小写);

4)除了开始字符外,其他字符必须是英文、数字、下划线、连接线和

点“.“;

例如:

合法:

<abc> 、<_xy>、<书号>、<Hell-OK>等;

不合法:

<123a>、<-hello>、<书 号>、<XML123>、<ra%>等;

 

 

在使用XML文档声明的时候必须注意以下几点:

<?xml version=”” encoding=”” standalone=””>

1)      属性必须按照声明的顺序使用;

2)      在声明中,xml、version、encoding、standalone必需小写;

3)      encoding值不区分大小写

encoding=”GB2312”  encoding=“gb2312“是等价的;

 

 

 

1、特点:

严格区分大小写

元素必须闭合

根元素有且只能有一个

 

 

 

 

2、文档的构成

1)声明语句:必须在第一行出现,并且不能有空白;

<?xml version="1.0" encoding="UTF-8"?>

Version:浏览器支持的版本

Encoding:支持中文

2)规定DTD

内部:

<!DOCTYPE 根元素名称 [

元素规则(声明元素名称,声明元素与元素之间的关系)

<!ELEMENT 元素名称  类型>

类型:

 EMPTY:空元素;

 ANY:任何内容,可以为空;

 PCDATA:文本(不能使用特殊符号&><’”)(解析,&amp)、CDATA;

 CDATA:把内容当作字符来显示;

 (子元素列表):逗号分隔,严格按照声明顺序来使用相应的子元素;

 (子元素?):表示该子元素可以出现0~1次;

(子元素+):表示该子元素可以出现1~无数次;

(子元素*):表示该子元素可以出现0~无数次;

 (子元素1|子元素2):表示可以出现子元素1或者子元素2其中一个;

 (子元素1,(子元素2,子元素3)?):()表示分组,该组出现0~1次,

                                  先后顺序严格按照声明;

 

 

属性规则

语法:

 <!ATTLIST 元素名

  属性名1 类型  默认值

……

类型:

 

例如:<!ATTLIST   input

name  CDATA                   "zhy"

type   (text|radio|submit|checkbox)   #REQUIRED

alt    (text|radio|submit|checkbox)   #IMPLIED

value  CDATA                   #FIXED  "abc"

classname  IDREFS               #IMPLIED>

>

  CDATA:表示值为字符,默认值表示未赋值时自动给定的值;

(en1|en2…..):枚举类型,表示只能从给定集合选择对应值;

ID :表示值为唯一ID;

IDREF:参照已存在(其他)ID;

  IDREFS:值为一个或多个参照已存在(其他)ID;

           多个参数中间用“空格”为分隔符,不能使用“逗号”;

NMTOKEN:值为合法的XML名称;

NMTOKENS:由空格分隔开的多个XML名称;

ENTITY:在DTD中声明实体名;

ENTITIES:在DTD中声明用空格分隔的实体名;

NOTATION:在DTD声明中的注释;

 

例如:

#id1 ul li{

……}

 

.a b #id1 ul

 

默认值:

#REQUIRED:该元素必须有该属性值;

<img src=””>

#IMPLIED:表示该属性值可有可无;

<img src=” ”  alt=””

#FIXED :表示该属性有固定值;

Default:默认值;

 

 

 

实体规则

1)  一般实体

声明并引用普通字符或特殊字符的快捷方式的变量

实体引用是对实体的引用,包括内部、外部声明两种

语法格式:

  声明

<!ENTITY 实体名 “值“>

      <!ENTITY 实体名 SYSTEM “URL“>

      <!ENTITY  实体名  PUBLIC “公共名“  “URL”>

 

例如:

<!ENTITY  abc  “ABCabcABC”>

&amp; 

<!ENTITY  amp  “&”>

引用

&实体名;

 

 支持嵌套,

 注意:不要自己调用自己

 <!ENTITY abc SYSTEM “a.ent”>

 

a.ent内容如下:

“abcabcabc”

&abc;

 

 

]>

 

 

&copyright;  版权声明

& < > “  ‘

 

 

外部DTD

文件:扩展名   .dtd

绝对路径:http://www.zhy.com/index.dtd

 <!DOCTYPE 根元素名称 SYSTEM “URI/URL”>

<!DOCTYPE 根元素名称 PUBLIC “公共名称” “URL”>

 

注意:中文xmlspy存在“必须既是SYSTEM 又是PUBLIC“

      建议使用英文,或者用?代替!

 

2)  正文

 

 

 

 

 

 

 

某学校拟使用XML文件制定一个学生(含已毕业学生)信息文档,该文档描述其学校内学生的管理信息。

1、选用合适的编辑器,编写一个XML文件,应至少包括下述信息内容:

学生目录下应该包括:

(1)所有学生的共有信息:班级的名字、专业、类别等

(2)学生

学生1

n 基本信息(学生姓名、性别、学号、年龄)

n 入学信息(入学时间、辅导员名)

n 班级内学生生源信息(

生源1:(生源地名称、联系方式等信息)

生源2:

….

生源n:)

n 毕业信息(毕业时间、毕业数量、辅导员名)

学生2

学生3

。。。。。

学生N

(3)辅导员

辅导员1(辅导员姓名、联系方式、职位、管理的班级名)

辅导员2

2、针对所编写的XML文件,编写其相应的DTD文件,并使用解析器验证其有效性。

要求:

xml文件中应该包括文本内容、标记、属性等的内容

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值