Oracle Database 10 XML與SQL開發指南

Oracle Database 10 XML與SQL開發指南

《Oracle Database 10 XML與SQL開發指南》是2005年清華大學出版社出版的圖書,作者是孫揚。

內容簡介

本書詳細講述了如何在OracleDatabase10g上創建和部署支持XML的電子商務應用程式。本書由OracleXML開發小組的成員撰寫,從XML標準等概念著手,內容涵蓋OracleXMLDatabase10g(XMLDB)以及OracleXMLDevelop’sKit10g(XDK)的所有內容,並講解了用於Java、C、C++和PL/SQL應用程式開發的OracleXML技術

目 錄

第Ⅰ部分 Oracle與XML標準

第1章 XML簡介 3

1.1 XML文檔 4

1.1.1 前序 5

1.1.2 主體 5

1.2 結構規範的XML文檔 6

1.3 有效的XML文檔 7

1.4 XML命名空間 8

1.5 XML與資料庫 9

1.6 資料庫模式與XML文檔 10

1.7 小結 13

第2章 使用DOM、SAX、JAXB和

StAX訪問XM L 15

2.1 解析和綁定XML文檔 16

2.2 使用DOM訪問XML 17

2.2.1 DOM API簡介 19

2.2.2 DOM Level 2 21

2.2.3 DOM Level 3 24

2.2.4 Oracle DOM API在C語言中

的應用程式 26

2.3 使用SAX訪問XML 26

2.3.1 SAX Level 1和Level 2 27

2.3.2 SAX API的用法 30

2.3.3 C語言版本的Oracle SAX API 35

2.4 使用Java綁定訪問XML 39

2.4.1 輸入的XML模式 40

2.4.2 生成XML類 40

2.4.3 綁定至XML實例 40

2.4.4 使用Java應用程式創建XML

文檔 42

2.5 使用StAX訪問XML 42

2.6 最佳實踐 44

2.6.1 DTD高速快取 44

2.6.2 忽略<!DOCTYPE>標記 44

2.6.3 文檔間的剪下與貼上 45

第3章 使用XSLT和XPath轉換XM L 47

3.1 XSLT處理器的編程式調用 48

3.2 使用XPath導航XML 51

3.3 XSLT樣式表簡介 52

3.4 XSL模板 52

3.5 XSLT處理模型 53

3.5.1 <xsl:apply-imports/> 53

3.5.2 <xsl:apply-templates> 53

3.6 XSLT 2.0簡介 53

3.6.1 分組 54

3.6.2 函式定義 54

3.6.3 多結果文檔 55

3.6.4 臨時樹 55

3.7 Oracle XSLT擴展 56

3.8 XSLT虛擬機 56

3.9 XSLT與資料庫 57

3.10 最佳實踐 57

3.10.1 XSLT的最佳化技巧 58

3.10.2 XSLT中的document()函式 58

3.10.3 用於多轉換的XSLT的總體

性能 58

第4章 使用DTD和XML Schema

驗證XML 59

4.1 DTD簡介 59

4.2 對照DTD驗證XML 61

4.3 XML模式語言簡介 62

4.4 基本數據類型和複雜數據類型 63

4.5使用XML模式(XSD)驗證XML 68

4.6XML文檔模型與資料庫 69

4.6.1映射DTD至資料庫模式 69

4.6.2映射XML文檔至資料庫模式 70

4.6.3支持的資料庫映射 71

4.7最佳實踐 72

4.7.1設計自己的模式 73

4.7.2元素與屬性 73

4.7.3元素和屬性名稱的設計 73

4.7.4載入來自JAR檔案的外部DTD 74

第5章使用XQuery的XML操作 75

5.1XQuery簡介 75

5.1.1基礎 76

5.1.2表達式 76

5.1.3查詢前序 78

5.1.4XQueryX簡介 79

5.2OracleXQuery引擎 80

5.2.1環境設定 80

5.2.2安裝測試 81

5.3查詢XML文檔 82

5.3.1在互動模式下運行 82

5.3.2由命令行方式查詢XML 82

