J2EE基础之dtd

简介: J2EE基础之dtd

1.什么是格式良好的XMl

1.1什么是XMl?

  • XML(Extensible Markup Language),中文为可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言
  • XML可以用来标记数据、定义数据类型,可以允许用户对自己标记语言进行定义,是对人和机器都比较友好的数据承载方式
  • 也可以用来进行数据交互

1.2为什么要用XMl

因为它是框架的重要组成部分,而框架能够提升效率,满足企业需求

1.3标准的XML格式

  • 有且只有一个根元素
  • XMl标签大小写正确区分
  • 正确使用结束标签
  • 正确嵌套标签
  • 使用合法的标签名
  • 定义有效的属性

2.使用DTD

2.1为什么要使用dtd约束

如果没有约束的话,那么用户不知道你的规则究竟是什么,从而达不到好的体验感

2.2 DTD声明

<!DOCTYPE [   ]>

声明用于定义 XML 文档的文档类型、元素、属性、数据类型等的规则。

2.3元素语法

元素的分类

  • <!ELEMENT  元素名称   EMPTY>-------------空元素     (一个标签例如:  <br/> )
  • <!ELEMENT 元素名称  (#PCDATA)>--------文本元素(只有内容没有子标签)
  • <!ELEMENT 元素名称 (子元素名称1,子元素名称2,...)>--------------混合元素    (有子标签)

元素的限制  

  • 并且关系 用 ' , '
  • 或者关系 |
  • 次数
  • 0次或者一次
  • + 一次或者多次
  • * 0次或者多次

2.4属性语法

<!ATTLIST root 属性 约束>

type属性类型

CDATA:表示属性值是字符数据可以是任意字符。

ID:表示属性值是唯一标识符(ID),用于唯一标识文档中的某个元素。

IDREF:表示属性值是另一个元素的唯一标识符(ID)引用。

IDREFS:表示属性值是多个 IDREF 的空格分隔列表。

NMTOKEN:表示属性值是名称令牌(NMTOKEN),只能包含字母、数字、下划线、连字符等标识符字符。

NMTOKENS:表示属性值是多个 NMTOKEN 的空格分隔列表。

ENTITY:表示属性值是实体引用名称(ENTITY)。

ENTITIES:表示属性值是多个实体引用名称(ENTITY)的空格分隔列表。

NOTATION:表示属性值是标注名称(NOTATION)。

(XXX|XXX):表示选择标签 ,在后面可以设置默认值,但默认值只能是括号内的。

3.设置说明

  • #REQUIRED:属性值必须在元素上出现。
  • #IMPLIED:属性值是可选的。
  • #FIXED value:属性值必须是固定值 value

注意:只有(XXX|XXX)选择标签的时候,desc才可以使用默认的方式并且写了默认值

下面是我写的一篇,可以参考一下😊😊😊

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons[
<!ELEMENT persons (person*)>
<!ELEMENT person (name,age,contact,br?)>
 <!ELEMENT name (#PCDATA)>
 <!ELEMENT age (#PCDATA)>
 <!ELEMENT contact (phone|email)>
 <!ELEMENT phone (#PCDATA)>
 <!ELEMENT email (#PCDATA)>
 <!ELEMENT br EMPTY>
 <!ATTLIST person
 pid ID #REQUIRED
 sex (男|女) "男"
 qq CDATA #IMPLIED
 parent IDREF #IMPLIED
 >
]>
<persons>
  <person pid="p1" sex="男" qq="aaa" parent="p2">
    <name>张小明</name>
    <age>10</age>
    <contact>
      <phone>1234567</phone>
    </contact>
    <br/>
  </person>
  <person pid="p2">
    <name>张大明</name>
    <age>35</age>
    <contact>
      <email>123@qq.com</email>
    </contact>
  </person>
</persons>

本期介绍结束了哦😜😜😜😜😜

目录
相关文章
|
XML 开发框架 JSON
J2EE基础XML(dtd)
J2EE基础XML(dtd)
59 0
|
XML 存储 开发框架
J2EE之XML(dtd篇超详细)
J2EE之XML(dtd篇超详细)
56 0
|
XML 设计模式 开发框架
J2EE(xml建模)
J2EE(xml建模)
53 0
|
XML 存储 开发框架
J2EE之XML解析(超详细)
J2EE之XML解析(超详细)
78 0
|
XML 数据格式
J2EE-XML建模(最详细之篇)
J2EE-XML建模(最详细之篇)
30 0
|
XML 设计模式 开发框架
J2EE之XML建模(超详细)
J2EE之XML建模(超详细)
50 0
|
XML 存储 开发框架
J2EE XML最详细解析
J2EE XML最详细解析
57 0
|
XML JSON 数据格式
J2EE&tdt&XML介绍
J2EE&tdt&XML介绍
|
XML 存储 开发框架
J2EE之XML建模
J2EE之XML建模
41 0
|
XML 开发框架 JavaScript
J2EE(XML的解析)
J2EE(XML的解析)
61 0