【代码笔记】XML深入学习:DTD约束与DTD语法(2)
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浏览器打开,果然没问题:

【代码笔记】XML深入学习:DTD约束与DTD语法(2)的更多相关文章
- 【代码笔记】XML深入学习:DTD约束与DTD语法(1)
2015-12-27 文件名 student.xml <?xml version="1.0" encoding="GB2312" standalon ...
- 【代码笔记】Java学习一阶段总结
写笔记需要打开eclipse写 哈哈哈哈,不然写什么都屡不清了 ……还需要打开API说明文档. JFrame 窗体组件. JFrame里面常用的函数: setSize 设置窗体大小 setDefaul ...
- XML的DTD约束
DTD约束:DTD的声明和引用 1.内部DTD文档 <!DOCTYPE 根元素 [定义内容]> 2.外部DTD文档 <!DOCTYPE 根元素 SYSTEM "DTD文件路 ...
- Struts2配置dtd约束
Struts2和Struts1的区别: 一.elclipse-ee开发 搭建环境eclipse-ee 1.加入jar包 apps/struts2-blank.war解压 2.在web.xml文件中配 ...
- XML的学习
XML是可扩展标记语言德意思,它和HTML一样都是标记语言(标签语言),不同之处在于XML可拓展,何为可拓展?在HTML中每个标签都有其特定的含义,我们不可以随便写一个标签并赋予其意义,而XML中就可 ...
- .net学习笔记---xml基础知识
一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...
- XML&DTD&XML Schema学习
XML(eXtensible Markup Language)可扩展的标记语言.xml在web service编程中尤为重要.在网络传输中可以作为传输数据的载体.xml作为元语言,它可以用来标记数据. ...
- XML约束之DTD
XML文件的约束:什么叫约束呢?顾名思义,就是对xml文件的内容进行按照既定规则的限制.我们知道,因为xml文件的标签是可以自定义的,而往往我们用xml文件都是为了表达一定的数据集合(即小型的数据库) ...
- xml语法、DTD约束xml、Schema约束xml、DOM解析xml
今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...
随机推荐
- python创建virtualenv虚拟环境
pip install virtualenv virtualenv env_py36_crawl env_py36_crawl\Scripts\activate deactivate pip free ...
- MongoDB集群配置笔记
firewall-cmd --query-port=27017/tcp yum install system-config-firewall-tui firewall-cmd --zone=publi ...
- (C/C++) 基本排序法
C++ Class 宣告 class Sort{ private: void Merge(int *arr, int front, int mid, int end); int Partition(i ...
- Jmeter HTTPS接口测试的证书导入
HTTP和HTTPS测试时稍有不同,HTTPS需要加载证书,端口也不一样,操作如下: 1. 下载被测网址证书导入 测试时用的是谷歌浏览器 生成.cer后缀的文件 2. 把导出的证书转换成.store格 ...
- 扩增子分析QIIME2. 1简介和安装
原网站:https://blog.csdn.net/woodcorpse/article/details/75103929 声明:本文为QIIME2官方帮助文档的中文版,由中科院遗传发育所刘永鑫博士翻 ...
- LOJ6503. 「雅礼集训 2018 Day4」Magic(容斥原理+NTT)
题目链接 https://loj.ac/problem/6503 题解 题中要求本质不同的序列数量,不太好搞.我们考虑给相同颜色的牌加上编号,这样所有牌都不相同.那么如果我们求出了答案,只需要将答案除 ...
- c# IList.ToList()后更改元素值会不会影响原列表的值
class ListTest { public static void Test() { #region 值类型 var oListVal = new List<int>() { ,,, ...
- PIE SDK元素的删除
1功能简介 元素删除是将根据需求将不符合的元素进行删除,PIE SDK支持元素的删除操作,下面对元素的删除功能进行介绍. 2功能实现说明 2.1.1 实现思路及原理说明 第一步 获取已经选择的元素 第 ...
- python 网页爬取数据生成文字云图
1. 需要的三个包: from wordcloud import WordCloud #词云库 import matplotlib.pyplot as plt #数学绘图库 import jieba; ...
- pyspark 读写csv、json文件
from pyspark import SparkContext,SparkConf import os from pyspark.sql.session import SparkSession de ...