锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
瀛愬厓绱犲拰灞炴х殑鍖哄埆錛屽睘鎬ф槸闅愬紡鐨勶紝涓嶅嚭鐜板湪鏂囨。涓?/span>
Xmlns鍚嶅瓧絀洪棿
CDATA鐢ㄤ簬瀵規甯告枃鏈殑澶勭悊銆?/span>
XML妯″紡瀹氫箟璇█錛?/span>DTD鍜?/span>XML Schema
XML Schema浜嬪疄涓婁篃鏄?/span>XML鐨勪竴縐嶅簲鐢紝涔熷氨鏄XML Schema鐨勬牸寮忎笌XML鐨勬牸寮忔槸瀹屽叏鐩稿悓鐨勶紝鑰屼綔涓?/span>SGML DTD鐨勪竴涓瓙闆嗭紝XML DTD鍏鋒湁鐫涓?/span>XML鏍煎紡瀹屽叏涓嶅悓鐨勬牸寮忋傝繖縐嶅尯鍒細緇?/span>XML Schema鐨勪嬌鐢ㄥ甫鏉ヨ澶氬ソ澶勶細
1. 鐢變簬XML Schema鏈韓涔熸槸涓縐?/span>XML錛屾墍浠ヨ澶氱殑XML緙栬緫宸ュ叿銆?/span>API 寮鍙戝寘銆?/span>XML璇硶鍒嗘瀽鍣ㄥ彲浠ョ洿鎺ョ殑搴旂敤鍒?/span>XML Schema錛岃屼笉闇瑕佷慨鏀廣?/span>
2. 浣滀負XML鐨勪竴涓簲鐢紝XML Schema鐞嗘墍褰撶劧鐨勭戶鎵夸簡XML鐨勮嚜鎻忚堪鎬у拰鍙墿灞曟э紝榪欎嬌寰?/span>XML Schema 鏇村叿鏈夊彲璇繪у拰鐏墊椿鎬с?/span>
3. 鐢變簬鏍煎紡瀹屽叏涓?/span>XML涓鏍鳳紝XML Schema闄や簡鍙互鍍?/span>XML涓鏍峰鐞嗗錛屼篃鍙互鍚屽畠鎵鎻忚堪鐨?/span>XML鏂囨。浠ュ悓鏍風殑鏂瑰紡瀛樺偍鍦ㄤ竴璧鳳紝鏂逛究綆$悊銆?/span>
4. XML Schema涓?/span>XML鏍煎紡鐨勪竴鑷存э紝浣垮緱浠?/span>XML涓烘暟鎹氦鎹㈢殑搴旂敤緋葷粺涔嬮棿錛屼篃鍙互鏂逛究鐨勮繘琛屾ā寮忎氦鎹€?/span>
XML Schema鍒欎笉鍚岋紝瀹冨唴緗簡涓夊崄涓冪鏁版嵁綾誨瀷錛屽long錛?/span>int錛?/span>short錛?/span>double絳夊父鐢ㄧ殑鏁版嵁綾誨瀷錛?/span>XML Schema鏁版嵁綾誨瀷鐨勭湡姝g伒媧繪ф潵鑷簬鍏跺鐢ㄦ埛鑷畾涔夌被鍨嬬殑鏀寔銆備嬌鐢?/span>complexType鍜?/span>sequence鏋勯犲鏉傜被鍨嬨?/span>
DTD錛氶檺鍒跺茍褰掔被鏂囨。涓殑淇℃伅錛屽茍涓嶉檺鍒跺熀鏈被鍨嬫剰涔変笂鐨勭被鍨嬶紝鍙檺鍒跺厓绱犲瓙鍏冪礌寰堝睘鎬х殑鍑虹幇銆傛槸鏈夊叧涓涓厓绱犱腑鍙互鍑虹幇浣曠妯″紡鐨勫瓙鍏冪礌鐨勪竴緋誨垪瑙勫垯銆?/span>|琛ㄧず鎴栵紝+琛ㄧず涓涓垨澶氫釜錛?/span>*琛ㄧず闆朵釜鎴栧涓紝錛熻〃紺洪浂涓垨涓涓?/span>
DTD
1. 鍗曚釜鏂囨湰鍏冪礌鍜屽睘鎬т笉鑳藉畾涔夛紝涓嶈兘瀹氫簬涓烘暣鏁般?/span>
2. 鍙兘鎸囧畾涓涓棤搴忕殑闆嗗悎錛屽緢闅炬寚瀹氭瘡涓爣絳懼彧鍑虹幇涓嬈?/span>
XML Schema鍙互鐢?/span>minOccurs鍜?/span>maxOccurs鎸囧畾鏌愪釜瀛愬厓绱犲嚭鐜扮殑鏈澶氬拰鏈灝戞鏁般?/span>
XML Schema杈?/span>DTD鐨勪紭鍔匡細
1. 鍏佽鎶婂厓绱犱腑鍑虹幇鐨勬枃鏈檺鍒朵負涓撻棬綾誨瀷
2. 鍏佽鍒涘緩鐢ㄦ埛鑷畾涔夌被鍨?/span>
3. 鍏佽鍞竴鎬у拰澶栭敭綰︽潫
4. 涓庡悕瀛楃┖闂寸粨鍚堜互鍏佽鏂囨。閬典粠涓嶅悓妯″紡
5. 鍏佽浣跨敤緇ф壙鏉ユ墿灞曞鏉傜被鍨?/span>
6. 鍏佽浣跨敤涓撻棬綾誨瀷鏉ュ綾誨瀷榪涜闄愬埗錛屾渶澶ф渶灝忓?/span>
XML鏌ヨ杞崲宸ュ叿錛?/span>XPath錛?/span>XQuery錛?/span>XSLT
XPath鏄熀浜庤礬寰勮〃杈懼紡鐨勮璦錛?/span>FLWOR琛ㄨ揪寮?/span>
XQuery浠跨収SQL
XSLT(XSL Transformation)鏄敱XSL(XML Stylesheet Language)鎵╁睍鑰屾潵鐨?/span>
#PCDATA琛ㄧず鏂囨湰鏁版嵁錛?/span>empty琛ㄧず娌℃湁鍐呭錛?/span>any琛ㄧず浠繪剰銆?/span>
<?xml version="1.0"?>
銆銆<!DOCTYPE note [
銆銆<!ELEMENT note (to,from,heading,body)>
銆銆<!ELEMENT to (#PCDATA)>
銆銆<!ELEMENT from (#PCDATA)>
銆銆<!ELEMENT heading (#PCDATA)>
銆銆<!ELEMENT body (#PCDATA)>
銆銆]>