freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

xml編程開發(fā)教程(編輯修改稿)

2025-07-26 09:02 本頁面
 

【文章內(nèi)容簡介】 O的標(biāo)準(zhǔn)組織批準(zhǔn)的DTD,它的名稱以加號(+)開始。()(//)和DTD所有者的名字,之后是另一個(gè)雙斜杠和DTD描述的文檔類型,接著又是一個(gè)雙斜杠后接ISO 639語言標(biāo)識符,如EN表示英語。例如我們定義的人力資源DTD可以采用下面的命名: //xin sun//DTD HR 連字符()表示這個(gè)DTD不是由任何標(biāo)準(zhǔn)組織批準(zhǔn)的,為xin sun所有,描述的是人力資源管理,用中文編寫。完整的文檔類型聲明如下: !DOCTYPE HR PUBLIC //xin sun//DTD HR htpp:///xml/dtds/HTML網(wǎng)頁的文檔類型聲明,如下: !DOCTYPE HTML PUBLIC //W3C//DTD HTML W3C公布的在Web文檔中使用的有效的文檔類型聲明列表可以在注意:文檔類型聲明與文檔類型定義不是一個(gè)概念,DTD是文檔類型定義(Document Type Definition)的英文縮寫。!DOCTYPE greeting SYSTEM 是文檔類型聲明,!ELEMENT greeting (PCDATA)這種語法是文檔類型定義。文檔類型聲明可以包含(內(nèi)部DTD子集)或引用(外部DTD子集)一個(gè)文檔類型定義,但文檔類型定義從不包含文檔類型聲明.在前面我們提到,如果我們的文檔不依賴于外部文檔,在XML聲明中,可以通過standalone=yes來聲明這個(gè)文檔是獨(dú)立的文檔。如果文檔依賴于外部文檔,可以通過standalone=no來聲明。當(dāng)我們使用外部DTD文件時(shí),就需要將屬性standalone的值設(shè)置為no。在實(shí)際應(yīng)用中,很少使用standalone屬性,它的主要用途是作為XML處理器和其它應(yīng)用程序的標(biāo)志,表示是否需要獲取外部內(nèi)容。如果文檔依賴于外部文檔,即使我們不使用standalone屬性,XML處理器也能夠很好地進(jìn)行處理。DTD的結(jié)構(gòu): DTD的結(jié)構(gòu)一般由元素類型聲明、屬性表聲明、實(shí)體聲明、記號(notation)聲明等構(gòu)成。一個(gè)典型的文檔類型定義文件會把將來所要?jiǎng)?chuàng)建的XML文檔的元素結(jié)構(gòu)、屬性類型、實(shí)體引用等預(yù)先進(jìn)行定義。元素類型聲明不但說明了每個(gè)文檔中可能存在的元素,給出了元素的名稱,而且給出了元素的具體類型。一個(gè)XML元素可以為空,也可以只包含字符數(shù)據(jù),還可以有若干個(gè)子元素,而這些子元素同時(shí)又可以有它們的子元素。元素類型聲明采用如下的語法格式: !ELEMENT 元素名稱 元素內(nèi)容說明 元素內(nèi)容說明可以指明五種可能的元素內(nèi)容形式:PCDATA、子元素、混合內(nèi)容、EMPTY和ANY.關(guān)鍵字PCDATA說明元素包含字符數(shù)據(jù)。例子: ?xml version= encoding=gb2312?!DOCTYPE hr [ !ELEMENT hr (PCDATA) ] hr人力資源標(biāo)準(zhǔn)/hr當(dāng)一個(gè)元素只包含子元素,而沒有字符數(shù)據(jù)時(shí),則稱此元素類型具有元素型內(nèi)容(elementcontent)。在該類型的元素聲明時(shí),通過內(nèi)容模型來指定在其內(nèi)容上的約束。內(nèi)容模型是決定子元素類型和子元素出現(xiàn)順序的一種簡單語法。利用括號、逗號、豎線、星號、加號、問號的組合,可以說明很復(fù)雜的內(nèi)容模型。我們看下面的例子:!ELEMENT 簡歷 (名字,性別,年齡,(電話|手機(jī)),家庭住址?,興趣愛好*,教育經(jīng)歷+,工作經(jīng)驗(yàn)*) 這說明簡歷中要有名字,接下來是性別和年齡,電話和手機(jī)任選一個(gè),可以填一個(gè)家庭住址或者不填,然后是零個(gè)或多個(gè)興趣愛好,至少要有一個(gè)教育經(jīng)歷,最后是零個(gè)或多個(gè)工作經(jīng)驗(yàn)。內(nèi)容模型的規(guī)則雖然簡單,但是可以產(chǎn)生靈活多樣的結(jié)構(gòu)。說明元素既可以包含字符數(shù)據(jù),也可以包含子元素。混合內(nèi)容必須被定義零個(gè)或多個(gè)。例子:?xml version= encoding=gb2312?!DOCTYPE employee [!ELEMENT employee (PCDATA|name)* !ELEMENT name(PCDATA)] employee員工信息 name張三/name/employee在使用混合內(nèi)容模型時(shí),PCDATA關(guān)鍵字必須是模型中的第一個(gè)選項(xiàng),不能在模型中使用逗號、問號和加號。用豎線分隔的PCDATA和元素的列表是合法的,其它用法都是不合法的。關(guān)鍵字EMPTY表明該元素既不包含字符數(shù)據(jù),也不包含子元素,是一個(gè)空元素。如果在文檔中元素本身已經(jīng)表示了明確的含義,就可以在DTD中用關(guān)鍵字EMPTY來聲明空元素。例如: !ELEMENT br EMPTY 表明br是一個(gè)沒有內(nèi)容的空元素。關(guān)鍵宇A(yù)NY表明該元素可以包含任何的字符數(shù)據(jù)和子元素,只要它們不違反XML格式良好的約束就可以了。例如: !ELEMENT employee ANY 表明employee可以包含任何形式的內(nèi)容。在實(shí)際使用時(shí),應(yīng)該盡量避免使用ANY,一個(gè)定義明確的DTD,有助于我們理清文檔的結(jié)構(gòu),更好地理解文檔。實(shí)體聲明:有兩種類型的實(shí)體:一般實(shí)體(general entity)和參數(shù)實(shí)體(parameter entity)。一般實(shí)體是在文檔內(nèi)容中使用的實(shí)體,而參數(shù)實(shí)體則是在DTD中使用的已分析實(shí)體。不管是一般實(shí)體,還是參數(shù)實(shí)體都是用ENTITY關(guān)鍵字來聲明。一般實(shí)體的聲明語法如下: !ENTITY 實(shí)體名 實(shí)體內(nèi)容 引用實(shí)體的方式為:amp。實(shí)體名。.參數(shù)實(shí)體只能在DTD中使用,它的聲明語法如下: !ENTITY % 實(shí)體名 實(shí)體內(nèi)容注意在聲明時(shí),ENTITY、%和實(shí)體名之間各有一個(gè)空格。引用實(shí)體的方式為:%實(shí)體名。在內(nèi)部DTD子集中,參數(shù)實(shí)體引用不能在標(biāo)記聲明內(nèi)部出現(xiàn),可以在標(biāo)記聲明允許出現(xiàn)的地方出現(xiàn)。對于外部DTD子集,則沒有這個(gè)限制。在DTD中,所有的參數(shù)實(shí)體必須在引用之前進(jìn)行聲明。這意味著內(nèi)部DTD子集不能引用在外部DTD中聲明的參敵實(shí)體,這是因?yàn)閄ML處理器將首先讀取內(nèi)部子集,也就是說,內(nèi)部子集中的實(shí)體和屬性表聲明的優(yōu)先級要比在外部子集中的高。內(nèi)部實(shí)體在XML文檔內(nèi)部定義,實(shí)體的內(nèi)容在聲明中給出。內(nèi)部實(shí)體都是已分析的實(shí)體,它們沒有單獨(dú)的物理存儲對象。外部實(shí)體在單獨(dú)的(外部)文件中定義,外部實(shí)體可以是已分析實(shí)體,也可以是未分析實(shí)體。外部一般實(shí)體的聲明形式如下: !ENTITY copyright SYSTEM 關(guān)鍵字SYSTEM表明這是一個(gè)私有的外部一般實(shí)體,后口的URI稱為該實(shí)體的系統(tǒng)標(biāo)識符,用于給出外部文件的位置。:?xml version= encoding=gb2312? amp。169。2004,程序員之家,ALL Rights Reserved?xml version= encoding=gb2312?稱為文本聲明。文本聲明類似于XML聲明,不過文本聲明沒有standalone屬性,并且version屬性也是可選的。外部已分析實(shí)體可以使用不同于UTF8的編碼,使用文本聲明來指明實(shí)體內(nèi)容的編碼方式。每個(gè)外部已分析實(shí)體都應(yīng)該以文本聲明開始,文本聲明只能在外部已分析實(shí)體的開頭出現(xiàn),不能出現(xiàn)在其它任何位置。在外部已分析實(shí)體中的文本聲明不會作為替換文本的一部分而出現(xiàn)。也可以使用PUBLIC關(guān)鍵字來聲明公共的外部一般實(shí)體,其聲明形式和使用了關(guān)鍵字PUBLIC的外部DTD聲明類似。如下:!ENTITY openhatch PUBLIC //Textuality//TEXT Standard openhatch boilerplate//EN //Textuality//TEXT Standard openhatch boilerplate//EN稱為該實(shí)體的公共標(biāo)識符,后面的URI部分為該實(shí)體的系統(tǒng)標(biāo)識符。下面的例子聲明了一個(gè)外部一般未分析實(shí)體. !ENTITY hatchpic SYSTEM ../grafix/OpenHatch gif NDATA gif與一般實(shí)體類似,參數(shù)實(shí)體的替換文本也可以位于外部文件中,其聲明形式和一般實(shí)體類似。屬性表聲明:屬性用于將名字值對與元素進(jìn)行關(guān)聯(lián)。屬性說明只能在開始標(biāo)簽和空元素標(biāo)簽中出現(xiàn)。屬性表聲明詳細(xì)說明了與給定元素類型相關(guān)聯(lián)的每一個(gè)屬性的名字,數(shù)據(jù)類型和缺省值(如果有的話)。屬性表聲明的語法如下:!ATTLIST 元素名 屬性名 屬性類型 缺省聲明元素名是屬性所屬的元素的名字,屬性名是屬性的命名,屬性類型則用來指定該屬性是屬于哪種類型,共有十種類型,缺省聲明用于說明在元素中該屬性是否必須出現(xiàn),如果不是必須出現(xiàn),那么當(dāng)該屬性沒有出現(xiàn)時(shí),XML處理器應(yīng)該如何處理。缺省聲明可以有四種缺省設(shè)置,REQUIRED、IMPLIED、FIXED+缺省值、只有缺省值。 REQUIRED 關(guān)鍵字REQUIRED說明必須為元素提供該屬性。 IMPLIED 關(guān)鍵字IMPLIED說明元素可以包含該屬性,也可以不包含該屬性。 FIXED+缺省值 關(guān)鍵字FIXED+缺省值,說明一個(gè)固定的屬性缺省值,文檔的編寫者不能修改該屬性的值。如果元素中不包含這個(gè)屬性,XML處理器將以聲明的缺省值向應(yīng)用程序報(bào)告該屬性。 只有缺省值 與FIXED+缺省值一樣,如果元素不包含該屬性,XML處理器將以聲明的缺省值向應(yīng)用程序報(bào)告該屬性。不同的是,這種聲明方式屬性的值是可以改變的。在屬性表聲明時(shí),總共有十種屬性類型可以選擇,分別是:CDATA, Enumerated、ID、IDREF、IDREFS、ENTITY、ENTITIES、NMTOKEN、NMTOKENS、NOTATION。CDATA這是最常用的一種屬性類型,表明屬性值為字符數(shù)據(jù),與元素內(nèi)容說明中的PCDATA相同。如果屬性值需要出現(xiàn)小于號()和雙引號(),可以通過預(yù)預(yù)定義實(shí)體引用或字符引用的方式插入小于號和雙引號。如果包含的和號(amp。)不是字符或?qū)嶓w引用的起始定界符,也必須使用預(yù)定義實(shí)體引用或者字符引用的方式插入。Enumerated在聲明屬性時(shí),可以限制屬性的取值只能從一個(gè)列表中選擇,這類屬性屬于枚舉類型。枚舉類型的屬性有時(shí)候是很有用的,例如:person元素有一個(gè)sex屬性,我們希望這個(gè)屬性的取值只能是male或female,在聲明屬性時(shí),將這兩個(gè)值放到圓括號中,井用豎線(|)分隔,如下所示: !ATTLIST person sex (male|female) REQUIRED列表中的可選屬性值,不用加雙引號()或單引號(39。),但是在給屬性賦值時(shí),需要帶上雙引號或單引號.另外要注意的是,在給屬性賦值時(shí),不僅必須使用枚舉類型聲明中的可選值.而且還要注意屬性值的大小寫,Male, MALE, Female, FEMALE等都是無效的。ID、IDREF、IDREFS一個(gè)ID類型的屬性值唯一標(biāo)識XML文檔中的一個(gè)元素。一個(gè)ID類型的屬性值必須遵守XML名稱定義的規(guī)則,以字母、下劃線或冒號開頭,名稱中可以包含字母、數(shù)字、下劃線以及其它在XML標(biāo)準(zhǔn)中允許的字符,名稱中不能帶有空格。一個(gè)元素只能有一個(gè)ID類型的屬性,ID類型的屬性必須設(shè)置為IMPLIED或者REQUIRED,因?yàn)镮D類型屬性的每一個(gè)取值都是用來標(biāo)識一個(gè)特定的元素,為ID類型的屬性提供缺省值,特別是固定的缺省值是毫無意義的。?xml version= encoding=gb2312?!DOCTYPE pany [!ELEMEMT pany (employee*)!ELEMEMT employee (name)!ELEMEMT name (PCDATA)!ATTLIST employee sn ID REQUIRED]pany employee sn=E20040210001name張三/name/employeeemployee sn=E20040210006name李四/name/employee/panyIDREF類型的屬性值為同一文檔中另一個(gè)元素的ID類型的屬性值,而這另一個(gè)元素的ID類型的屬性值必須是已經(jīng)存在的。利用ID和IDREF這兩種類型的屬性,我們可以在兩個(gè)對象之間建立一種關(guān)聯(lián)關(guān)系。?xml version= encoding=gb2312?!DOCTYPE pany [!ELEMEMT pany (employee|managert)*!ELEMEMT employee (name)!ELEMENT manager EMPTY!ELEMEMT name (PCDATA)!ATTLIST employee sn ID REQUIRED!ATTLIST manager mgrid IDREF REQUIRED]pany employee sn=E20040210001name張三/name/employeeemployee sn=E20040210006name李四/name/employeemanager mgrid= E20040210001//pany?xml version= encoding=gb2312?!DOCTYPE pany [!ELEMEMT pany (employee*)!ELEMEMT employee (name)!ELEMEMT name (PCDATA)!ATTLIST employee sn ID REQUIRED!ATTLIST employee manager IDREF IMPLIED]pany employee sn=E20040210001name張三/name/employeeemployee sn=E20040210006 manager=E20040210001
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1