5.3.3使用XQueryX查詢XML 82

5.4XQuery與Oracle資料庫 83

5.4.1Java語言的XQueryAPI 83

5.4.2查詢資料庫中的XML 83

5.5最佳實踐 84

5.5.1XQuery與XSLT2.0 84

5.5.2XQuery與SQL/SQL 85

第6章使用SOAP的XML訊息處理

機制和RPC 87

6.1SOAP簡介 87

6.1.1文本的和編碼的SOAP訊息 88

6.1.2單向和雙向SOAP訊息和RPC 89

6.2SOAP和OracleXDK的套用 90

6.2.1SOAP客戶端 90

6.2.2SOAP伺服器 90

6.2.3SOAP處理程式 91

6.3SOAP和Oracle資料庫的套用 91

6.3.1OracleStreamsAQ支持 91

6.3.2AQServlet 92

6.3.3訊息進隊與出隊 92

6.3.4通過PL/SQL使用SOAP 94

6.4最佳實踐 94

6.4.1SOAP與JAX-RPC 95

6.4.2SOAP與JMS 95

第7章藉助XML管道、JSP和XSQL

整合各種技術 97

7.1XMLPipelineProcessor簡介 98

7.2使用JSP和XMLBean處理

XML 100

7.2.1DOMBuilderBean 100

7.2.2XSLTransformerBean 102

7.2.3DBAccessBean 103

7.2.4XMLDBAccessBean 104

7.2.5XMLDiffbean 105

7.2.6XMLCompressBean 105

7.2.7XSDValidatorBean 105

7.2.8XMLBean在JSP中的用法 106

7.3XSQL頁面發布框架簡介 106

7.3.1XSQL頁面 107

7.3.2XSQLServlet安裝 108

7.3.3向XSQLServlet提交查詢 108

7.3.4使用樣式錶轉換XSQL結果 109

7.3.5使用XSQLServlet插入XML

文檔 111

7.3.6使用XSQLServlet更新數據 113

7.3.7JSP和XSQL頁面的用法 114

7.4最佳實踐 115

7.4.1創建更安全的連線 115

7.4.2簡單的JSPXML解決方案 115

第Ⅱ部分資料庫管理員對於

OracleXML的管理

第8章OracleXML資料庫 119

8.1Oracle資料庫支持XML的簡史 120

8.2設定OracleXML資料庫 122

8.2.1安裝OracleXML資料庫 122

8.2.2安裝示例資料庫模式 126

8.2.3創建用戶運行XMLType示例 126

8.2.4設定WebDAV資料夾 127

8.3.6Oracle高級佇列技術 135

8.4XML資料庫及標準 135

8.5設計XML資料庫 136

8.5.1存儲XML數據的方法 137

8.5.2檢索及生成XML 141

8.5.3搜尋XML數據的方法 141

8.5.4為Web應用程式設計XML

資料庫的方法 141

8.5.5為信息處理程式設計XML

資料庫的方法 142

8.6小結 142

第9章存儲XML數據 143

9.1在CLOBXMLType中存儲

XML文檔 143

9.1.1更新及查詢CLOBXMLType 144

9.1.2為CLOBXMLType處理字元

代碼 144

9.2在基於XML模式的XMLType

中存儲XML文檔 145

9.2.1XML模式註冊 145

9.2.2XML模式注釋 150

9.2.3XML數據載入 153

9.2.4XML模式驗證 155

9.2.5OracleXMLDB儲存庫 157

9.3在關係表中存儲XML文檔 160

9.3.1XMLSQL實用程式 160

9.3.2TransX實用程式 165

9.3.3DBMS_XMLSTORE 165

9.4使用外部表 167

9.5模式演進 168

9.6最佳實踐 168

9.6.1處理文檔類型定義 168

9.6.2創建XML基於模式的

XMLType 168

9.6.3指定命名空間 169

9.7小結 170

第10章生成及檢索XML 171

10.1利用SQLXML函式根據SQL

數據生成XML 172

10.2使用DBMXMLGEN根據SQL

