---
title: "XPath式を使用して、データ選択をより詳細に絞り込むことができます"
date: "2013-09-12"
categories: 
  - "data-integration"
  - "xpath"
tags: 
  - "altova-xmlspy"
  - "mapforce"
  - "stylevision"
  - "xml-schema"
  - "xmlspy"
  - "xpath"
description: XMLSpy、MapForce、StyleVisionなどのツールを使用して、XMLドキュメントからより詳細なデータを選択するために、XPath式を効果的に活用する方法を学びましょう。
---
Status: #blog

Tags:  #altova-xmlspy #mapforce #stylevision #xml-schema #xmlspy #xpath

Categories: [data-integration](/blog/ja/category/data-integration.md) | [xpath+xquery](/blog/ja/category/xpathxquery.md)
# XPath式を使用して、データ選択をより詳細に絞り込むことができます

ビッグデータ時代において、私たちはしばしば、より大きなファイルの一部に対してカスタマイズされたビューを作成することで、分析やコミュニケーションを簡素化する必要があります。[XPath](https://www.altova.com/ja/solutions/xpath.html)は、XML Path Languageの略で、ユーザーが大規模なXMLドキュメントの特定の部分にアクセスできるように設計されています。[XMLSpy](https://www.altova.com/ja/xmlspy.html)は、XPathアナライザーウィンドウと、XMLデータをグラフ表示するためのインターフェースでXPathをサポートしています。[MapForce](https://www.altova.com/ja/mapforce.html)は、XMLデータのマッピングにおいてXPath関数をサポートし、[StyleVision](https://www.altova.com/ja/stylevision.html)は、条件付きテンプレート、拡張テンプレート、およびテンプレートフィルタリングにおいてXPathをサポートしています。

[![顔認識機能搭載のノートパソコン](/blog/images/faces-laptop.jpg)](faces-laptop.jpg)

<!--more-->

Altovaのツールは、可能な限り同じユーザーインターフェースを採用しているため、あるツールで習得したスキルは、他のツールでも容易に活用できます。以前にも、StyleVisionにおける[XPathの自動計算機能](https://www.altova.com/blog/2012/04/xpath-enhances-xml-reports.html)についてブログで紹介しましたが、今回は別の例を見てみましょう。

非常に多くの場合、大規模なデータセットには、例えば、米国教育省が提供する、最近の大学卒業生の雇用に関する情報のような、複数の個別のテーブルが含まれています。以下に、その例をCSVファイルとして表示します

![大学卒業生の雇用に関するデータのCSV形式での表示](https://lh6.ggpht.com/-aeLkzdD4tbU/Ui4gx-TsrpI/AAAAAAAABRw/0uEPSuijaW8/image%25255B2%25255D.png?imgmax=800 "CSV view of employment data for college graduates")

各表は、異なる専攻分野および卒業年度の卒業生に関する、特定の雇用統計データを示しています。

XMLSpyのスキーマビューで表示される、データを記述するためのXMLスキーマは、例えば以下のようになります。各テーブルは<set>要素で記述されており、<row>要素を展開すると、各学部や専攻分野に関する追加の子要素が表示されます。

![XMLSpyのスキーマ表示機能](https://lh3.ggpht.com/-d_0HFon1IzY/Ui4gyFoMi1I/AAAAAAAABR0/LcXgUVXBezQ/image%25255B5%25255D.png?imgmax=800 "XMLSpy Schema view")

シンプルなMapForceの設定で、CSVファイルをXMLスキーマにマッピングすることで、データをXML形式に変換できます。変換されたデータは、XMLSpyで開くことができます

![XMLSpyのテキスト表示機能による、データの一部を表示した画面](https://lh6.ggpht.com/-WsWwQyP2pUw/Ui4gyphhlHI/AAAAAAAABSA/Ta4HHQlEnls/image%25255B8%25255D.png?imgmax=800 "XMLSpy text view of a portion of the data")

もし、あるグラフを作成したい場合は、XMLSpyのグリッドビューから始めるのが最も簡単です。そこで、まずサブテーブルを1つ選択し、次に右クリックメニューから「新規グラフ」を選択します

![XMLSpyにおけるXMLデータのグリッド表示](https://lh5.ggpht.com/-jvRELkv-RVA/Ui4gzJRqC1I/AAAAAAAABSI/9Dd2txJYtJU/image%25255B11%25255D.png?imgmax=800 "XMLSpy Grid View of the XML data")

次に表示される「グラフデータ選択」ダイアログでは、XMLSpyが自動的に選択されたデータを記述するXPath式を生成します

![XMLSpy チャート データ選択 ダイアログ](https://lh6.ggpht.com/-4kRmhk_bfIg/Ui4gzkYpquI/AAAAAAAABSM/Jf8xVph3Gsg/image%25255B14%25255D.png?imgmax=800 "XMLSpy Chart Data Selection dialog")

対応する折れ線グラフは、以下のようになります

![グリッドビューで選択されたデータを示す、XMLSpyのグラフ](https://lh5.ggpht.com/-v1E5tr1BolU/Ui4gz4cHZ2I/AAAAAAAABSU/crPjFcYAGBw/image%25255B17%25255D.png?imgmax=800 "XMLSpy chart of the data selected in Grid View")

別のテーブルのグラフを作成するには、データに戻って別のデータセットを手動で選択するか、XPath式を直接編集することができます。データ選択ウィンドウに表示されていた元の式は、`/data/set[3]/row` でした

数値「3」を変更することで、別のデータセットを選択できます。あるいは、`setnum` 属性を利用して、ファイル内の順番ではなく、内容に基づいてテーブルを選択することも可能です。これは、後でデータが変更された場合に、特定のテーブルを明確に選択するためのより良い方法です。例えば、将来のバージョンで、パートタイムの雇用に関するテーブルが2番目の位置に挿入された場合、その後のすべてのテーブルの順番番号が変更される可能性があります。

特定の属性（setnum）を使用してデータを抽出し、卒業生の就職状況を分野別にパーセンテージで表示するグラフを作成するためのXPath式は、以下のようになります。![グラフデータ選択ダイアログでのXPath式の編集]

(https://lh3.ggpht.com/-79L2DcOC2qQ/Ui4g0MGs4mI/AAAAAAAABSg/WrX4KY8qlaE/image%25255B20%25255D.png?imgmax=800 "グラフデータ選択ダイアログでのXPath式の編集")

従業員が、自身の専攻分野と密接に関連する職種に就いている割合を示すグラフは、以下のようになります

![XMLSpyを使用したグラフで、卒業生が専攻分野に近い職種に就いている状況を示しています](https://lh4.ggpht.com/-UFPLM1hf7yg/Ui4g0ikH27I/AAAAAAAABSo/nLKFSjlitYg/image%25255B23%25255D.png?imgmax=800 "XMLSpy line chart for graduates employed close to their fields of study")

XPath式を開発する際に、さまざまなオプションを試したい場合は、XPathアナライザーウィンドウが便利なツールです。XPathアナライザーは、入力中に構文をチェックし、結果をプレビュー表示します

![XMLSpy XPathアナライザーウィンドウ](https://lh3.ggpht.com/-PqfeXYaADD8/Ui4g01aF9gI/AAAAAAAABSs/HGhCgbfKsdM/image%25255B26%25255D.png?imgmax=800 "XMLSpy XPath Analyzer window")

次に、XMLSpyで作成したチャートやXPathデータ選択式をStyleVisionに取り込み、データレポート用のスタイルシートを作成します。この点については、今後の記事で詳しく解説します。

**その間、** [**こちらをクリックして、Altova MissionKitの無料試用版をダウンロード**](https://www.altova.com/ja/download-trial.html)**できます。XMLSpy、MapForce、StyleVisionなどが含まれており、ぜひご自身で試してみてください。**
