DTD-文档类型定义

一.XML中的限制?

DTD-文档类型定义,对XML里面的属性进行约束,

Schema-基于XMlDTD的替代者(DTD的升级版)

 

SchemaDTD的关系和区别
 关系:
 XML Schema 用于定义 XML 文档的合法元素,类似 DTD
 XML Schema 是基于 XML DTD 替代物。
 区别:

 DTD 不同,XML Schema 支持数据类型和命名空间。

 

二.什么是格式良好的XML?

1. 有且只有一个根元素          // XML文档必须有唯一的文档根.根元素包含 其余的文档数据,换言之,其余的部分就是根元素的子 元素  

 

2. XML标签大小写正确区分   //XML区分大小写,html不区分大小写

 

3. 正确使用结束标签             //<css><css>错误的,正确的<css></css>

 

4. 正确嵌套标签              //<name>张三<age>10</age></name>错误的,正确的 <name>张三</name>

 

5. 使用了合法的标签名        //XML中使用元素要遵守一些命名规范java命名规范类似),java要多                 (<servlet-name></servlet-name>如-字符), 即区分大小写等

 

6.定义有效的属性

 

. XML加入DTD声明

 <!DOCTYPE root[]>    //root根元素

 

例:

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

<persons>    //混合元素

<person pid="p1" sex="" qq="aaa" parent="p2"> //混合元素

<name>张三</name> //文本元素

<age>10</age> //文本元素

<contact> //混合元素

<phone>1234567</phone> //文本元素

</contact>

<br/> //空元素

</person>

<person pid="p2"> //混合元素

<name>张三丰</name> //文本元素

<age>35</age> //文本元素

<contact> //混合元素

<email>123@qq.com</email> //文本元素

</contact>

</person>

</persons>

 

根元素:<persons></persons>

元素:<person></person>,<name></name>,<age></age>等

 

四:元素定义的语法

<!ELEMENT element-name (type)>

 

 元素的分类(不只这三种,下面三种比较常用)

   <!ELEMENT element-name EMPTY> //空元素

   <!ELEMENT element-name (#PCDATA)> //文本元素

   <!ELEMENT element-name (e1,e2)> //混合元素

 

空元素(没有的内容的标签):</br>,<br></br>

文本元素(可以被解析的字符数据 ): <name>三</name>,<age>35</age>等

混合元素(标签体包含了其它的元素):如上例

 

五:元素的限制(三种)?

,   : 顺序

|  :

次数: +,   1~n

     *,   0~n

     ?,   01

     没有 1

 

6. 属性定义的语法

   <!ATTLIST element-name     //定义一组属性列表

     att_name type

   >

         

   ID   // ID类型,值唯一

   (|) ""   //列表类型

   CDATA //文本类型

   IDREF //引用另外一个ID属性的值(可以用自己的id),类似于数据库的外键,注意跟数据库没有关系

   #REQUIRED(非空)/#IMPLIED(可以为空)

 

7. XML中的特殊符号

   &(逻辑与)     &amp:        

   <(小于)    &It;        

   >(大于)    &gt;        

   "(双引号)      &quot;      

   '(单引号)      &apos;

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值