根据dtd编写xml的小例子
DTD約束標(biāo)簽
<!ELEMENT 元素名稱 類別>?? 或<!ELEMENT 元素名稱 (元素內(nèi)容)>
?
類別:約束標(biāo)簽的內(nèi)容
???????? ?EMPTY:空標(biāo)簽
???????? ?PCDATA:普通字符串(沒有子標(biāo)簽)
???????? ?ANY : 可以是任何內(nèi)容(包含子標(biāo)簽)
?
(元素內(nèi)容): 標(biāo)簽包含子標(biāo)簽的情況
???????? 順序問題:
?????????????????? (A,B,C,D):? 按順序依次出現(xiàn)
?????????????????? (A|B|C|D):?任意出現(xiàn)一個(枚舉式出現(xiàn))
???????? 數(shù)量問題:
???????? ??? A: 必須出現(xiàn)1次
???????? ??? A*: 可以出現(xiàn)0或多次
?????????????????? A+:可以出現(xiàn)1或多次
???????? ??? A?:? 可以出現(xiàn)0或1次
約束屬性
???????? <!ATTLIST元素名稱 屬性名稱 屬性類型 默認(rèn)值>
?
默認(rèn)值:屬性是否必須填寫
???????? #REQUIRED屬性值是必需的
???????? #IMPLIED屬性不是必需的
??? #FIXED value
?
屬性類型: 約束屬性值
???????? CDATA值為字符數(shù)據(jù) (character data)
???????? (en1|en2|..)此值是枚舉列表中的一個值
???????? ID? 值是唯一的
現(xiàn)在有一個DTD的文件,內(nèi)容如下:
<!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>
根據(jù)以上內(nèi)容可以編寫出XML文件如下:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TVSCHEDULE SYSTEM "test.dtd"> <TVSCHEDULE NAME="one"> <!-- #REQUIRED必須出現(xiàn)的屬性 --><CHANNEL CHAN="001"> <!--因為有“+”表示一個或多個 --><BANNER>just do it</BANNER> <!--#PCDATA: 字符串 --><DAY> <!--因為有“+”表示一個或多個 --><DATE></DATE><HOLIDAY>暑假</HOLIDAY> <!-- 二者出現(xiàn)一個 --></DAY><DAY> <!--因為有“+”表示一個或多個 --><DATE></DATE><HOLIDAY>暑假</HOLIDAY> <!-- 二者出現(xiàn)一個 --></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">今天學(xué)習(xí)DTD</TITLE> <!-- 屬性可以選擇要或不要 --><DESCRIPTION></DESCRIPTION> <!-- ?為可以出現(xiàn)0次或1次 --></PROGRAMSLOT></DAY></CHANNEL> </TVSCHEDULE>
?
總結(jié)
以上是生活随笔為你收集整理的根据dtd编写xml的小例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript中获取表单信息并添加
- 下一篇: JavaEE之使用DOM4J和XPath