XQuery - XML Query:エックスクエリー

XML Queryとは、Web上のXMLデータの収集のために、柔軟で容易なデータ抽出方法を提供する世界的な標準化仕様です。

クエリ(Query)とは、データベースに対して特定の情報を検索(問合せ)することを意味するもので、「リレーショナルデータベースからのSQLによるデータ抽出」と同じように、XMLデータからデータ・コンテンツの収集が可能になるように開発されています。

現在の標準化活動では、XML selection(XPath2)といった次世代標準への対応も視野に入れており、XMLのシリアル化、全文検索、機能的なXMLデータモデルの提供、Webデータを操作するための機能・操作用の標準セットなどの提供を目指しています。

  1. XML Query に関連する仕様
  2. その他の関連仕様
  3. XML Query 文法チェックページのご紹介
  4. 簡単なサンプル

エックスクエリー:W3C仕様公開サイト(英語表記) 【URL】:http://www.w3.org/XML/Query

XML Query に関連する仕様

● XQuery 1.0: An XML Query Language
XMLデータのあらゆる型を広く活用できるように設計されたクエリ言語の仕様です。
URL http://www.w3.org/TR/xquery/
ステータス W3C 勧告候補
日付 2006/06/08
 
● XML Query (XQuery) Requirements
XML Queryのデータモデル、代数、クエリ言語のために目標、必要条件、使用法についてのシナリオを指定するための仕様です。
URL http://www.w3.org/TR/xquery-requirements
ステータス W3C ワーキングドラフト
日付 2005/06/03
 
● XQuery 1.0 and XPath 2.0 Formal Semantics
XQuery 1.0とXPath 2.0の意味論を形式的に定義するための仕様です。
URL http://www.w3.org/TR/xquery-semantics/
ステータス ワーキング ドラフト
日付 2005/11/03
 
● XML Query Use Cases
XML Queryの使用方法のシナリオを指定した文書です。
URL http://www.w3.org/TR/xquery-use-cases/
ステータス ワーキング ドラフト
日付 2005/09/15
 
● XML Syntax for XQuery 1.0 (XQueryX)
XQuery 1.0のためのXMLシンタックスを表現するための仕様です。
URL http://www.w3.org/TR/xqueryx/
ステータス ワーキング ドラフト
日付 2005/04/04
 

その他の関連仕様

● XQuery 1.0 and XPath 2.0 Data Model
XQuery 1.0とXPath 2.0のデータモデル(XPath 2.0とXSLT 2.0とXQueryと、それを参照する他の仕様データモデル)を定義している仕様です。
※このデータモデルは、XPath 1.0のデータモデルとXML Queryの初期の研究のデータモデルに基づいています。
URL http://www.w3.org/TR/xpath-datamodel/
ステータス W3C 勧告候補
日付 2006/07/11

● XSLT 2.0 and XQuery 1.0 Serialization
XSLT 2.0とXQuery 1.0の仕様書とそれらを参照する他の仕様のシリアル化を定義している仕様です。
URL http://www.w3.org/TR/xslt-xquery-serialization/
ステータス W3C 勧告候補
日付 2006/07/08

● XQuery 1.0 and XPath 2.0 Functions and Operators
XML Schema Part 2: Datatypesで定義されたデータ型と、XPath 2.0・XQuery 1.0・XSLT 2.0・その他のXML標準に関連するものに使用されるために定義されたデータ型の基本操作と機能を定義する仕様です。
URL http://www.w3.org/TR/xpath-functions/
ステータス W3C 勧告候補
日付 2006/07/08

● XPath Requirements Version 2.0
XPath 2.0のための必要条件を記述し、XPath 2.0・XQuery 1.0 and XPath 2.0 Functions and Operators・XQuery 1.0 and XPath 2.0 Data Modelの結果を解釈する仕様です。
URL http://www.w3.org/TR/xpath20req/
ステータス ワーキング ドラフト
日付 2005/06/03
 
● XML Path Language (XPath) 2.0
XQuery 1.0とXPath 2.0のデータモデルを定義するデータモデルに一致する値の処理を可能にする表現言語です。
※この言語名は、XMLツリーノードの階層的な符号付け手段を提供する、最も特徴的である「パス表現」に由来します。
URL http://www.w3.org/TR/xpath20/
ステータス W3C 勧告候補
日付 2006/07/08
 
