使用dtd定义元素 属性 实体

<?xml version="1.0" encoding="UTF-8"?>

<!-- 引入外部的dtd文件 -->
<!DOCTYPE Student SYSTEM "导入约束.dtd">

<Student>
    <name nameId="_98k"><!-- &dht; --> 我是实体</name>
    <age/>
    <sex sexId="AA">菜鸡</sex>
    <birthday birId="bir1">2.30</birthday>
    <team teamId="仁爱第三工作室">仁爱团队</team>
    <task taskId="玩滑板去啦">Happy!!</task>
</Student>

导入约束.dtd

<!ELEMENT Student (name+, age?, sex*, birthday+, team+, task*)>
        <!-- 属性定义格式:属性名称 属性类型 属性约束。属性就是标签里面的id, class...  -->

        <!-- 定义子元素类型。name 姓名  (#PCDATA): 字符串类型 -->
        <!ELEMENT name (#PCDATA)>
        <!-- 元素: name; 属性名称:nameId;属性类型: ID(只能以字母或者下划线开头);  属性约束:#REQUIRED(必须定义该属性(not null)) -->
        <!ATTLIST name nameId ID #REQUIRED>

        <!--  EMPTY: 空类型  -->
        <!ELEMENT age EMPTY>
        <!-- 属性类型: 字符串; 属性约束:#IMPLIED( 属性可有可无) -->
        <!ATTLIST age ageId CDATA #IMPLIED>

        <!-- ANY: 任意类型 -->
        <!ELEMENT sex ANY>
        <!-- 属性类型: 枚举;  -->
        <!ATTLIST sex sexId (AA|BB|CC) #REQUIRED>

        <!ELEMENT birthday (#PCDATA)>
        <!-- 属性类型:CDATA (字符串类型); -->
        <!ATTLIST birthday birId CDATA #REQUIRED>

        <!ELEMENT team (#PCDATA)>
        <!-- 属性约束:固定值(如果teamId属性存在,其值一定为固定值) -->
        <!ATTLIST team teamId CDATA  #FIXED "仁爱第三工作室">

        <!ELEMENT task (#PCDATA)>
        <!-- 属性约束:直接值(默认值,可更改,不写的时候采用此值) -->
        <!ATTLIST task taskId CDATA "只要学不死">

        <!-- 定义实体格式: <!ENTITY 实体名 "实体值"> -->
        <!ENTITY dht "董小天">
        <!-- 现在的浏览器都不怎么支持实体引用了,这是个无奈的现实。!!! 我就这样没了!? -->

        <!--
        举个栗子:<!ELEMENT name (#PCDATA)>

        简单元素类型:
            (#PCDATA): 字符串类型
            EMPTY:空类型
            ANY:任意类型
        ——————————————————————————————————————
        举个栗子:<!ELEMENT Student (name+,age?,sex*,birthday+)>

        元素间分隔符:
             , :复杂元素中子元素必须按顺序出现
             | : 只能出现其中的任意一个

        子元素出现的次数:
            + : 表示一次或者多次
            ? :表示零次或者一次
            * :表示零次或者多次
        ——————————————————————————————————————
        举个栗子:nameId ID #REQUIRED

        属性的约束:
            #REQUIRED:属性必须存在
            #IMPLIED:属性可有可无
            #FIXED "我是固定值": 属性值固定
            "我是直接值": 属性值默认,也可更改
        ——————————————————————————————————————
        -->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值