dtd约束

本文深入探讨了XML文档的基本语法、DTD文件的作用及其在XML文档中的应用,包括元素、属性、实体的定义与约束。重点阐述了XML文档声明、DTD约束等内容,以及如何通过DTD约束来规范XML文档的结构和内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

XML原始标记语言 一个dtd文件就是一个新的xml语言 设计目标:数据的存储和传输

dtd : 下列是xml的基本语法格式:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>声明 version="1.0"版本 encoding="utf-8"编辑方式 standalone表明该文档不依赖外部的DTD文件

<!DOCTYPE 跟标记名称  [ 内容]>内部的dtd

//<!DOCTYPE 跟标记名称 SYSTEM "dof.dtd">引入外部的DTD文件,这个文件属于私有的

<跟标记>

<></>

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

</跟标记>

dtd主要是对xml文档起约束作用

dtd:定义能够在xml文档中出现的元素和其相关的属性。下列是有关xml文档的格式

首先是声明:<?xml version="1.0" encoding="utf-8"?>

再是DTD约束:<!DOCTYPE 跟标记名称 [约束内容]>这个属于内部约束格式dtd

<!DOCTYPE 跟标记名称 SYSTEM ("sfoe.dtd")>这个属于外部约束dtd文件的引用

约束的内容:<!ELEMENT 元素名 类型>

<!ATTLIST 元素名 属性 类型  keyword "默认值">定义属性

<!ENTITY %实体名 "实体值">定义实体 实体的作用:1提高代码的复用,方便修改,维护xml文档。2使用某些特殊的符号,这些符号可能使xml解析器混淆。3减少字符输入量,如果某个字符串特别长,而且经常使用,可以定义为实体。 实体的引用:&实体名;注意的是“&”符号和“;”。

此外约束中的内容都要应用到xml文档中,并且xml也必需遵循约束的内容。

再是:xml的主要内容:<根标签>

<></>

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

</根标签>约束内经常定义的类型、属性和实体:<!ELEMENT br EMPTY>  空元素的定义 在xml中使用时:<br/>或<br></br>

<!ELEMENT 元素名 (#PCDATA)>此定义没有字标记而且是文本内容 注意的是:元素名和后面的括号内容之间有空格后面文本定义要加括号

<!ELEMENT 父元素的名称 (#PCDATA| 元素1|元素2|元素3|......)*>解释:()*表示括号中的内容可以出现0次或多次,|表示互斥的意思。#PCDATA定义为文本格式

例:<!ELEMENT 学生(学号,姓名)>学号和姓名是学生的子标记,这里的定义在xml文档中不是文本的而且内容只能出现一次,并且是按照顺序依次出现的

在元素后加*表示可出现0次或多次,加+号表示可出现1次或多次,加?可有可无(可出现0次或1次)

有序元素(a,b),互斥元素(a|b)和无序元素(a,b)*、(a,b)+、(a,b)?

属性限定条件:#REQUIRED必需的#IMPEIED可有可无的#FIXED固定值

实体:用名字来代替符号 例如定义这样的实体: content="详细内容的介绍" 可以在xml中这样应用:&content;

实体的分类:实体可分为:可解析的,不可解析的

内部实体,外部实体

一般实体,参数实体

普通实体语法:<!ELEMENT 实体名 "实体值">

使用:&实体名;

<!ELEMENT title"所有计算机书籍的列表"

参数实体语法:<!ELEMENT %实体名 "实体值">引用时和普通实体相同

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值