市場部收集講師投稿 (Word 模板) → 人工複製粘貼至審核系統、郵件系統、官網 CMS、RSS 源。文檔內容被「鎖」在二進制格式中,無法程序化提取結構化信息。
word/document.xmlcontent.xml

-- 1. 創建 UTF-8 數據庫 (XML 列要求)
CREATE DATABASE ODF AUTOMATIC STORAGE YES USING CODESET UTF-8 TERRITORY US;
-- 2. 創建文檔表:XML 原生類型 (非 CLOB)
CREATE TABLE DB2ADMIN.DOCUMENT (
ID INT NOT NULL PRIMARY KEY,
OWNER VARCHAR(128),
DOC XML
);
php.ini 添加 extension=php_zip.dllprepare("INSERT INTO DB2ADMIN.DOCUMENT (ID, OWNER, DOC) VALUES (2, 'Linux Office', ?)");
$stmt->bindParam(1, $xml, PDO::PARAM_LOB, strlen($xml));
$stmt->execute();
echo "Result: " . $db->errorCode() . "\n";
zip_entry_close($entry);
}
}
zip_close($zip);
}
?>
$zip = zip_open("c:/submit.docx");
// ...
if (zip_entry_name($entry) == 'word/document.xml') { ... }
// INSERT ID=1, OWNER='BILLY ONAIRE'
$xqry = <<query($xqry);
$row = $result->fetch();
echo $row[1]; // 輸出 HTML 片段
$xqry = <<
db2admin Connected
<h1>Introduction to Web 2.0</h1><p>This is a document that will impress upon ...</p>
<h1>Abstract</h1><p>The nature of the industry is again turning to the browser ...</p>
-- 針對常用 XPath 路徑創建 XML 索引
CREATE INDEX idx_doc_heading ON DB2ADMIN.DOCUMENT(DOC)
GENERATE KEYS USING XMLPATTERN '/office0:document-content/office0:body/office0:text/office0:h/@text0:style-name'
AS SQL VARCHAR(100);
-- 啟用 XML 列採樣統計
RUNSTATS ON TABLE DB2ADMIN.DOCUMENT AND INDEXES ALL ALLOW WRITE ACCESS;
| 傳統方案 | pureXML 方案 |
|---|---|
| 文檔存檔案系統,元數據存關係表,關聯脆弱 | 文檔原生 XML 存儲,關係欄位與 XML 列同表,ACID 保證 |
| 提取內容需外部解析器,版本升級易斷 | 資料庫內建 XQuery 引擎,SQL/XML 無縫互操作 |
| 全文檢索需第三方引擎 (Lucene/ES) | XML 索引 + Net Search Extender 整合 |
| Schema 演進困難 | XML Schema 驗證、演進、版本管理原生支持 |
DB2 9 pureXML 將「文檔」從非結構化二進制邊緣拉入結構化數據核心。通過「ZIP 解壓 → XML 入庫 → XQuery 再利用」三步走,企業可將 Office/ODF 文檔轉化為可查詢、可索引、可集成的數據資產,徹底打破文檔數據孤島。下一步建議:接入全文檢索、構建文檔知識圖譜、實現語義級搜索與推薦。