Data Accessor 函數
本節中的主題討論並提供 data-accessor 函數的範例程式碼。
了解 fn:data()、fn:string() 與 text()
XQuery 有一個函數 fn:data() 可從節點擷取純量、具類型的值,有一個節點測試 text() 可傳回文字節點,還有一個函數 fn:string() 可傳回節點的字串值。它們的用法很容易混淆。以下是在 SQL Server 中正確使用它們的指導方針。XML 執行個體 <age>12</age> 是用來舉例說明的。
不具類型的 XML:路徑運算式 /age/text() 會傳回文字節點 "12"。函數 fn:data(/age) 會傳回字串值 "12",而 fn:string(/age) 也是。
具類型的 XML:針對任何簡單的具類型的 <age> 元素,運算式 /age/text() 都會傳回靜態錯誤。在另一方面,fn:data(/age) 會傳回整數 12。fn:string(/age) 會產生字串 "12"。