今天第一天開始啃Brett McLaugblin的那本《Java & XML》,先是瀏覽了全書,把里面的好多概念理了一下,將今天理解的概念的解釋暫時記錄在這里,日后再作整理。
1、xml:這個不用說了,可擴展標記語言
2、dtd&schema:用于規定xml文檔正確性的東東。這個東西里面內容好多,夠學一陣子的。
3、xsl:eXtensible Stylesheet Language,可擴展的樣式表語言,這是個好東西,可以將xml轉化成任何東西(比如轉化成javaBean的類源文件,或者sql腳本)
今天還得知,xsl包括兩大部分,xslt(eXtensible Stylesheet Language Transformation)和xsl-fo(formatting Object),前一部分用來轉換xml,后一部分用來格式化輸出(類似css的功能)。
4、xslt:如前所述,用來轉化xml,他可以選擇那些顯示那些不顯示,可以排序,甚至可以統計,比如count()。而且目前xslt也在快速發展著,新的函數庫層出不窮,值得期待和深入學習。
5、xPath:xslt中一個重要組成部分,目前版本好像是2.0,XPath是用來幫助XSLT在XML源文檔中查找定位信息的語言,功能非常的強大,日后將作為一個專題進行學習。
6、SAX:Simple Application interface for XML,一個簡單的xml處理api,處理一般流程如下:
- 使用某廠商的解析器創建SAXParser實例
- 注冊回調方法(內容處理,錯誤處理,聲明處理,dtd處理等)
- 開始解析(解析過程中,回調方法將會被調用)
- ////////////////////////////////***********************
- SAX處理的方式是順序讀取xml文檔的。
- SAX的標準的接口定義可以在jdk的rt.jar當中找到,但是解析器必須另外指定,xerces.jar是apache項目組的一個開源的解析器。
7、dom:高級抽象的xml操作接口,當然也要使用比如xerces這樣的解析器。dom中以樹型防問xml文檔,并且有xslt,xPath等的支持。
8、JAXP:sun公司的稱為“Java API for XML Parsing”的Java XML解析器API,其中并不包含解析器!
JAXP是一個抽象層,給出接口定義,他必須使用第三方的如xerces這樣的解析器,但是他可以通過配置文件的形式很方便的更換解析器,他的作用就是給不同的解析器提供了一個統一操作的平臺,提供SAX的鉤子,提供DOM的鉤子。
9、xQuery:一種更加強大的XML查詢語言,如果XML有一天可以取代關系數據庫的話,這個東東肯定會像SQL今天這樣風行!這邊有一個簡單的例子來演示XQuery
講的不對的地方請指正!