【代码笔记】XML深入学习:DTD约束与DTD语法(2)
2024-09-03 15:32:58
DTD语法之定义实体(了解即可)
- 实体分为一般实体和参数实体。
定义实体:定义变量
引用实体:使用变量
- 一般实体:定义实体在DTD中,实体引用在xml中。
- 参数实体:定义实体在DTD中,实体引用在DTD中(内部DTD不可行)。
- 定义一般实体: <!ENTITY 实体名 “实体值”>引用一般实体:
- 举例: <!ENTITY 大美女 “李冰”>
<student 学号=”ID_1001” 姓名=”王五” friend=”ID_1002” school=”&itcast;”/>
文件名: student3.xml
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<!--大家好,我是注释-->
<!--2015.12.29-->
<!DOCTYPE students SYSTEM "student3.dtd"> <students>
<student number="ID_1001" name="张三"/>
<student number="ID_1002" name="李四" sex="male"/>
<student number="ID_1003" name="王五" sex="female" friend="ID_1002"/>
<student number="ID_1004" name="&itcast;"/>
</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 "时孚出品">
- 定义参数实体: <!ENTITY % 实体名 “实体值”>
举例: <!ENTITY % 大美女 “李冰”>
- 引用参数实体:
<!ATTLIST %大美女>
相当于
<!ATTLIST 李冰>
在实际运行过程中,用猎豹浏览器结果报错:
百度到的结果是:
现在的浏览器对DTD实体的支持度不够,不能够完全兼容其标准。
同样的代码,在IE11里不会出错,但实体也不会显示,
在chrome里面则会显示未定义实体,
要想让实体正确显示,必须把DTD内置到XML里面而不是作为单独的文件。
用IE浏览器打开,果然没问题:
最后,实体调用"时孚出品"没有显示,头都炸了……这个——原因还没有找到,下次解决了再在博文里面说明吧。
最新文章
- ef join 用法
- Sql日期时间格式转换
- Android学习地址
- MapReduce的模式、算法和用例
- sprint2(第七天)
- MFC radio button 绑定变量用法
- Varnish 4.0
- CSDN的博客搜索功能不又给力了呵呵呵呵
- Raspberry pi connect temperature and humidity to onenet (移动云平台)
- git小技巧
- s21day07 python笔记
- coalesce :返回参数(列名)中第一个非NULL值的字段值
- Python之Numpy数组拼接,组合,连接
- UML - EA 序列图
- c#数据类型 与sql的对应关系 以及 取值范围
- LCD RGB 控制技术讲解 — 时钟篇(上)
- spring的权限控制,过滤器
- 2017多校第5场 HDU 6085 Rikka with Candies bitset
- MySQL auto_increment介绍 以及 查询和修改auto_increment的方法
- 数据挖掘算法之聚类分析(二)canopy算法