---
title: "Groupon APIの利用方法 - 第3部"
date: "2011-08-23"
categories: 
  - "xpath"
tags: 
  - "altova-xmlspy"
  - "code-generation"
  - "data-integration"
  - "data-mapping"
  - "mapforce"
  - "missionkit"
  - "stylevision"
  - "xpath"
  - "xslt"
description: この記事では、MapForceとStyleVisionを使用して、Groupon APIから取得したXMLデータをHTMLに変換する方法について詳しく解説しています。また、将来的な更新にも対応できるよう、自動化の手法についても説明します。
---
Status: #blog

Tags:  #altova-xmlspy #code-generation #data-integration #data-mapping #mapforce #missionkit #stylevision #xpath #xslt

Categories: [xpath+xquery](/blog/ja/category/xpathxquery.md)
# Groupon APIの利用方法 - 第3部

このシリーズの最終回では、前回作成したGroupon APIのマッピングから生成されたXMLデータを、スタイルシートを適用してHTMLに変換します。以下に、前回作成したデータマッピングからのXML出力例を示します 

[![MapForceを使用して、Groupon APIから生成されたXMLデータ](https://lh3.ggpht.com/-h0F6UNg0mYE/TkrQemSqO1I/AAAAAAAAAfU/9P9AGv4m8A0/clip_image001_thumb.png?imgmax=800 "XML produced by MapForce from the Groupon API")](http://lh5.ggpht.com/-XL3rbj8xibk/Tkqn-_a3EnI/AAAAAAAAAfQ/4zpv56LY3n0/s1600-h/clip_image0013.png)

**XMLを変換するためのスタイルシートの割り当て** MapForceのマッピングにおける出力コンポーネントの設定ダイアログでは、[Altova StyleVision](https://www.altova.com/ja/stylevision.html)で作成されたスタイルシートを割り当てることができます。 

[![MapForceのコンポーネントにStyleVisionのスタイルシートを適用する](https://lh5.ggpht.com/-pEOLdoTlHi8/TkrQgawhHbI/AAAAAAAAAfc/oMOs9DkhVQg/clip_image002_thumb.png?imgmax=800 "Assigning a StyleVision Stylesheet to a MapForce component")](http://lh6.ggpht.com/-jkc4oqy44F8/TkrQfV8KTuI/AAAAAAAAAfY/SnuxbQJpTZA/s1600-h/clip_image0023.png)

データマッピング出力コンポーネントにスタイルシートを適用すると、MapForceとStyleVisionの機能を統合し、MapForceのマッピングウィンドウの最下部に、HTML、RTF、PDF、およびMicrosoft Word形式用の新しい一連のボタンが表示されます。（MapForceとStyleVisionの両方がコンピューターにインストールされている必要があります。） 

[![MapForceで使用可能な出力形式は、スタイルシートを通じて利用できます](https://lh6.ggpht.com/--s7AXIp_w0s/TkvWFVa96cI/AAAAAAAAAfk/7itaFHSma0c/clip_image003_thumb.png?imgmax=800 "MapForce ouput formats available through a stylesheet")](http://lh4.ggpht.com/-GfSEJ5Q-sTI/TkrQhetcQgI/AAAAAAAAAfg/HkruS5kOnHo/s1600-h/clip_image0033.png) 

これらの出力形式ボタンのいずれかをクリックすると、MapForceは以前の投稿で説明したように、データを正確に変換します。MapForceは、変換されたXMLデータをシームレスにStyleVisionに渡します。StyleVisionは、そのデータを選択された形式に変換し、MapForceは、変換されたドキュメントを「出力」ウィンドウに表示します。以下は、上記のStyleVisionのパワフルなスタイルシートが適用されたHTML形式のMapForceの出力ウィンドウの例です 

[![MapForceがGroupon APIから生成するHTML出力](https://lh6.ggpht.com/-jDCDPWVxHqw/TkvWGgysN5I/AAAAAAAAAfs/QDZMscS7T_Y/clip_image004_thumb.png?imgmax=800 "HTML output produced by MapForce from the Groupon API")](http://lh6.ggpht.com/-tjJnbT8WLrY/TkvWGE62H3I/AAAAAAAAAfo/iy0l9HADNAA/s1600-h/clip_image0043.png) 

MapForceの出力メニューを使用すると、XMLデータのマッピング結果や、スタイルシートに基づいてフォーマットされたHTMLドキュメントを保存できます。 

**スタイルシートの作成方法** 

当社では、Altova StyleVisionを使用して、Groupon APIのデータマッピング用のスタイルシートを設計しました。このスタイルシートは、MapForceの出力コンポーネントで使用されるXMLスキーマに基づいています。StyleVisionの直感的なインターフェースと、強力なデータアクセスおよび操作機能により、XMLファイルからHTML、RTF、PDF、およびMicrosoft Word形式で、魅力的なドキュメントを簡単に作成できます。以下のスクリーンショットは、Extreme GrouponスタイルシートのStyleVisionのデザインビューを示しています。青い番号付きの丸は、画像に続く各デザイン要素の位置を示しています。 

[![MapForceのGroupon APIマッピングで使用されるStyleVisionスタイルシート ](https://lh6.ggpht.com/-pnx-fT078tc/TkvWHLUifZI/AAAAAAAAAf0/66UAjZTag7I/clip_image005_thumb.png?imgmax=800 "StyleVision stylesheet for the MapForce Groupon API mapping ")](http://lh3.ggpht.com/-udSLWXUrC48/TkvWG3rY1rI/AAAAAAAAAfw/m_acYhFa4oY/s1600-h/clip_image0053.png) 

**SPSファイルの主な特徴**

1. ユーザーが定義したHTMLで、モバイルデバイス向けのビューポートメタタグを指定できます。これにより、コンピューターとモバイルデバイスの両方に対応した単一のHTMLファイルを生成するために、一つのスタイルシートを使用することができます  
    
2. ドキュメントのタイトルを、カスタマイズされたフォント、サイズ、および色で表示します  
    
3. オート計算機能を持つ要素は、XML入力ドキュメントに含まれる取引件数をXPathのカウント関数を使って数え、その合計値を挿入します  
    
4. 日付のタイムスタンプは、XML入力データファイルの末尾に日付要素が存在するにもかかわらず、ドキュメントの最上部に配置されています  
    
5. AltovaおよびGrouponのウェブサイトからの画像は、インラインの画像データとしてではなく、ハイパーリンクによって参照されています  
    
6. 水平線が、それぞれの取引内容を区切って表示します。HTMLドキュメントの場合、これらの線は自動的にブラウザのウィンドウ幅に合わせて調整されます  
    
7. さまざまな要素に対して、個別に設定されたフォントとサイズが適用されます  
    
8. 二列の表を使って、各取引内容を整理しています  
    
9. XMLファイル内のURLは、埋め込まれた画像、固定テキスト、および動的なデータに対して、動的にハイパーリンクとして割り当てられます

StyleVisionのパワフルなスタイルシート機能は、複数の.xsdファイル、既存の.cssスタイルシート、データベーススキーマ、XBRLの分類体系などを組み合わせることで、高度にフォーマットされたレポートを作成できます。さらに、さまざまなスタイルで自動生成されたグラフもレポートに含めることが可能です。また、StyleVisionを使用することで、データ入力フィールド、ドロップダウンメニュー、ラジオボタンなどを含む、高度な機能を備えた電子フォームを定義することもできます。 

**スタイルシートの変換プレビュー** 

StyleVisionを使用すると、スタイルシートをデザインする際に、作業用のXMLファイルを指定して、その結果をプレビューすることができます。また、デザインウィンドウの下部にあるボタンを使用することで、デザインを調整しながら、整形された作業ファイルを簡単に表示できます。今回は、MapForceのマッピング結果をXML形式で出力し、それを作業用ファイルとして指定しました。スタイルシートが完成すると、StyleVisionのHTMLプレビューは、上記のMapForceのHTML出力ウィンドウと完全に一致しました。モバイルデバイスでドキュメントを表示するには、HTMLをウェブサイトのページとして公開するか、メールの添付ファイルとして送信することができます。 

[![モバイルデバイスで、MapForceによってマッピングされたデータをHTML形式で表示します](https://lh4.ggpht.com/-Xd-xWOlrDcA/TkvWIWhzLVI/AAAAAAAAAf8/Nx5x5yHOlaU/clip_image006_thumb.png?imgmax=800 "HTML version of the MapForce mapped data on a mobile device")](http://lh5.ggpht.com/-iQk8CUjKs9s/TkvWH5NOz2I/AAAAAAAAAf4/Ko9ZkvHYH1o/s1600-h/clip_image0063.png) 

StyleVisionでは、スタイルシートそのものや作業ドキュメントの整形済みバージョンに加えて、作成されたXSLTファイルを保存し、StyleVisionアプリケーション外で、作成したスタイルシートを使用して他のXMLファイルを変換することができます。 

**次回の自動化について** 

将来的には、データマッピングを再度実行し、HTMLドキュメントを最新のデータで更新したい場合、そのプロセスを自動化する方法は2つあります

- MapForceは、以下の環境から実行できます [コマンドライン](https://www.altova.com/ja/mapforce/mapforce-api.html#MF_ed_comp_5) マッピング定義ファイルの名前を指定するパラメータや、さらにStyleVisionを呼び出して整形された出力を作成する機能があります  
    
- あなたは～することができます [ロイヤリティフリーのコードを生成します](https://www.altova.com/ja/mapforce/code-generation.html) XSLT、Java、C++、またはC#におけるデータ変換処理を、StyleVisionから提供されるXSLTコードと組み合わせることで、独自のアプリケーションを構築できます

XMLSpy、MapForce、StyleVisionは、すべて特別価格で提供されているAltova MissionKitにまとめて含まれています。MissionKitを使って、ウェブAPIからデータを変換するがいかに簡単であるか、ぜひご自身で体験してみてください [30日間の無料トライアルをダウンロード！](https://www.altova.com/ja/download/missionkit/software_development_tools_enterprise.html) 

**編集後記：** 弊社のGroupon APIから取得したデータを活用したオリジナルシリーズは、3つのパートで構成されており、以下のリンクをクリックして各パートをご覧ください。パート1： [Altova MapForce を使用した Groupon API の処理](https://www.altova.com/blog/2011/08/processing-groupon-api-with-altova.html) 複数のURLからデータを収集することで、動的な入力を作成する方法について説明します。 [MapForceを使ったGroupon APIの処理 - 第2部](https://www.altova.com/blog/2011/08/processing-groupon-api-with-mapforce.html) APIから取得したデータをどのようにフィルタリングし、必要な情報のみを抽出するために、出力形式をどのように定義したかを説明します。 [Groupon APIの利用方法 - 第3部](https://www.altova.com/blog/2011/08/processing-groupon-api-part-3.html) この機能は、出力結果をデスクトップ環境とモバイルデバイスの両方で最適化された単一のHTMLドキュメントとして整形する方法について説明し、繰り返し実行を自動化するための方法についても解説しています。
