---
title: "データレポートのためのXPath式"
date: "2013-09-27"
categories: 
  - "xpath"
tags: 
  - "altova-xmlspy"
  - "authentic"
  - "epub"
  - "stylevision"
  - "xml-reports"
  - "xpath"
Descriptions: Learn about using XPath to select data for reports in Altova StyleVision. 
description: この記事では、XMLSpyやStyleVisionにおいて、XPath式を活用して効果的なデータレポートを作成する方法について解説します。具体的には、インタラクティブな電子フォームやグラフ作成についても取り上げます。
---
Status: #blog

Tags:  #altova-xmlspy #authentic #epub #stylevision #xml-reports #xpath

Categories: [xpath+xquery](/blog/ja/category/xpathxquery.md)
# データレポートのためのXPath式

以前の記事「[XPath式を使用してデータ選択を絞り込む](https://www.altova.com/blog/2013/09/use-xpath-expressions-to-refine-data.html)」では、米国教育省が提供する大規模なデータセットの中から、特定のテーブルのデータを選択するために、XMLSpyを使用してXPath式を作成する方法について説明しました。

![StyleVisionにおけるXPathデータ選択に基づいたHTMLレポート](https://lh3.ggpht.com/-8oo4VgEw2gE/UjnhznO7ahI/AAAAAAAABTA/MgScZv75SRE/clip_image001%25255B3%25255D.png?imgmax=800 "An HTML report based on XPath data selection in StyleVision")

その作業は、以下で使用することができます [XMLSpy](https://www.altova.com/ja/xmlspy.html) 迅速に作成するために [StyleVision](https://www.altova.com/ja/stylevision.html) データから得られた重要なポイントを伝えるためのレポートや電子フォームのデザインを作成します。 <!--more--> StyleVisionで、XMLSpyで作成したgradData XMLスキーマとXMLファイルに基づいて、シンプルなデザインから始めることができます。XMLSpyで最終的なチャート設定を保存したので、StyleVisionでそのチャートデザインを再度読み込むことも可能です。

![データレポートのデザインにおけるStyleVisionの活用](https://lh5.ggpht.com/-xiB7bV790Jk/Ujnh0IRLadI/AAAAAAAABTE/2Iu9DewDrVE/clip_image002%25255B3%25255D.png?imgmax=800 "StyleVision design for the data report")

XMLSpyで作成したXPath式 `set setnum="FOS"` を、大きなXMLファイルに含まれる複数のテーブルの中から、特定のテーブルのみを選択するために、2つの箇所で使用します。この式は、`setnum` 属性が "FOS" である `/data/set` 要素のみに一致します `set setnum="FOS"`.

まず、条件に基づいて説明要素の出力を制御するための表現を使用します。各テーブルには、有用なグラフのタイトルとして機能する説明が含まれています。この条件を指定するためのXPath式は、プロパティ設定のヘルプウィンドウに入力できます。

![条件制御に関するプロパティウィンドウ。XPath式が表示されます](https://lh5.ggpht.com/-YG9jeuYhz60/Ujnh0nD5kOI/AAAAAAAABTM/e8991AZ1Mmo/clip_image003%25255B3%25255D.png?imgmax=800 "Properties window for the condition control, showing the XPath expression")

その表現は、カーソルが条件の上に移動したときに表示されます

![デザインウィンドウにXPathが表示されます](https://lh6.ggpht.com/-29GKlKQI2lg/Ujnh1IkwNKI/AAAAAAAABTU/uwAQH1bDzsU/clip_image004%25255B3%25255D.png?imgmax=800 "XPath displayed in the design window")

また、グラフの設定ダイアログ内でXPath式を使用して、グラフに表示するデータ行を選択します

![グラフ設定ダイアログにおけるデータ選択のためのXPath](https://lh3.ggpht.com/-2CPnWbnUFDo/Ujnh1pCrmCI/AAAAAAAABTc/sSVaLkPHNo4/clip_image005%25255B3%25255D.png?imgmax=800 "XPath for data selection in the chart settings dialog")

これらの2つの例によって、この記事の冒頭に表示されている最初の画像に示されるHTMLコードが生成されました。

**XPath式とコンボボックスを組み合わせることで、ユーザーが選択できるようになります**

レポートをインタラクティブな形式に変換することができます [Authentic](https://www.altova.com/ja/authentic.html) e-Formにおいて、XPath式内の変数としてXML要素を使用し、ハードコーディングされた文字列「FOS」の代わりに、XML要素の内容を動的に指定することができます。これにより、ユーザーがコンボボックスを通じてXML要素の内容を設定できるようになります。

この機能を実現するために、一時的なユーザー選択情報を保存するための別のXMLファイルを挿入します。そのファイルの内容は、以下にStyleVisionのデザイン概要ウィンドウとスキーマツリーウィンドウに表示されます。

![デザインの概要と、複数の動作可能なXMLファイルを一覧表示するスキーマツリー](https://lh3.ggpht.com/-Im-cnaYif1U/Ujnh2Cw5PcI/AAAAAAAABTk/C4XnAC8TpC8/clip_image006%25255B3%25255D.png?imgmax=800 "Design Overview and Schema Tree showing multiple working XML files")

そのコンボボックスを、フォームの上部、説明文とグラフの上側に配置することができます。

![インタラクティブな操作を可能にするために、デザインにコンボボックスを追加しました](https://lh5.ggpht.com/-bVe6I8apjyQ/Ujnh3ICXv6I/AAAAAAAABTs/MlP9zxtIb6U/clip_image007%25255B3%25255D.png?imgmax=800 "A combo box added to the design for interactive contro")

StyleVisionでは、コンボボックスの動作を定義する方法がいくつか用意されています。ここでは、表示される項目と、それに対応するXML値のリストを使用して説明します。

![コンボボックスの表示項目とXML値の定義](https://lh4.ggpht.com/-FKR2V28AAo0/Ujnh3rnMaSI/AAAAAAAABT0/AxeFDeQ3O5I/clip_image008%25255B3%25255D.png?imgmax=800 "Combo box defintion of Visible Entries and XML values")

このコンボボックスは、ユーザーが選択した内容に基づいて、"userselections.xml"ファイルにXML形式の値が設定されます。その後、この値を"gradData.xml"ファイル内の"setnum"属性の値と比較することができます。

次に、XPath式を2つとも修正する必要があります。説明フィールドに適用される条件のための新しいXPath式は次のとおりです

../@setnum=$XML2/userchoice/chart

以下に示すように、プロパティウィンドウで確認できます。

![ユーザーが選択した表示に合わせて、XPath式を更新しました](https://lh3.ggpht.com/-JdpIuvVUwkg/Ujnh4LTVkgI/AAAAAAAABT8/zgCirqKk4N4/clip_image009%25255B3%25255D.png?imgmax=800 "Updated XPath expression for user-selected display")

新しいXPath式で、グラフデータは `$XML/data/set[@setnum=$XML2/userchoice/chart]/row` で指定されます

以下に示すのは、グラフ設定ダイアログに表示される設定項目です。

![グラフ設定ダイアログのXPathを更新しました](https://lh5.ggpht.com/-dGod4uRG51s/Ujnh4o79oAI/AAAAAAAABUE/4ARuRxZhoY4/clip_image010%25255B3%25255D.png?imgmax=800 "Updated XPath in the chart settings dialog")

StyleVisionには、上記のXPath式それぞれに表示されている「編集」ボタンをクリックすることでアクセスできる、XPath式エディタが含まれています。このXPath式エディタには、XPath 1.0およびXPath 2.0の記述を支援するための、構築モードと評価モードが用意されています。構築モードでは、記述効率を高めるために、リアルタイムでの構文チェックと、自動補完機能が提供されます。XPathエディタは、以下に縮小表示で示されています

![XPath ビルダー (簡易表示)](https://lh5.ggpht.com/-Ub_TN4ToohM/Ujnh5S626lI/AAAAAAAABUM/HiponeePKfk/clip_image011%25255B3%25255D.png?imgmax=800 "XPath Builder (reduced view)")

コンボボックスのサイズを、最も長い入力に合わせて調整した後、eフォームは以下のようになります

![データレポート用のインタラクティブな電子書籍](https://lh6.ggpht.com/-0yA20dK6nbU/Ujnh6j9GF7I/AAAAAAAABUU/g2vu5nIXBPk/clip_image012%25255B3%25255D.png?imgmax=800 "Interactive e-Pub for data reporting")

このコンボボックスを使用すると、ユーザーは他の任意のグラフを選択できます

![コンボボックスのドロップダウンリストから新しいユーザーを選択します](https://lh4.ggpht.com/-IG1CxL7EX54/Ujnh7K_KfpI/AAAAAAAABUc/DIEOPx80NSU/clip_image013%25255B3%25255D.png?imgmax=800 "New user selection from combo-box drop-down")

新しい選択肢のXML値が、既存の内容を置き換えます `<chart>` ユーザーが選択した内容が記述されている "userselections.xml" ファイル内の要素に対して、両方の XPath 式が実行され、それぞれ新しい結果が生成されます

![更新されたEPUB形式のレポート](https://lh3.ggpht.com/-zjsWOtn6bhQ/Ujnh7rIzJ7I/AAAAAAAABUo/NOL594co0Bg/clip_image014%25255B3%25255D.png?imgmax=800 "Updated e-Pub report")

[**こちらをクリックして、Altova MissionKitの無料試用版をダウンロードしてください。**](https://www.altova.com/ja/download-trial.html)**XMLSpy、MapForce、StyleVisionなどが含まれており、XPathを使って独自のデータ選択を効率化することができます！**
