根据dtd编写xml的小例子
发布时间:2020-12-16 08:33:32 所属栏目:百科 来源:网络整理
导读:DTD约束标签 !ELEMENT 元素名称 类别 或!ELEMENT 元素名称 (元素内容) 类别:约束标签的内容 EMPTY:空标签 PCDATA:普通字符串(没有子标签) ANY : 可以是任何内容(包含子标签) (元素内容): 标签包含子标签的情况 顺序问题: (A,B,C,D): 按顺序依次出
DTD约束标签<!ELEMENT 元素名称 类别> 或<!ELEMENT 元素名称 (元素内容)> 类别:约束标签的内容 EMPTY:空标签 PCDATA:普通字符串(没有子标签) ANY : 可以是任何内容(包含子标签) (元素内容): 标签包含子标签的情况 顺序问题: (A,B,C,D): 按顺序依次出现 (A|B|C|D):任意出现一个(枚举式出现) 数量问题: A: 必须出现1次 A*: 可以出现0或多次 A+:可以出现1或多次 A?: 可以出现0或1次 约束属性<!ATTLIST元素名称 属性名称 属性类型 默认值> 默认值:属性是否必须填写 #REQUIRED属性值是必需的 #IMPLIED属性不是必需的 #FIXED value 属性类型: 约束属性值 CDATA值为字符数据 (character data) (en1|en2|..)此值是枚举列表中的一个值 ID 值是唯一的
现在有一个DTD的文件,内容如下:
<!ELEMENT TVSCHEDULE (CHANNEL+)> <!ELEMENT CHANNEL (BANNER,DAY+)> <!ELEMENT BANNER (#PCDATA)> <!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)> <!ELEMENT HOLIDAY (#PCDATA)> <!ELEMENT DATE (#PCDATA)> <!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)> <!ELEMENT TIME (#PCDATA)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT DESCRIPTION (#PCDATA)> <!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED> <!ATTLIST CHANNEL CHAN CDATA #REQUIRED> <!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED> <!ATTLIST TITLE RATING CDATA #IMPLIED> <!ATTLIST TITLE LANGUAGE CDATA #IMPLIED> 根据以上内容可以编写出XML文件如下:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TVSCHEDULE SYSTEM "test.dtd"> <TVSCHEDULE NAME="one"> <!-- #REQUIRED必须出现的属性 --> <CHANNEL CHAN="001"> <!--因为有“+”表示一个或多个 --> <BANNER>just do it</BANNER> <!--#PCDATA: 字符串 --> <DAY> <!--因为有“+”表示一个或多个 --> <DATE></DATE> <HOLIDAY>暑假</HOLIDAY> <!-- 二者出现一个 --> </DAY> <DAY> <!--因为有“+”表示一个或多个 --> <DATE></DATE> <HOLIDAY>暑假</HOLIDAY> <!-- 二者出现一个 --> </DAY> </CHANNEL> <CHANNEL CHAN="002"> <BANNER>just do it</BANNER> <DAY> <DATE></DATE> <HOLIDAY>暑假</HOLIDAY> <PROGRAMSLOT VTR="v"> <!-- 属性可以选择要或不要 --> <TIME >2016.7.13</TIME> <TITLE RATING="r" LANGUAGE="l">今天学习DTD</TITLE> <!-- 属性可以选择要或不要 --> <DESCRIPTION></DESCRIPTION> <!-- ?为可以出现0次或1次 --> </PROGRAMSLOT> </DAY> </CHANNEL> </TVSCHEDULE> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |