小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

DTD語法概述

 hanzinu 2013-06-18

 

XML作為一門標(biāo)記語言,它就需要一種文檔(即文檔類型定義DTD)來定義,DTD可以看作是一類XML文檔的模板。它定義了文檔的邏輯結(jié)構(gòu),規(guī)定了XML文檔中所使用的元素,實(shí)體,元素的屬性,元素與實(shí)體之間的關(guān)系。它使得數(shù)據(jù)交流與共享得以正常進(jìn)行,驗(yàn)證了數(shù)據(jù)的有效性。DTD可以是一個(gè)完全獨(dú)立的文件,也可以在XML文件中直接設(shè)定。所以,DTD分為外部DTD(在XML文件中調(diào)用另外已經(jīng)編輯好的DTD)和內(nèi)部DTD(在XML文件中直接設(shè)定DTD)兩種。在一些有相互業(yè)務(wù)往來的公司,如果他們使用的電子文檔是XML文檔,那么我們就可以定用一個(gè)獨(dú)立的DTD文檔。每次交換和定義時(shí)都引用它來驗(yàn)證結(jié)構(gòu)完整性和語法的合法性。比如以下一個(gè)XML文檔:

<?xml version ="1.0" encoding ="GB2312" standalone="yes" ?>
<學(xué)生名單>
<學(xué)生>
<學(xué)號(hào)>2003081205</學(xué)號(hào)>
<姓名>田淋</姓名>
<班級(jí)>計(jì)03.2班</班級(jí)>
</學(xué)生>
<學(xué)生>
<學(xué)號(hào)>2003081232</學(xué)號(hào)>
<姓名>楊雪鋒</姓名>
<班級(jí)>計(jì)03.2班</班級(jí)>
</學(xué)生>
</學(xué)生名單>

它的一個(gè)DTD文檔如下:

1<?xml version="1.0" encoding="GB2312" standalone="yes"?>
2<!DOCTYPE學(xué)生名單[
3<!ELMENT 學(xué)號(hào) (#PCDATA)>
4<!ELMENT 姓名 (#PCDATA)>
5<!ELMENT 班級(jí) (#PCDATA)>
6<!ELMENT 學(xué)生 (學(xué)號(hào),姓名,班級(jí))>
7<!ELMENT 學(xué)生名單 (學(xué)生,學(xué)生)>
8]>
9
10
11

2為DTD定義開始標(biāo)記,學(xué)生名單為其根元素,3到7都是元素定義 ,8是結(jié)束標(biāo)記。下面將介紹一下元素聲明的語法及注意事項(xiàng)。

元素聲明
格式:<!ELMENT 元素名稱 元素的內(nèi)容格式的定義>
(1)基本元素聲明:<!ELMENT 學(xué)號(hào) (#PCDATA)> 元素名稱后直接跟的是數(shù)據(jù)類型則為基本元素。
(2)復(fù)合元素聲明:<!ELMENT 學(xué)生 (學(xué)號(hào),姓名,班級(jí))> 學(xué)生元素是復(fù)合元素,它包含學(xué)號(hào),姓名,班級(jí)三個(gè)基本元素。其實(shí)根元素是復(fù)合元素的一個(gè)特例,所有的元素都直接或間接地包含在根元素中。

元素出現(xiàn)次數(shù)的控制

加"?"表示些元素可出現(xiàn)0次或1次;加"*"表示可出現(xiàn)任意次;加"+"表示至少要出現(xiàn)一次。如:<!ELMENT 學(xué)生 (學(xué)號(hào)?,姓名,班級(jí),愛好*)>則表示一個(gè)學(xué)生只有唯一的學(xué)號(hào),或者還未分配學(xué)號(hào),即學(xué)號(hào)元素出現(xiàn)0次或1次,而愛好可以沒有,也可以有好幾方面的,所以用*(任意次)限定。

選擇性元素 用"|"限定,如 <!ELMENT 學(xué)生(姓名,性別,(優(yōu)秀|良好|中等))>

屬性聲明
格式:<!ATTLIST Eltment_name Attribute_name Type [Keyword] [Default_value]> 
!ATTLIST 為定義屬性的指令,后面是元素的名稱,屬性名稱,屬性值類型及默認(rèn)值的關(guān)鍵字及默認(rèn)值。
如一個(gè)學(xué)生有性別及班級(jí)兩個(gè)屬性,可這樣定義:<!ATTLIST 學(xué)生 性別 CDATA "女" 班級(jí) CDATA "計(jì)算機(jī)03.2班">
必需賦值的屬性:加REQUIRED關(guān)鍵字,如:<!ATTLIST 學(xué)生 性別 CDATA #REQUIRED "女" 班級(jí) CDATA "計(jì)算機(jī)03.2班"> 表示必需給出學(xué)生的性別值??捎锌蔁o的屬性則用IMPLIED關(guān)鍵字,固定取值的屬性用FIXED關(guān)鍵字。
屬性的類型:在XML中共有10種屬性類型,如下表:

類型 含義
CDATA 字符數(shù)據(jù)
Enumerated 可能的取值的列表
ID 唯一的數(shù)字
IDREF ID類型屬性的值
IDREFS 由空格分開的若干個(gè)ID
ENTITY 實(shí)體
ENTITYS 若干個(gè)實(shí)體
NMTOKEN XML名稱
NOTATION DTD中聲明的注釋名
NMTOKENS 多個(gè)XML名稱

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多