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

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

定义实体:定义变量

引用实体:使用变量

  1. 一般实体:定义实体在DTD中,实体引用在xml中。
  2. 参数实体:定义实体在DTD中,实体引用在DTD中(内部DTD不可行)。
  3. 定义一般实体: <!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 "时孚出品">
  1. 定义参数实体: <!ENTITY % 实体名 “实体值”>

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

  1. 引用参数实体:

<!ATTLIST %大美女>

相当于

<!ATTLIST 李冰>

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

百度到的结果是:

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

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

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

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

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

 最后,实体调用"时孚出品"没有显示,头都炸了……这个——原因还没有找到,下次解决了再在博文里面说明吧。
 
 
 

【代码笔记】XML深入学习:DTD约束与DTD语法(2)的更多相关文章

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

    2015-12-27 文件名    student.xml <?xml version="1.0" encoding="GB2312" standalon ...

  2. 【代码笔记】Java学习一阶段总结

    写笔记需要打开eclipse写 哈哈哈哈,不然写什么都屡不清了 ……还需要打开API说明文档. JFrame 窗体组件. JFrame里面常用的函数: setSize 设置窗体大小 setDefaul ...

  3. XML的DTD约束

    DTD约束:DTD的声明和引用 1.内部DTD文档 <!DOCTYPE 根元素 [定义内容]> 2.外部DTD文档 <!DOCTYPE 根元素 SYSTEM "DTD文件路 ...

  4. Struts2配置dtd约束

    Struts2和Struts1的区别: 一.elclipse-ee开发 搭建环境eclipse-ee 1.加入jar包  apps/struts2-blank.war解压 2.在web.xml文件中配 ...

  5. XML的学习

    XML是可扩展标记语言德意思,它和HTML一样都是标记语言(标签语言),不同之处在于XML可拓展,何为可拓展?在HTML中每个标签都有其特定的含义,我们不可以随便写一个标签并赋予其意义,而XML中就可 ...

  6. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  7. XML&DTD&XML Schema学习

    XML(eXtensible Markup Language)可扩展的标记语言.xml在web service编程中尤为重要.在网络传输中可以作为传输数据的载体.xml作为元语言,它可以用来标记数据. ...

  8. XML约束之DTD

    XML文件的约束:什么叫约束呢?顾名思义,就是对xml文件的内容进行按照既定规则的限制.我们知道,因为xml文件的标签是可以自定义的,而往往我们用xml文件都是为了表达一定的数据集合(即小型的数据库) ...

  9. 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 ...

随机推荐

  1. adb命令connect设备必须添加端口号

    Android开发,一般使用adb远程连接设备,习惯性一个命令: adb connect 10.100.1.202 这几天发现一个问题,同一个命令,提示错误: adb connect 10.100.1 ...

  2. Jquery each ajax 赋值

    <script type="text/javascript"> $(document).ready(function () { $("#mylist li s ...

  3. 实现bootstrap的dropdown-menu(下拉菜单)点击后不关闭的方法 (转)

    实现bootstrap的dropdown-menu(下拉菜单)点击后不关闭的方法 问题描述,在下拉菜单中,添加其他元素,例如,原文作者所述的<a>和我自己实际用到的<input> ...

  4. [BZOJ 5415] 归程

    一棵KrusKal重构树,然而我数组开小了,忘记清空一个标记 洛谷传送门 BZOJ传送门 ......好像成权限题了Orz 回顾我们用KrusKal做生成树的时候,我们将边排序后连通各个连通块,那么边 ...

  5. mysql 命令连接

    远程登陆MySQL,同时指定对应的端口和ip. 假设远程的ip为:10.154.0.43 端口为:1341 输入如下命令: mysql -h 10.154.0.43 -P 1341 -u root - ...

  6. 用 Koa 提供 Restful service 和查询 MongoDB 的例子

    const path = require('path'); const Koa = require('koa'); const app = new Koa(); const compose = req ...

  7. [转] Akka实战:构建REST风格的微服务

    [From] http://www.yangbajing.me/2015/11/27/akka%E5%AE%9E%E6%88%98%EF%BC%9A%E6%9E%84%E5%BB%BArest%E9% ...

  8. [转] git忽略已经被提交的文件

    [From] https://segmentfault.com/q/1010000000430426 正确的做法应该是:git rm --cached logs/xx.log,然后更新 .gitign ...

  9. Dubbo解析及原理浅析

    原文链接:https://blog.csdn.net/chao_19/article/details/51764150 一.Duboo基本概念解释 Dubbo是一种分布式服务框架. Webservic ...

  10. VIRTIO概述和基本原理

    http://smilejay.com/2012/11/virtio-overview/ (KVM连载)5.1.1 VIRTIO概述和基本原理(KVM半虚拟化驱动) 11/15/2012MASTER  ...