dtd语法
dtd语法
<!ELEMENT 元素名 约束>
//简单元素三种:没有子元素的元素
eg:
<!ELEMENT name (#PCDATA)>
(#PCDATA):约束name是字符串类型
EMPTY:元素为空
ANY:任意
//复杂元素:
eg:
<!ELEMENT person (name,age)>
//表示元素只能出现一次
//表示元素出现次数
+ : >=1
? : 0||1
* : 任意
eg:
<!ELEMENT person (name*,age?)>
//表示元素出现的顺序
,
//只能出现元素中的一个
|
eg:
<!ELEMENT person (name*|age?)>
使用dtd定义属性
//语法:<!ATTLIST 元素名称 属性名称 属性类型 属性的约束>
//属性类型
- CDATA:字符串
eg:
<!ATTLIST name ID2 CDATA #REQUIRED>
<name ID2="cac">laowang</name>
- 枚举:只能在一定范围内出现,但是每次只能出现一个
eg:(aa|bb|cc)
<!ATTLIST age ID (aa|bb|cc) #REQUIRED>
<age ID="aa">25</age>
-ID:值只能是字母或者下划线开头
eg:
<!ATTLIST birthday ID3 ID #REQUIRED>
<birthday ID3="A12">1111</birthday>
//属性的约束
- #REQUIRED: 属性必须存在
- #IMPLIED: 属性可有可无
- #FIXED: 表示固定的一个值 #FIXED "AAA"
- 属性的值必须是设置的固定值
- 直接值(默认值)
eg:
<!ATTLIST name ID2 CDATA "aaa">
属性值默认为 aaa
dtd实体的定义
//语法:<!ENTITY 实体名称 "实体的值">
//<!ENTITY TEST "HAHAHA">
//实体的使用:&实体名称; 比如 &TEST;
//实体最好定义在xml中
dtd语法的更多相关文章
- 【代码笔记】XML深入学习:DTD约束与DTD语法(2)
DTD语法之定义实体(了解即可) 实体分为一般实体和参数实体. 定义实体:定义变量 引用实体:使用变量 一般实体:定义实体在DTD中,实体引用在xml中. 参数实体:定义实体在DTD中,实体引用在DT ...
- 【代码笔记】XML深入学习:DTD约束与DTD语法(1)
2015-12-27 文件名 student.xml <?xml version="1.0" encoding="GB2312" standalon ...
- XML中的DTD语法
DTD(Document Type Definition),全称为文档类型定义. 文件清单:book.xml <?xml version="1.0" ?> <!D ...
- XML DTD语法详解
XML DTD详解 XML DTD详解 前情提要与本文内容介绍 前面的两篇XML相关博文: 第一篇是介绍格式正规的XML: 格式正规的XML:语法 属性 实体 处理指令 样式单 CDATA节 第二 ...
- dtd语法之定义属性
1.语法: <!ATTLIST 元素名称 属性名称 属性类型 默认值> 属性类型: l CDATA :文本数据 l (en1|en2|……) :属性值任选其一 l ID :属性值必须是唯 ...
- dtd语法之定义元素
1.语法:<!ELEMENT 元素名 使用规则> 使用规则: l (#PCDATA) :表示内容为普通文本数据 l EMPTY :表示元素内容必须为空 l ANY :元素出现任意次,一般用 ...
- XML DTD跟SCHEMA约束 语法了解
dtd语法 元素: <!Element 元素名称 数据类型|包含内容> 数据类型: #PCDATA:普通文本 使用的时候一般用()引起来 包含内容: 该元素下可以出现哪些元素, 用()引起 ...
- 【JAVA与XML、dtd约束、Schema约束】
一.XML. (1)XML:Extensible Markup Language (2)XML是一种标记语言. (3)XML的设计宗旨是传输数据,而不是显示数据. (4)XML标签没有被预定义,即使用 ...
- 【PHP XML与dtd概述【完整版】】
一.XML文件简介 关于XML的大多数人都知道一些,HTML->xhtml->xml,这个顺序本来应当是HTML发展的顺序. XML可以当做配置文件使用,还可以充当小型的数据库. vers ...
随机推荐
- [Go] tcp服务下的数据传递
go中实现一个tcp服务,首先是要监听端口,接收请求,这个地方会被阻塞等待当客户端连接过来,会开一个grountine去处理这条客户端的tcp连接,因此可以同时处理多条连接 在连接中,要循环的去读取客 ...
- [视频教程] 配置mysql用户的权限并查询数据
MySQL安装后,需要允许外部IP访问数据库.修改加密配置与增加新用户,配置用户权限修改配置文件,增加默认加密方式的配置项. 当连接数据库的时候会报验证方法不存在的错误,这是因为新版本mysql的加密 ...
- 渗透测试学习 十七、 XSS跨站脚本漏洞详解
一般用途:拿cookie进后台,将后台地址一起发送过来 特点:挖掘困难,绕过困难 大纲: XSS漏洞基础讲解 XSS漏洞发掘与绕过 XSS漏洞的综合利用 XSS漏洞基础讲解 XSS介绍: 跨站脚 ...
- java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E' for column 'name' at row 1
我的错误案例: ,这个后台插不进去,就姓名那栏的中文编码问题. 遇到这个错误,应该是创建表的时候没有设置好编码,这个错误不用多想,我也试过在更改表那里设置编码,但还是不行,还是有残留 直接drop t ...
- 【tf.keras】tf.keras模型复现
keras 构建模型很简单,上手很方便,同时又是 tensorflow 的高级 API,所以学学也挺好. 模型复现在我们的实验中也挺重要的,跑出了一个模型,虽然我们可以将模型的 checkpoint ...
- glibc-static
yum install glibc-static yum install libstdc++-static
- 【转】理解并设计rest/restful风格接口
网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致AP ...
- 【香甜的黄油 Sweet Butter】
[香甜的黄油 Sweet Butter] 洛谷P1828 https://www.luogu.org/problemnew/show/P1828 JDOJ 1803 https://neooj.com ...
- Django Form 内置字段
常用字段: Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 ...
- 有缓存区的管道channel
package main import ( "fmt" "time" ) func main() { //创建一个有缓存区的管道 ch := make(chan ...