數據生成XML 179

10.2.1規範映射 180

10.2.2列印格式 181

10.2.3數據取出 182

10.2.4使用REF游標 183

10.2.5使用捆綁變數 184

10.2.6處理特殊字元 185

10.3使用XMLType和SQL/XML

函式進行檢索 185

10.4生成XML模式 188

10.5創建XMLType視圖 190

10.6處理XML 191

10.6.1處理XML片斷 191

10.6.2DOM編輯 192

10.7最佳實踐 195

10.8小結 196

第11章搜尋XML數據 197

11.1基於XPath的搜尋 197

11.1.1使用XPath搜尋XML文檔 198

11.1.2基於XPath的搜尋的工作

方式 201

11.1.3使用索引最佳化基於XPath

的查詢 204

11.2全文搜尋 207

11.2.1使用OracleText搜尋XML 208

11.2.2OracleText搜尋的工作方式 211

11.2.3最佳化OracleText搜尋 212

11.2.4高級文本搜尋 213

11.3最佳實踐 215

11.3.1使用基於XPatH的搜尋的

時機 215

11.3.2使用OracleText搜尋的時機 215

11.3.3使用OracleText分區索引

的時機 215

11.4總結 216

第12章管理OracleXML資料庫 217

12.1安裝OracleXMLDB組件 217

12.2配置OracleXMLDB 220

12.2.1理解xdbconfig.xml 220

12.2.2配置xdbconfig.xml 220

12.3安全管理 223

12.3.1保護OracleXMLDB

Repository中的數據 223

12.3.2保護DBUri操作的安全 225

12.4小結 226

第Ⅲ部分針對Java程式設計師

的OracleXML

第13章OracleXML與Java 229

13.1OracleXDKJava庫 229

13.1.1xmlparserv2.jar 230

13.1.2xml.jar 230

13.1.3xschema.jar 230

13.1.4oraclexsql.jar和

xsqlserializers.jar 230

13.1.5xmlcomp.jar、xmlcomp2.jar、

xmldemo.jar和jdev-rt.zip 230

13.1.6xsu12.jar 230

13.1.7classgen.jar 230

13.1.8xdb.jar 231

13.1.9xmlmesg.jar 231

13.1.10transx.zip 231

13.1.11orai18n.jar 231

13.1.12classes12.jar和ojdbc14.jar 231

13.2JDK環境 232

13.3使用OracleJDeveloper的XDK 233

13.3.1建立XDK環境 233

13.3.2建立資料庫連線 234

13.3.3建立XDK組件面板 236

13.4小結 238

第14章構建XML驅動的網站 239

14.1支持XML的FAQ網站 239

14.2設計框架 240

14.3建立FAQ資料庫 240

14.3.1設計FAQ模式 240

14.3.2創建資料庫用戶 243

14.3.3註冊FAQ模式 243

14.3.4載入FAQ 244

14.4將FAQ網站連線到XML

資料庫 245

14.4.1建立XSQL主頁 245

14.4.2生成FAQ列表 246

14.4.3過濾FAQ列表 247

14.5為FAQ列表增加分頁功能 248

14.6顯示FAQ和答案 250

14.7創建辭彙表 253

14.7.1創建辭彙表模式 253

14.7.2載入辭彙表 253

14.7.3辭彙表連結 254

14.7.4顯示辭彙表定義 256

14.8搜尋FAQ 256

14.9小結 257

第15章用XML和WebServices構建

門戶站點 259

15.1設計框架 259

15.2設計靜態和動態區域 262

15.2.1創建動態區域 262

15.2.2創建靜態區域 268

15.3增加門戶功能 269

15.3.1創建用戶模板 269

15.3.2創建登錄區 270

15.3.3創建用戶申請表單 272

15.4創建管理頁面 274

15.5小結 277

第16章用SOAP和AQ開發XML

網關應用程式 279

16.1框架設計 279

16.1.1傳統方案 280

16.1.2基於流的單步方案 280

16.1.3與Internet的接口 281

16.2框架創建 282

16.2.1創建資料庫模式 282