● XML Query and XPath Full-Text Requirements
XQueryとXPathで使用される全文検索のための必要条件を指定するための仕様です。
URL http://www.w3.org/TR/xquery-full-text-requirements/
ステータス ワーキング ドラフト
日付 2003/05/02
 
● XML Query and XPath Full-Text Use Cases
XML QueryとXPath2の一部として、全文検索のための使用方法のシナリオを指定するための仕様です。
URL http://www.w3.org/TR/xmlquery-full-text-use-cases/
ステータス ワーキング ドラフト
日付 2006/05/01
 
● XML Query and XPath Full-Text
全文検索可能な、XQuery 1.0とXPath 2.0を拡張する言語であるXQuery 1.0のXPath 2.0全文検索のシンタックスと形式的な意味論を定義する仕様です。
URL http://www.w3.org/TR/xquery-full-text/
ステータス ワーキング ドラフト
日付 2006/05/01

XML Query 文法チェックページのご紹介

● XQuery 1.0 Grammar Test Page
このページはXQuery 1.0のリーダとパーサ実装者にツールを提供するものです。表現を入力をしたり、パースのツリー図の表示を行ったり、また構文上正しくない場合のエラー結果を得ることができます。
URL http://www.w3.org/2004/08/applets/xqueryApplet.html

簡単なサンプル

XML文書
Productlist.xml
<?xml version="1.0" encoding="UTF-8" ?>
<Productlist>
<package>
<category id="ASTERIA"/>
<name option="no">ASTERIA Server Enterprise Edition</name>
</package>
<package>
<category id="ASTERIA"/>
<name option="yes">ASTERIA Server Standard Edition</name>
<option>
<adapter>Notes/Domino Adapter</adapter>
<adapter>Excel Adapter</adapter>
<adapter>LDAP Adapter</adapter>
<adapter>WebMacro Adapter</adapter>
<adapter>全銀TCP/IP Adapter</adapter>
</option>
</package>
<package>
<category id="ASTERIA"/>
<name option="no">ASTERIA Designer</name>
</package>
<package>
<category id="XMLTOOL"/>
<name option="no">iPEX</name>
</package>
<package>
<category id="XMLTOOL"/>
<name option="no">iXSLT</name>
</package>
<package>
<category id="XMLTOOL"/>
<name option="no">iMaker for Excel</name>
</package>
</Productlist>
XQuery文書
product.xquery
<?xml version="1.0" encoding="UTF-8" ?>
<Product>
FOR $product IN document("Productlist.xml")//package
<asteria>
 WHERE (&product/category/@id="ASTERIA")
 ORDER BY &product/name
 RETURN
 {
<name>&product/name/text()</name>
 ORDER BY &product/option/name
 IF (&product/name/@option = "yes")
 THEN
 RETURN
  {
    <option>&product/option/name/text()</option>
  }
 }
</asteria>
<xmltool>
 WHERE (&product/category/@id="XMLTOOL")
 ORDER BY &product/name
 RETURN
 {
   <name>&product/name/text()</name>
 }
</xmltool>
</Product>
処理結果 <?xml version="1.0" encoding="UTF-8" ?>
  <Product>
   <asteria>
    <name>ASTERIA Server Enterprise Edition</name>
   </asteria>
   <asteria>
    <name>ASTERIA Server Standard Edition</name>
    <option>Notes/Domino Adapter</option>
    <option>Excel Adapter</option>
    <option>LDAP Adapter</option>
    <option>WebMacro Adapter</option>
    <option>全銀TCP/IP Adapter</option>
   </asteria>
   <asteria>
    <name>ASTERIA Designer</name>
   </asteria>
   <xmltool>
    <name>iPEX</name>
   </xmltool>
   <xmltool>
    <name>iXSLT</name>
   </xmltool>
   <xmltool>
    <name>iMaker for Excel</name>
   </xmltool>
  </Product>

 

日時: 2006年07月12日 15:00 |  | TrackBack

キーワードのIndex一覧へ

このページのトップ