最新のWeb開発のチュートリアル
 

XQuery関数


XQueryの1.0、XPath 2.0の、およびXSLT 2.0共有し、同じ機能をライブラリ。


XQuery関数

XQueryは、XPath式に構築されています。 XQuery 1.0およびXPath 2.0は、同じデータモデルを共有し、同じ関数と演算子をサポートします。

XPathの演算子

XPath関数

あなたはまた、XQueryで独自の関数を定義することができます。


XQueryのデータ型

XQueryは、XMLスキーマ1.0と同じデータ型を共有する(XSD)

XSD文字列

XSD日

XSD数値

XSDその他


関数呼び出しの例

式が表示される場合がありますどこの関数の呼び出しが表示されます。 以下の例を見てください:

実施例1:要素で

<name>{upper-case($booktitle)}</name>

実施例2:パス式の述部で

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

例3:let節で

let $name := (substring($booktitle,1,4))

XQueryのユーザー定義関数

あなたが必要なXQuery関数を見つけることができない場合は、自分を書くことができます。

ユーザー定義関数は、クエリまたは別のライブラリで定義することができます。

構文

declare function ユーザー定義関数についての注意:

  • 宣言functionキーワードを使用します
  • 関数の名前を付ける必要があります
  • パラメータのデータ・タイプは主にXMLスキーマで定義されたデータ・タイプと同じです
  • 関数の本体は、中括弧で囲む必要があります

クエリで宣言されているユーザー定義関数の例

declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
as xs:decimal?
{
let $disc := ($p * $d) div 100
return ($p - $disc)
};

Below is an example of how to call the function above:

<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>