zoukankan      html  css  js  c++  java
  • XML DTD

    DTD

    Document Type Definition,文档类型定义,

    格式良好:满足XML最低规范的

    有效:通过DTD验证的文档称为有效

    文档类型定义

    <!DOCTYPE  根 SYSTEM "验证文档.dtd">

    外部DTD

    内部DTD

    空标记

    ANY

    混合元素

    自定义一般实体

    1、DTD如下:

    2、XML实体定义如下:

    高版本浏览器中实体定义方式xml内部

    属性

    格式:

    <!ATTLIST  元素名称  属性的名称  数据类型  附加条件>

    TIP:声明元素的时候,元素的数据类型是PCDATA

           属性的时候,属性的数据类型是CDATA

    属性的声明

    /*****************************************************************/

    <?xml version="1.0" encoding="UTF-8"?>
    <!ELEMENT books (book+)>
    <!ELEMENT book (#PCDATA)>
    <!ATTLIST book id ID #REQUIRED>
    <!ATTLIST book medium CDATA #FIXED '纸质'>
    <!ATTLIST book type CDATA '计算机'>
    <!ATTLIST book pub (北京大学出版社|工业出版社|邮电出版社) "北京大学出版社">
    <!ATTLIST book pagesize CDATA #IMPLIED>

    <books>
    <book id="B001" medium="纸质" pub="工业出版社" type="计算机" pagesize="300"/>
    <book id="B002" medium="纸质" pub="工业出版社" type="计算机" pagesize="300"/>
    </books>

    id必须是字母开头不能以数字开头

    /*****************************************************************/

    DTD 属性定义: %p 参数实体 就是一般实体前面加 % 

    <?xml version="1.0" encoding="UTF-8"?>
    <!ENTITY % p "test">
    <!ELEMENT roster ((%p;)+)>
    <!ELEMENT %p; (name,sex,birthday,score?,skill+)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT sex (#PCDATA)>
    <!ELEMENT birthday (#PCDATA)>
    <!ELEMENT score (#PCDATA)>
    <!ELEMENT skill (#PCDATA)>
    <!ATTLIST %p; id ID #REQUIRED>

     xml 

    <!DOCTYPE roster SYSTEM "demo11.dtd"[
    <!ENTITY % p "teacher">
    ]>
    <roster>
    <teacher id="t001">
    <name></name>
    <sex></sex>
    <birthday></birthday>
    <skill></skill>
    <skill></skill>
    </teacher>
    </roster>

    xml 2

    <!DOCTYPE roster SYSTEM "demo11.dtd"[
    <!ENTITY % p "student">
    ]>
    <roster>
    <student id="s001">
    <name></name>
    <sex></sex>
    <birthday></birthday>
    <skill></skill>
    </student>
    </roster>

  • 相关阅读:
    点击listview 的列头对其item进行自动排序
    将选择的图片显示在listview中,并显示filename,path和type
    【翻译】8 个可以节省时间的 C# 开发相关工具
    【原创】关于乘法运算的新思路
    【翻译】为什么我们要用抽象类?
    【翻译】如何使用 C# 的 BackgroundWorker
    【汉化】DevExpress插件中RichEdit控件的自定义汉化方法
    关于C#日期格式化问题
    C#获取(大陆)身份证基本信息的算法
    C#关于精确年龄的算法(精确到天)
  • 原文地址:https://www.cnblogs.com/yd09023/p/5875691.html
Copyright © 2011-2022 走看看