JavaWeb学习笔记-XML-2

8 篇文章 0 订阅

XML约束

DTD约束
对xml文件进行验证
1、事例
book.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
    <>
        <书名></书名>
        <作者></作者>
        <售价></售价>
    </>
</书架>

book.dtd

<!ELEMNET 书架 (书+)>
<!ELEMNET 书 (书名,作者,售价)>
<!ELEMNET 书名 (#PCDATA)>
<!ELEMNET 作者 (#PCDATA)>
<!ELEMNET 售价 (#PCDATA)>

2、引用
DTD可以在xml文件内部或写在.dtd文件内

引用本地文件

<!DOCTYPE 文档根节点 SYSTEM "DTD文件URL">

引用公共文件

<!DOCTYPE 文档根节点 PUBLIC "DTD名称" "DTD文件url">

3、语法细节
a、元素定义

<!ELEMENT 元素名称 元素类型>

元素类型可以是内容或类型

<!--元素内容,需要使用()-->
<!ELEMNET 书 (书名,作者,售价)>
<!ELEMNET 书名 (#PCDATA)>
<!--元素类型,直接书写,空元素:EMPTY,任意内容:ANY-->

b、元素内容

<!--用逗号分隔,表示内容出现顺序必须与声明时一致-->
<!ELEMNET MYFILE (TITLE,AUTHOR,EMAIL)>
<!--|分隔,表示任选一个,多个只能出现一个-->
<!ELEMNET MYFILE (TITLE|AUTHOR|EMAIL)>
<!--"+"、"*"、"?"表示符号出现次数-->
<!--"+"表示符号出现一次或多次(书+)-->
<!--"?"表示符号出现0次或一次(书?)-->
<!--"*"表示符号出现0次或多次(书*)-->
<!------------------------------->
<!--使用圆括号()批量设置-->
<!ELEMENT MYFILE ((TITLE*,AUTHOR?,EMAIL)*|COMMENT)>

3、属性定义ATTLIST

<!ATTLIST 元素名
    属性名1 属性值类型 设置说明
    属性名2 属性值类型 设置说明
>
<!--设置说明-->
<!--必须:#REQUIRED;可选:#IMPLIED;固定值:#FIXED-->
<!--未写,表示默认值-->
<!----------------------->
<!--属性值类型-->
<!--PCDATA:普通字符串-->
<!--ENUMERATED:枚举类型的某个值-->
<!ATTLIST 肉 品种 (鸡肉|牛肉|猪肉|狗肉) "鸡肉">
<!--ID:唯一,以字母开头-->
<!--ENTITY:实体类型,引用实体,参数实体-->
<!--实体定义(引用实体)-->
<!ENTITY copyright "I am a programmer">
<!--引用引用实体-->
<!--&copyright-->
<!--实体定义(参数实体)-->
<!ENTITY % 实体名称 "实体内容">
<!--引用参数实体-->
<!--%实体名称;-->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值