16.2.2創建XML定單 285

16.3創建XML訊息處理網關 288

16.3.1創建訊息處理模式 288

16.3.2創建AQ代理和佇列 290

16.3.3創建AQPO處理程式 292

16.3.4擴展框架 296

16.4擴展應用程式的功能 304

16.4.1提交SOAP訊息 304

16.4.2PO中xsi:type的處理 304

16.4.3生成電子郵件確認 304

16.5小結 305

第17章開發XML可重用組件 307

17.1結構設計 307

17.2簡單管道示例 308

17.2.1SAX分析和列印 309

17.2.2分析、檢查差異 311

17.3建立管道應用程式 315

17.3.1XSDSchemaBuilder進程 316

17.3.2XSDValProcess進程 316

17.3.3XSDConditionalValProcess

進程 320

17.4運行管道應用程式 322

17.4.1處理無效文檔 322

17.4.2處理對遠端模式有效的文檔 323

17.4.3用一致的本地和遠端XSD

處理無效XML文檔 323

17.4.4處理兩種模式都改變的

無效文檔 323

17.5小結 324

第Ⅳ部分針對C程式設計師

的OracleXML

第18章OracleXML與C語言 327

18.1OracleXDKC庫 327

18.1.1libxml10.a、libxml10.so和

oraxml10.dll 327

18.1.2libcore10.a、libcoresh10.so

和libcore10.dll 328

18.1.3libnls10.a和oranls10.dll 328

18.1.4libunls10.a和oraunls10.dll 328

18.2建立自己的XML開發環境 328

18.2.1XDKC組件的UNIX設定 328

18.2.2檢驗C運行時環境 329

18.2.3設定C編譯時環境 330

18.2.4XDKC組件的Windows

設定 331

18.2.5檢驗C運行時環境 332

18.2.6設定C編譯時環境 332

18.2.7確認C編譯時環境 332

18.2.8設定MicrosoftVisualC/C++ 333

18.3小結 334

第19章構建管理XML的應用程式 335

19.1設計應用程式框架 335

19.2XML媒體檔案 336

19.3創建XML配置檔案 338

19.3.1定義XSLT樣式單 338

19.3.2定義配置檔案 340

19.4創建XSL樣式單 342

19.5創建publishcat應用程式 344

19.6小結 350

第20章構建XML資料庫OCI套用

程式 351

20.1設計框架 352

20.2建立OCI應用程式環境 352

20.2.1OCIXML應用程式頭檔案 352

20.2.2OCIXML應用程式庫 353

20.2.3OCIXML應用程式的

make檔案 354

20.3Update應用程式 354

20.4初始化OCI應用程式 355

20.5通過OCI檢索記錄列表的DOM 358

20.6執行統一的DOM操作 363

20.7運行xmlupdate應用程式 364

20.8小結 365

第21章創建配置了XML的高性能

轉換引擎 367

21.1設計框架 367

21.2使用xslcompile編譯樣式單 368

21.3使用xsbtransform運行XSLT

虛擬機 371

21.4小結 374

第Ⅴ部分針對C++程式設計師

的OracleXML

第22章OracleXML與C++ 377

22.1OracleXDKC++庫 377

22.1.1libxml10.a、libxml10.so和

libxml10.dll 377

22.1.2libcore10.a、libcoresh10.so

和libcore10.dll 378

22.1.3libnls10.a和oranls10.dll 378

22.1.4libunls10.a和oraunls10.dll 378

22.2設定自己的C++XML開發環境 378

22.2.1XDKC++組件的UNIX設定 379

22.2.2檢驗C運行時環境 379

22.2.3XDKC組件的Windows設定 381

22.2.4檢驗C++運行時環境 382

22.2.5設定C++編譯時環境 383

22.2.6設定MicrosoftVisualC/C++ 383

22.3小結 385

第23章構建XML資料庫OCIC++

應用程式 387

23.1設計框架 388

23.2設定C++OCIXML套用環境 388

23.2.1OCIXML應用程式頭檔案 389

23.2.2OCI和C++XML應用程式庫 390

