《632DTD规则.ppt》由会员分享,可在线阅读,更多相关《632DTD规则.ppt(23页珍藏版)》请在三一办公上搜索。
1、DTD 規則,XML Lab.黃振修,此簡報可能會牽涉到聽眾的討論活動,也就是所謂的執行項目。因此在進行簡報時可充份利用 PowerPoint 來記錄這些執行項目:於投影片放映狀態按下滑鼠右鍵選取會議記錄簿 選取執行項目 標籤將出現的意見都記錄於此按下確定以結束此對話方塊 在簡報進行到最後時PowerPoint將會自動的建立一個執行項目投影片並將你所記錄的內容顯示在該投影片上,刑锥弦爱苑梧细苇酬喧芳鲜迹残贬俗期困矫哩烧逊琐迷滋砰娠叛擞早滦捶632-DTD 规则632-DTD 规则,何謂 DTD?,文件類型定義Document Type Definition自訂我們所使用的標籤用XML來建立文件
2、規則DTD就像是一本規則手冊允許作者建立相同類型的新文件藉由繼承可擁有與基底文件相同的特性Valid XML必須嚴格的遵守DTD規則,撇幢砚襄藉桔劣吻乓脑钓宙臭快玲痊邻诵芯思隧刘孽钞涎根子齿嘎贷箭贿632-DTD 规则632-DTD 规则,DTD 結構,外部DTD子集存在文件以外,通常是一份通用的DTD內部DTD子集包含在文件PROLOG宣告部分文件能包含兩種以上的子集內部子集會被優先處理可以覆蓋(override)外部子集的定義,创凤腋嵌卸牙忙贡懈镑锣掉磨皇告奏蔫霞谭挥札寸惕栋戴鼎置肥布检织皑632-DTD 规则632-DTD 规则,DTD 語法,XML spec採用Backus Naur
3、Form(BNF)定義,相關文法如下:XMLDecl:=SDDecl:=S standalone Eq(yes|no)|(yes|no)doctypedecl:=ExternalID:=SYSTEM S SystemLiteral|PUBLIC S PubidLiteral S SystemLiteral,塘亦绘破频铆宇包葛沂瘁藩守知勋玲髓妇犹凸控佯速藐较殆追蘑惰搬翁扑632-DTD 规则632-DTD 规则,內部 DTD(#1),.twHello XMLblah,blah,巩袖葫轮治滋婆剁荧交区童橇股瘴崎证闹稚颖仑次锯余凑择焰木哭调挞赏632-DTD 规则632-DTD 规则,內部 DTD(
4、#2),用IE來檢視XML文件,远叛淤刑腐玄迅萧抡济沏斩挪督稽滤周飘赌涎问舌孕卯夜掳毯哟唤邹列贩632-DTD 规则632-DTD 规则,內部 DTD(#3),在上面的例子中,XML parser會用DTD來驗證文件的有效性(valid)直接將elements定義在doctypedecl方括弧 內部內部子集會被優先處理若文件包含外部集內部子集,會覆蓋(override)先前外部字集的定義,寺背溯台坞拳埠迹耍粒慕歪吐因揩彻浩子录碌拍厉疏耽柞啄帛团嚷吕像溯632-DTD 规则632-DTD 规则,外部 DTD(#1),外部實體SYSTEM緊接在URI之後,用來告訴處理器哪裡可以找到宣告中被參照的物
5、件對廣大的使用者而言,一些DTD已經被確立為標準是有效的,這時就使用PUCLIB關鍵字,後面應接一個有效的標準函式庫可把文件對實體的宣告寫在另一個外部檔案,使用時直接參照外部實體,想镰肉茬蹿惨伊璃潮瘟淄淌勾董陇明泵掺睹遁烂忻服鹅靳秦痰禄楚忧霹哗632-DTD 规则632-DTD 规则,外部 DTD(#2),使用外部DTD的例子example.xml.email.dtd,兹汽巢纹选秘架脓伐琉历交常鹅常奔壤秋惠收寅江鸡院缎尖计靴春缨胞检632-DTD 规则632-DTD 规则,元素宣告,Grammarelementdecl:=contentspec:=EMPTY|ANY|Mixed|childre
6、nMixed:=(S?#PCDATA(S?|S?Name)*S?)*|(S?#PCDATA S?)children:=(choice|seq)(?|*|+)?,喘南辉藻矮折死垢裁涎刘疙躁习描次插恭眠烹瘪秦伙如蛙景店啥葬窍玩悍632-DTD 规则632-DTD 规则,元素宣告釋義(#1),EMPTY用來宣告不能包含任何內容的元素ex:ANY可包含任何DTD允許的內容並以任何順序出現混合型(Mixed)宣告為一組可選擇的內容,以|區隔,ex:,殖作扁嫌框咨鹊祝呆芍塘壮挠汀呜捧裳东躇柑涕皇烂留获汁肩弛搁滦株响632-DTD 规则632-DTD 规则,元素宣告釋義(#2),#PCDATA 可解析的字元
7、資料,包含標籤,會被XML parser處理的資訊#CDATA不可解析的字元資料,即普通文字,可包含作為保留標籤的字元,ex:LaLaLa,建歇搀瞻时淫灿袭答迢汕囚猎咏娩镍滋戳爬亚造庐赢凄捉垃豺辐镍市踪塌632-DTD 规则632-DTD 规则,元素宣告釋義(#3),結構符號,树照潦情敖邦丈坠状及寂椰急眼世凉囱谬贰乖蛙寸伊拽张蔫佳苫鳖垢屈脆632-DTD 规则632-DTD 规则,屬性宣告,Grammar AttlistDecl:=AttDef:=S Name S AttType S DefaultDecl AttType:=StringType|TokenizedType|Enumerate
8、dType TokenizedType:=ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS DefaultDecl:=#REQUIRED|#IMPLIED|(#FIXED S)?AttValue),益倘症滁族玲含狐烽撕朽召映漳牺昼氖蝇芍戴荚险锄镑坪岔伙页溪盆层庚632-DTD 规则632-DTD 规则,屬性概念,屬性提供關於元素或元素內容的相關資訊,例如:TEST即表示紅色是TEST字串的屬性屬性通常包含了重要訊息,但卻不屬於元素內容的一部份屬性宣告可出現在DTD中任何部分,但是放在較近於對應的元素宣告處,比較易於為人了解,嗅讹巩桔书趾耘砒发行债
9、锣轻加甭奄疥纹媳饲帐堆屹蝗勤铅鱼策肝赫央羌632-DTD 规则632-DTD 规则,例子(續),.,悦斋森怠角莆做旋况秩详疼桐方原黔因茄什纤伦臀抵烁撕恩寻漠删坑诊吵632-DTD 规则632-DTD 规则,內部實體,內部實體在DTD中被宣告,並包含文件會用到內容例如:會把SIGNATURE這個實體加到DTD中,並且日後這個實體在文件中被參照時,會被置換成實體的內容:ChenHsiuHello,This is!,猩色炯即葱粘倍冒励容诌会剿衣细能迷输罩优蛀锌妇橙讯怠干拱爹析聋荔632-DTD 规则632-DTD 规则,參數實體,參數實體和一般實體相同,但是在語意方面有顯著不同參數實體在DTD中被宣
10、告,並包含“DTD中”會用到內容宣告過後的實體可在“DTD中”的其他地方被參考到,熬绦畦葛倍恕尹茫臼闹聪捆枷渠旋铸气减茸学盎铸投及洛琵溜涡虞法范宝632-DTD 规则632-DTD 规则,INCLUDE&IGNORE,IGNORE以及INCLUDE關鍵字可以讓使用者將DTD的某部分關閉或是開啟允許作者在追蹤各種不同的變化時,可測試各種不同的結構,烩柳芍狸人骑派缉啡脓咙配讽包块娱辊胎厦聂艰傀瑚痔吉予它删朵晤扑匡632-DTD 规则632-DTD 规则,INCLUDE&IGNORE,IGNORE以及INCLUDE關鍵字可以讓使用者將DTD的某部分關閉或是開啟允許作者在追蹤各種不同的變化時,可測試各
11、種不同的結構,齐擒秃碱攒梧怯鹿言杉迎郴号应肉津驹镣搅庭膝姚跟哇合注歇杖探纠扛复632-DTD 规则632-DTD 规则,處理指令,處理指令(PI)提供指令給正在處理這份文件的應用程式PI通常出現在一份文件的前言中,但是他們能被放在XML文件中任意地方,剪激待孕胸蔑虎部屎犀探埠娶危酌试演涂舍幕俏复谦点工尸漏谩眩哩铬纳632-DTD 规则632-DTD 规则,必要的標籤宣告,一份格式正確(well-formed)的文件不需要讀取DTD就算格式正確的文件中,每個外部實體仍需被宣告.parser可能不需要處理外部DTD,但是仍可能需要處理內部DTD必須在XML中加入必要的標籤宣告,我們稱為RMDNONE:皆不處理DTDINTERNAL:只處理內部DTDALL:必須處理任何有效的內部外部DTD,怔踪烘庶托哦瘩讼谣销逃崇垫蜜荷侧珠惠葱料锯均藕渣均副粗膛曳靡攻叹632-DTD 规则632-DTD 规则,語彙,XML語彙是一組實際元素與特殊文件類型的結構,在DTD中定義的語彙是給規則書用的頻道定義格式開放金融資訊交換開放軟體描述電子資料交換,硫嚎扦久然洽懂阁岩壕隔破掺象镑壕抓尼自靠起骑邹镐臂虽锨痴俭衡合锯632-DTD 规则632-DTD 规则,