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


    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浏览器打开,果然没问题:

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

     

     

     

  • 相关阅读:
    call和applay
    判断传入的参数是否包含空
    通过函数修改文件中指定字符串
    任一个英文的纯文本文件,统计其中的每个单词出现的个数(注意是每个单词)
    下载进度条实现
    Python 用户登录判断,数据结构-字典
    python 字符串(str)和列表(list)互相转换
    网络编程01
    OpenGL入门学习
    程序的音频输出
  • 原文地址:https://www.cnblogs.com/xiaofu007/p/5087504.html
Copyright © 2020-2023  润新知