DTD声明- ELEMENT 语法 <! ELEMENT name content category>或者 <!ELEMENT name (content model) cardinality> name是被描述的元素名,必须为合法XML名字 后面参数描述了name元素可以包含那些内容和或子元素 元素的内容可以分为下面五种情况: aANY(任意) 任何格式正规的XML数据 EMPTY(无) name元素为空元素,只允许属性存在 纯文本:包含任何文本字符数据但是不包含任何子元素 纯元素只包含子元素但是不包含任何文本内容 混合:既可以包含子元素也可以包含文本内容 n前两种类型可以使用语法的第一种形式,后三种类型使用第二 种语法形式
DTD声明-ELEMENT 语法: <!ELEMENT name content_category> 或者 <!ELEMENT name (content_model) cardinality> name是被描述的元素名 是被描述的元素名,必须为合法XML名字 后面参数描述了name元素可以包含那些内容和/或子元素 元素的内容可以分为下面五种情况: ANY(任意) 任何格式正规的XML数据 EMPTY(无) name元素为空元素,只允许属性存在 纯文本: 包含任何文本字符数据,但是不包含任何子元素 纯元素:只包含子元素,但是不包含任何文本内容 混合:既可以包含子元素,也可以包含文本内容 也可以包含文本内容 前两种类型可以使用语法的第一种形式,后三种类型使用第二 种语法形式
DTD声明- ELEMENT ■没有 integer, floating point,dae,或者其他数据类 型定义 元素的声明次序是没有关系的 K?xml version="1.0" encoding="UTF-8?> <! DOCTYPE DOCUMENT L k element files EMPTY> <!elEMeNt DOCUMENT (files)> KDOCUMENT> < files〉/ files〉 K/DOCUMENT>
DTD声明-ELEMENT 没有integer, floating point, date, integer, floating point, date, 或者其他数据类 或者其他数据类 型定义 元素的声明次序是没有关系的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE DOCUMENT[ <!DOCTYPE DOCUMENT[ <!ELEMENT files EMPTY> <!ELEMENT DOCUMENT (files)> ] > <DOCUMENT> <files></files> </DOCUMENT>
DTD声明- ELEMENT ANY类型: 要谨慎使用,其对于name元素内部内容没有任何规 定 For example < ELEMENT catalog ANY>
DTD声明-ELEMENT ANY类型: 要谨慎使用,其对于name元素内部内容没有任何规 定 For example: <!ELEMENT catalog ANY>
DTD声明- ELEMENT EMPTY类型: n定义空元素类型 大小写敏感 For example: <!ELEMENT BR EMPTY In use: <BR>
DTD声明-ELEMENT EMPTY类型: 定义空元素类型 For example: 大小写敏感 For example: <!ELEMENT BR EMPTY> In use: <BR/>
DTD声明- ELEMENT 内容模型用于给后三种类型元素指明内容的结构 ANY和 EMPTY类型不允许使用任何内容模型 内容模型基本语法是子元素名列表和或由圆括号括起的 # PCDATA关键字 通过"O"可以将他们组成混合片断 可以使用逗号“,”来间隔各个片断,表示各个片断是顺序出现的 可以使用""来间隔各个片断表示各个片断是选择关系的 可以用基数操作符来定义片断在内容模板里出现的次数 可以嵌套 例子 K!ELEMENT name(#PCDATA)> K!ELEMENT name(child1, child2)I(child3, child4))> KIELEMENT name(#PCDATA]child1 child2)*>
DTD声明-ELEMENT 内容模 用于给后 种类 元素指明内容的结构 型用于给后三种类型元素指明内容的结构 ANY和EMPTY类型不允许使用任何内容模型 内容模型基本语法是子元素名列表和/或由圆括号括起的 #PCDATA关键字 通过"()"可以将他们组成混合片断 可以使用逗号“,”来间隔各个片断 来间隔各个片断,表示各个片断是 表示各个片断是顺序出现的 可以使用"|"来间隔各个片断,表示各个片断是选择关系的 可以用基数操作符来定义片断在内容模板里出现的次数 可以嵌套 例子 <!ELEMENT name (#PCDATA)> 例子 ( ) <!ELEMENT name ((child1,child2)|(child3,child4))> <!ELEMENT name (#PCDATA|child1|child2)* >