DTD约束和SCHEMA约束

DTD约束:
    和xml的关联   
        方式1:内部关联
            格式:
                <!DOCTYPE 根元素名 [dtd语法]>
        方式2:外部关联-系统关联
            格式:
                <!DOCTYPE 根元素名 SYSTEM "约束文件的位置">
            例如:
                <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
        方式3:外部关联-公共关联
            格式:
                <!DOCTYPE 根元素名 PUBLIC "约束文件的名称" "约束文件的位置">

dtd语法
    元素:<!Element 元素名称 数据类型|包含内容>
            数据类型:
                #PCDATA:普通文本 使用的时候一般用()引起来
            包含内容:
                该元素下可以出现那些元素 用()引起来
        符号:
            *    出现任意次
            ?    出现1次或者0次
            +    出现至少1次
            |   或者
            ()      分组
            ,    顺序

    属性:

      格式:<!ATTLIST 元素名 属性名 属性类型 属性是否必须出现>
        属性类型:
            ID:唯一
            CDATA:普通文本
        属性是否必须出现
            REQUIRED:必须出现
            IMPLIED:可以不出现
    
    一个xml文档中只能添加一个DTD约束

SCHEMA约束:
    一个xml文档中可以添加多个schema约束
    xml和schema的关联.
        格式:
            <根标签 xmlns="..." ...>
            <根标签 xmlns:别名="..." ...>
    名称空间:
        关联约束文件
        规定元素是来源于那个约束文件的
    例如:
        一个约束文件中规定 table(表格)  表格有属性 row和col
        还有一个约束文件规定 table(桌子) 桌子有属性 width和height
        
        在同一个xml中万一我把两个约束文件都导入了,
            在xml中我写一个table,这个table有什么属性????
        我们为了避免这种情况的发生,可以给其中的一个约束起个别名
        使用的时候若是没有加别名那就代表是来自于没有别名的约束文件
            例如 table(表格) 给他起个别名  xmlns:a="..."
            在案例中使用 a:table 代表的是表格
            若在案例中直接使用 table 代表的是桌子
        在一个xml文件中只能有一个不起别名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值