您的位置:首页 > 编程语言 > Java开发

JavaWeb学习笔记-XML-2

2017-11-05 19:12 423 查看

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
a673
(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">
<!--引用引用实体-->
<!--©right-->
<!--实体定义(参数实体)-->
<!ENTITY % 实体名称 "实体内容">
<!--引用参数实体-->
<!--%实体名称;-->
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: