美文网首页
XML规范(3)--DTD限制

XML规范(3)--DTD限制

作者: 六亲不认的步伐 | 来源:发表于2020-03-26 14:15 被阅读0次

XML元素限制

DTD (Document Type Definition):文档类型定义
DTD作用:可以通过 DTD 验证的XML是"合法"的 XML。


DTD语法格式

1. DTD元素限制

关键字:ELEMENT
语法格式:<!ELEMENT element-name (child-name)>

<!ELEMENT C (ssh)>   <!--此处指定在C节点下必须存在ssh元素节点且只能出现一次-->
<!ELEMENT C (ssh+)>  <!--此处指定在C节点下必须存在ssh元素节点且至少出现一次-->
<!ELEMENT C (ssh*)>  <!--此处指定在C节点下可存在ssh元素节点出现任意次数(包含0次)-->
<!ELEMENT C (ssh?)>  <!--此处指定在C节点下ssh元素节点不出现或者只出现一次-->
<!ELEMENT C (ssh|telnet)>  <!--此处指定在C节点下必定出现其中(ssh或telnet元素)-->
<!ELEMENT C (ssh,telnet)>  <!--此处指定在C节点下必定先出现ssh元素一次,再出现telnet元素一次-->
<!ELEMENT C (#PCDATA)> <!--此处指定在C节点下输入字符数据->
符号 含义
PCDATA 被解析器解析的文本。这些文本将被解析器检查实体以及标记对于实体字符需要进行替换
CDATA C不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。
+ 出现一次或多次
* 出现任意次数
? 出现一次或不出现
, 指定出现顺序

参考资料:DTD 元素

2. DTD属性限制

关键字:ATTLIST
语法格式:<!ATTLIST element-name attribute-name attribute-type attribute-value>

<!ATTLIST C type CDATA "NTFS"><!---DTD限制(group1):NTFS是默认值,type属性未赋值时填入--> 
<C type="" /> </C><!---XML符合(group1)--> 
<C type="FAT32" /> </C><!---XML符合(group1)--> 
<!ATTLIST C type CDATA #REQUIRED><!---DTD限制(group2):type属性必须赋值-->
<C type="" /> </C><!---XML不符合(group2)--> 
<C type="FAT32" /> </C><!---XML符合(group2)--> 
<!ATTLIST C type CDATA #IMPLIED><!---DTD限制(group3):type属性可选-->
<C type="" /> </C><!---XML符合(group3)--> 
<C type="FAT32" /> </C><!---XML符合(group3)--> 
<C size="52GB" /> </C><!---XML符合(group3)--> 
 <!ATTLIST C type CDATA #FIXED "NTFS"> <!---DTD限制(group4):type属性拥有固定的值,并不允许修改-->
<C type="FAT32" /> </C><!---XML不符合(group4)--> 
<C type="NTFS" /> </C><!---XML符合(group4)--> 
<!ATTLIST C type (NTFS|FAT16|FAT32) "NTFS"> <!---DTD限制(group5):type属性枚举值,默认为NTFS-->
<C type="" /> </C><!---XML不符合(group5)--> 
<C type="FAT32" /> </C><!---XML符合(group5)--> 
<C type="NTFS" /> </C><!---XML符合(group5)--> 
符号 含义
CDATA 值为字符数据
(value1|value2|value3....) 此值是枚举列表中的一个值
ID 值为唯一的 id
IDREF 值为另外一个元素的 id
ENTITY 值是一个实体
ENTITIES 值是一个实体列表
xml: 值是一个预定义的 XML 值

参考资料:DTD 属性


第一篇:XML简介(1)--头部声明
第二篇:XML编写(2)--语法要求
第四篇:XML引用(4)--DTD应用
第五篇:XXE基础(1)--实体类别
第六篇:XXE利用(2)--漏洞实现
第七篇:XXE后记(3)--抛砖引玉

相关文章

  • XML规范(3)--DTD限制

    XML元素限制 DTD (Document Type Definition):文档类型定义DTD作用:可以通过 D...

  • XML约束

    xml约束:规范了xml文件数据内容格式的编写规则 xml约束技术: DTD约束:语法相对简单,功能也相对简单 s...

  • jsp页面中无法使用el表达式获取值

    使用最新的Servlet3.1规范,不要使用默认的2.3dtd,修改web.xml文件修改web.xml 里面约束...

  • XML类别及解析XML的几种方式

    XML约束文档分为DTD,Schema两种格式 DTD DTD(Document Type Definition)...

  • JavaWeb (day6)

    1.schema 约束 1.dtd 语法: 2.schema符合 xml 的语法,xml 语句3.一个 xml 中...

  • DTD概念

    DTD文档定义 DTD元素定义 DTD属性定义 DTD实体引用定义 XML和DTD 文中大写是强制的,请务必遵守。...

  • XXE——参数实体攻击(CVE-2017-14949)

    XML参数实体 参数实体必须定义在单独的DTD文档中或XML文档的DTD区(但是引用只能在DTD文档中,即外部子集...

  • XML(二)XML约束

    XML约束 DTD DTD(Document Type Define),dtd文件中描述并规定了元素、属性和其他内...

  • Eclipse使用

    添加dtd文件 Window => Preferences => XML XML Catalog => add 例...

  • XML的验证模式DTD与XSD的区别

    xml文件的正确性是由xml的验证模式来保证的,比较常见的验证模式有两种:DTD和XSD。 1.DTD: DTD(...

网友评论

      本文标题:XML规范(3)--DTD限制

      本文链接:https://www.haomeiwen.com/subject/lpwquhtx.html