欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Javaweb-xml基础2(学习笔记)

程序员文章站 2022-05-08 13:16:13
...

一、XML约束概述

在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称为XML约束。常见的约束技术:XML-DTD,XML schema

二、DTD约束

DTD(Document Type Definition),文档类型定义。

实例说明:

(1)book.dtd文件内容

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

说明:

---文件保存时因为存在中文,所以编码格式选择UTF-8格式;

---“ELEMENT”元素,表示要在xml文件中声明一个标签;

---“()"表示书架里面还可以放什么;

---“书+”代表可以有多本书;

---“PCDATA”parse character data,可解析的字符数据,就是字符串,表示声明里面只能放字符串。

-------------------------------------------------------------------------------------------------------

(2)book.xml文件内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 书架 SYSETEM "book.dtd">
<书架>
   <书>
         <书名>数据结构</书名>
         <作者>严蔚敏</作者>
         <售价>39.0元</售价>
   </书>
   <书>
         <书名>大话设计模式</书名>
         <作者>程杰</作者>
         <售价>45.0</售价>
   </书>
</书架>

说明:

---xml文件内容必须遵循.dtd文件中的内容进行书写;

---xml文件使用DOCTYPE声明语句来指明它所遵循的DTD文件;

---IE浏览器会忽视掉约束关系,不能用于校验xml文档;

---使用eclipse校验xml文档,将两个文件拷贝到eclipse中,不遵循dtd内容时,会显示红色。

注:如何写dtd文件还不是我们关注的内容,开发阶段不需要写dtd文档,做框架时才需要编写,但是我们应该读懂DTD文档。

---DICTYPE声明语句有两种形式:

①引用的文件在本地,<!DOCTYPE 书架 SYSTEM“book.dtd'>(书架是文档根节点,book.dtd是DTD文件的URL)

②引用的文件是一个公共的文件,<!DOCTYPE 文档根节点 PUBLIC'DTD名称"”DTD文件的URL“>

-----------------------------------------------------------------------------------------------------------

(3)DTD的语法细节

---用逗号隔开,表示内容的出现顺序必须与声明时一致:

<!ElEMENT MYFILE(TITLE,AUTHOR,EMAIL)>

---用|分隔,表示任选其一,即多个只能出现一个:

<!ELEMENT MYFILE(TITLE|AUTHOR|EMAIL)>

---在元素内容中也可以使用+、*、?等符号表示元素出现的次数:

+:一次或多次

?:零次或一次

*:零次或多次

无符号:只能出现一次

---也可以使用圆括号()批量设置:

<!ELEMENT MYFLIE ((TITLE*,AUTHOR?,EMAIL)*|COMMENT)>