0
点赞
收藏
分享

微信扫一扫

dtd约束规则(上)

楠蛮鬼影 2022-03-30 阅读 54
xmljava

dtd约束规则(上)

dtd的快速入门

  • 创建一个文件 后缀名 .dtd

    步骤:
    (1)看xml中有多少个元素 ,有几个元素,在dtd文件中写几个 <!ELEMENT>
    (2)判断元素是简单元素还是复杂元素
    - 复杂元素:有子元素的元素
    <!ELEMENT 元素名称 (子元素)>
    - 简单元素:没有子元素
    <!ELEMENT 元素名称 (#PCDATA)>
    (3)需要在xml文件中引入dtd文件

    ** 打开xml文件使用浏览器打开的,浏览器只负责校验xml的语法,不负责校验约束

    ** 如果想要校验xml的约束,需要使用工具(myeclipse工具)

    ** 打开myeclipse开发工具
    *** 创建一个项目 day05
    *** 在day05的src目录下面创建一个xml文件和一个dtd文件
    *** 当xml中引入dtd文件之后,比如只能出现name age,多写了一个a,会提示出错。

dtd的三种引入方式

(1)引入外部的dtd文件
	<!DOCTYPE 根元素名称 SYSTEM "dtd路径">
(2)使用内部的dtd文件
	- <!DOCTYPE 根元素名称 [
		<!ELEMENT person (name,age)>
		<!ELEMENT name (#PCDATA)>
		<!ELEMENT age (#PCDATA)>
	]>
(3)使用外部的dtd文件(网络上的dtd文件)
	<!DOCTYPE 根元素 PUBLIC "DTD名称" "DTD文档的URL">
	- 后面学到框架 struts2 使用配置文件 使用 外部的dtd文件
	- <!DOCTYPE struts PUBLIC   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    
	   "http://struts.apache.org/dtds/struts-2.0.dtd">

使用dtd定义元素

  • 语法: <!ELEMENT 元素名 约束>

    • 简单元素:没有子元素的元素 <!ELEMENT name (#PCDATA)> *** (#PCDATA): 约束name是字符串类型
      *** EMPTY : 元素为空(没有内容)
      -
      *** ANY:任意
    • 复杂元素: <!ELEMENT person (name,age,sex,school)>
        - 子元素只能出现一次
      
      • <!ELEMENT 元素名称 (子元素)>
      • 表示子元素出现的次数

        • : 表示一次或者多次
          ? :表示零次或者一次
        • :表示零次或者多次
      • 子元素直接使用逗号进行隔开 ,
        ** 表示元素出现的顺序

      • 子元素直接使用|隔开
        ** 表示元素只能出现其中的任意一个

举报

相关推荐

0 条评论