23.3創建C++OCI幫助類 391

23.4初始化C++資料庫XML

應用程式 392

23.5處理OCI錯誤 392

23.6連線到資料庫 393

23.7斷開資料庫並進行清除 395

23.8創建C++查詢應用程式 396

23.9選擇到一個XMLType 397

23.10針對XMLTypeXOB訪問

初始化XDK 399

23.11使用C++XDKAPI查詢

XMLType 400

23.12運行應用程式 402

23.13小結 403

第24章構建XML數據檢索應用程式 405

24.1設計框架 406

24.2構建cppextract應用程式 406

24.2.1創建通用函式 406

24.2.2使用cppextractForce實例化

通用函式 411

24.2.3使用cppextractMain創建

Main程式 412

24.3運行cppextract應用程式 412

24.3.1在Extract模式下運行

cppextract 412

24.3.2在Splitter模式下運行

cppextract 413

24.4擴展框架 413

24.4.1cppextract的XML文檔

刪除案例 413

24.4.2cppextract的內容管理案例 414

24.5小結 414

第Ⅵ部分針對PL/SQL程式設計師

的OracleXML

第25章由OracleXML和PL/SQL

開始 417

25.1設定環境 417

25.2PL/SQLXML處理技術 418

25.2.1解析XML 418

25.2.2使用DOM處理XML 425

25.2.3使用XSLT處理XML 428

25.2.3設定OracleJVM 430

25.3小結 431

第26章構建PL/SQLWeb服務 433

26.1構建和發布第一個資料庫

Web服務 433

26.1.1建立資料庫方案 434

26.1.2使用OracleJDeveloper10g

發布PL/SQLWeb服務 436

26.1.3從客戶端調用Web服務 439

26.1.4調試Web服務 441

26.2在OracleDatabase中實現

Web服務 442

26.2.1構造SOAP訊息 442

26.2.2使用UTL_HTTP傳送

SOAP訊息 443

26.3擴展套用 446

26.3.1何時構建資料庫伺服器

中的Web服務 446

26.3.2建立安全防護 447

26.3.3構建不同類型的Web服務 447

26.4小結 448

第27章使用Java擴展PL/SQLXML

功能 449

27.1創建Java存儲過程處理XML 449

27.1.1實現Java代碼 450

27.1.2將Java代碼套用到

OracleJVM 451

27.1.3創建PL/SQL規範 451

27.2運行Java存儲過程 451

27.3使用OracleJDeveloper10g

簡化Java存儲過程的部署 452

27.4在OracleJVM中處理XML 454

27.4.1解析URL引用 454

27.4.2SAXXML處理 457

27.5開發定製的Java存儲過程 461

27.5.1使用Java存儲過程的場合 461

27.5.2如何調試Java存儲過程 462

27.6小結 463

第28章技術綜合 465

28.1OracleXML平台 465

28.2XML處理層決策 466

28.3針對XML的資料庫設計決策 467

28.3.1XMLTypeCLOB 468

28.3.2XMLType視圖 468

28.3.3存儲在OracleXMLDB倉庫

中的XML 469

28.4Java、C、C++和PL/SQL決策 469

28.5擴展OracleXML平台 471

附錄AXML標準社團與XML開放規範 473

A.1W3C規範簡介 473

A.1.1W3CXML規範 474

A.1.2W3CDOM規範 474

A.1.3SAX規範 475

A.1.4W3C命名空間規範 475

A.1.5W3CXMLSchema規範 475

A.1.6W3CXMLQuery規範 475

A.1.7W3CXSLT和XPath規範 476

A.1.8W3CXMLPipelineDefinition

Language規範 476

A.1.9W3CXMLProtocol 476

A.2Java社區過程規範 477

A.2.1SUNJAXB規範 477

A.2.2SunJAXP規範 477

A.2.3SunStAX規範 477

A.3 ISOSQL/XML規範 477

A.4 Oracle技術資源 477

A.5其他有用資源 478

術語表 479

相關詞條

相關搜尋

熱門詞條

聯絡我們