码迷,mamicode.com
首页 > 其他好文 > 详细

【代码笔记】XML深入学习:DTD约束与DTD语法(2)

时间:2015-12-30 00:16:36      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

DTD语法之定义实体(了解即可)

 

  1. 实体分为一般实体参数实体

定义实体:定义变量

引用实体:使用变量

  1. 一般实体:定义实体在DTD中,实体引用在xml中。
  2. 参数实体:定义实体在DTD中,实体引用在DTD中(内部DTD不可行)。
  3. 定义一般实体 <!ENTITY 实体名 “实体值”>引用一般实
    • 举例:  <!ENTITY  大美女 “李冰”>

<student 学号=”ID_1001” 姓名=”王五” friend=”ID_1002” school=”&itcast;”/>

文件名:    student3.xml

 1 <?xml version="1.0" encoding="GB2312" standalone="no"?>
 2 <!--大家好,我是注释-->
 3 <!--2015.12.29-->
 4 <!DOCTYPE students SYSTEM "student3.dtd">
 5 
 6 
 7 <students>
 8     <student number="ID_1001" name="张三"/>
 9    <student number="ID_1002" name="李四" sex="male"/>
10     <student number="ID_1003" name="王五" sex="female" friend="ID_1002"/>
11     <student number="ID_1004" name="&itcast;"/>
12 </students>

文件名:    student3.dtd

<!--大家好,我是注释-->
<!--2015.12.29-->


<!ELEMENT students (student+)>
<!ELEMENT student EMPTY>
<!ATTLIST  student number ID #REQUIRED>
<!ATTLIST  student name CDATA #REQUIRED>
<!ATTLIST  student sex (male | famale) "male">
<!ATTLIST  student friend IDREF #IMPLIED>
<!ENTITY  itcast "时孚出品">
  1. 定义参数实体 <!ENTITY % 实体名 “实体值”>

举例:  <!ENTITY  % 大美女 “李冰”>

  1. 引用参数实体:

<!ATTLIST %大美女>

相当于

<!ATTLIST 李冰>

 在实际运行过程中,用猎豹浏览器结果报错:

技术分享

百度到的结果是:

现在的浏览器对DTD实体的支持度不够,不能够完全兼容其标准。

同样的代码,在IE11里不会出错,但实体也不会显示,

在chrome里面则会显示未定义实体,

要想让实体正确显示,必须把DTD内置到XML里面而不是作为单独的文件。

用IE浏览器打开,果然没问题:

技术分享
 
 
 
 

 

 

 

【代码笔记】XML深入学习:DTD约束与DTD语法(2)

标签:

原文地址:http://www.cnblogs.com/xiaofu007/p/5087504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!