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 ...
随机推荐
- 通过重复运行的Microsoft Flow由OAuth认证后获取Access Token并将其更新到实体记录
我是微软Dynamcis 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- Windows命令行打开文件夹图形界面
1.打开当前目录 explorer . 2.打开上级目录 explorer .. 3.打开任意目录 explorer dirname
- c冒泡排序
外层循环需要循环和len一样的次数 //定义一个函数,该函数返回NSString void bubbleSort(int nums[],unsigned long len) { //控制本轮循环是否发 ...
- 剑指offer 19:二叉树的镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 解题思路 这一问题明显,在进行递归遍历节点时,将根节点的左右子树进行交换,因此完成树的遍历即可. C++实现代码 /* ...
- 【LeetCode】650. 只有两个键的键盘
只有两个键的键盘 最初在一个记事本上只有一个字符 'A'.你每次可以对这个记事本进行两种操作: 1.Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的). 2. ...
- 软工个人项目(Java实现)
一. Github地址: https://github.com/RuiBingo/PersonalWork 二.个人PSP表格: PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Plan ...
- LVM 在线扩容磁盘(ubuntu 14.04 server)
mware workstation 8 或者 vmware vsphere client 6.0( exsi 6.0) (前提:你的服务器需要有已经存在的卷组,才可以添加新的物理卷到卷组,然后再扩容逻 ...
- 28.Java基础_抽象类
抽象类的成员特点 public abstract class Animal { private String name; private int age; public Animal() { } pu ...
- day64_10_8 vue的导入
一.简介 vue是一个渐进式的js框架.具体介绍查看官网: https://cn.vuejs.org 在vue框架中,有两个文件,当在开发阶段时使用完整版vue,因为有报错信息,而在上市阶段可以使用m ...
- CF812C Sagheer and Nubian Market
CF812C Sagheer and Nubian Market 洛谷评测传送门 题目描述 On his trip to Luxor and Aswan, Sagheer went to a Nubi ...