---
title: "DiffDog 2010 を使用して XML スキーマを比較する"
date: "2009-12-10"
tags: 
  - "altova-xmlspy"
  - "diff-merge-tool"
  - "diffdog"
  - "file-comparison"
  - "mapforce"
  - "missionkit"
  - "v2010"
  - "xml-schema"
  - "xmlspy"
  - "xslt"
description: DiffDog 2010が、XMLスキーマの比較機能をどのように強化しているかを探求します。新しいツールにより、差異の可視化、要素のマッピング、そして効率的なXSL変換の生成が可能になります。
---
Status: #blog

Tags:  #altova-xmlspy #diff-merge-tool #diffdog #file-comparison #mapforce #missionkit #v2010 #xml-schema #xmlspy #xslt

Categories: [Altova](/blog/ja/category/altova.md) 
# DiffDog 2010 を使用して XML スキーマを比較する

DiffDog 2010には、XMLスキーマを比較するための強力な新機能が搭載されており、XML開発者などが、XMLスキーマの進化に合わせて既存のXMLデータファイルを更新する際に役立ちます。この記事では、この機能の具体的な使用例を紹介します。

新しい機能について詳しく説明する前に、まず[DiffDogファイル比較](https://www.altova.com/ja/diffdog/file-diff-tool.html)機能を使って、2つのXMLスキーマを簡単に比較してみましょう。もちろん、以前のバージョンと同様に、[DiffDog 2010](https://www.altova.com/ja/diffdog/diff-merge-tool.html)のユーザーは、XMLスキーマを.xsdファイルとして比較し、その違いを色分けされた、XMLに対応した形式で表示することができます。

[![DiffDogによるXMLスキーマのファイル比較表示](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image1_thumb.gif "DiffDog file comparison view of XML Schemas")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image1.gif) 

これは、XMLスキーマの差異を特定し、管理するための有効な方法です。特に、時間とともに進化する業界標準のXMLスキーマの改訂内容を確認したい場合に役立ちます。[新着情報](https://www.altova.com/ja/whatsnew.html) DiffDog 2010には、追加機能があります [XMLスキーマの差分分析](https://www.altova.com/ja/diffdog/xml-schema-diff-tool.html) この機能は、2つのXMLスキーマを並べて表示し、共通の要素を自動的に識別するとともに、ユーザーが差異を比較し、XMLデータファイルを更新するためのXSL変換を生成できるようにします。以下は、上記のファイル比較で表示された同じ2つのXMLスキーマを、新しいXMLスキーマ比較機能を使って開いたときの最初の画面です。

[![DiffDogによる、XMLスキーマ間の初期差分比較表示](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image2_thumb.gif "Initial DiffDog XML Schema Differencing view of XML Schemas")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image2.gif) 

2つのXMLスキーマの基本的な要素は、自動的に関連付けられます。ツールバーにある「比較」ボタンをクリックすると、2つのXMLスキーマ間で同一の要素が自動的に関連付けられます。

[![DiffDog XML 差分比較ツール](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image3_thumb.gif "DiffDog XML Differencing")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image3.gif) 

(もちろん、右クリックメニューから「XMLスキーマの比較」を選択したり、メニューバーの「差分とマージ」から「比較開始」を選択したり、またはF5キーを押すこともできます。DiffDogは、同じ作業を行うための様々なオプションを提供しているので、ご自身のやり方に合わせて作業を進めることができます。)

次に、2つのXMLスキーマで名前が異なる要素を、ポインターを使って手動で関連付けることができます。今回の例では、右側のXMLスキーマのバージョンにおける変更の多くは、要素に新しい名前を割り当てているだけで、これは、XMLスキーマとそのデータファイルを社内で共有する際に、より分かりやすくなるようにするためです。

[![DiffDogのXMLスキーマ比較機能において、ユーザーが定義したXMLスキーマを表示します](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4_thumb.gif "User-mapped XML Schemas in DiffDog XML Schema Differencing view")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4.gif) 

すべての要素がマッピングされると、左側のXMLスキーマに基づいて、既存のXMLデータファイルを変換するためのXSLTファイルを生成できます。これにより、新しいバージョンの仕様に合わせた変更を反映させることができます。この機能は、XML開発者が手作業でXSL変換を記述し、デバッグする煩雑な作業から解放することを目的としています。

[![DiffDog の差分表示とマージ機能メニュー](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4a_thumb.gif "DiffDog Diff and Merge Menu")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image4a.gif) 

以下に、左側のXMLスキーマに基づいて作成された、元のXMLデータファイルの例を示します。これは、[Altova XMLSpy](https://www.altova.com/ja/xmlspy.html)で表示されたものです

[![XMLSpyで表示されるXMLデータファイル](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image5_thumb.gif "XML data file viewed in XMLSpy")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image5.gif) 

以下に、DiffDog 2010で作成したXSL変換を適用した後の出力ファイルを示します。作者要素が「writer」に、メールアドレスが「feedback」に置き換えられている点にご注目ください。

[![XSL変換後の結果をXMLSpyで確認しました](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image6_thumb.gif "XSL output viewed in XMLSpy")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image6.gif) 

変換が必要な既存のXMLファイルが多数ある場合、 [プロジェクト管理](https://www.altova.com/ja/xmlspy/xml-project-management.html) XMLSpyの機能は、このプロセスを自動化するのに役立ちます。また、XMLSpyのプロジェクトに外部フォルダを追加することも可能です。

[![XMLSpy プロジェクトヘルパーウィンドウ](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image7_thumb.gif "XMLSpy Project Helper Window")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image7.gif) 

各プロジェクトフォルダに対して、XMLSpyのプロパティダイアログを使用することで、検証に使用するXMLスキーマ、XSL変換、および出力先のデフォルト値を設定することができます。

[![XMLSpy プロジェクトフォルダのプロパティ ダイアログ](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image8_thumb.gif "XMLSpy project folder properties dialog")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image8.gif)

XMLSpyのプロジェクトヘルパーウィンドウで、入力フォルダを選択できます。そして、F10キーを押すだけで、そのフォルダ内のすべてのファイルを変換できます。

DiffDogでXMLスキーマの要素をマッピングする際、以前のバージョンのスキーマに該当する要素が存在しなかったため、パブリケーション要素を左側のマッピングから切り離した状態にしていました。つまり、XSLTを使用してXML入力ファイルを変換した場合、生成される出力にはパブリケーション要素が含まれません。もしパブリケーション要素が必須である場合、[Altova MapForce](https://www.altova.com/ja/mapforce.html)を利用することで、迅速な解決策を得ることができます。

DiffDogのオプションの一つに、XSLTではなくMapForceのマッピングを生成するというものがあります。このオプションを選択すると、MapForceが起動し、DiffDogで作成したマッピングが新しいMapForceのデザインとして既にロードされている状態になります（以下に示します）。

[![MapForce 新デザイン](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image10_thumb.gif "MapForce New Design")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image10.gif)

出版要素に対して、デフォルト値を定数として設定することで、マッピング機能を簡単に拡張できます。

[![MapForceの高度なデザイン機能](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image11_thumb.gif "MapForce enhanced design")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image11.gif) 

これで、MapForceからXSLファイルとして保存し、DiffDogで最初に設計したすべての要素のマッピングを再利用し、さらに定数を追加することができます。この新しいXSLを適用して元のXMLデータファイルを変換すると、出版要素のデフォルト値が含まれた結果が得られます。

[![出力結果の最終版をXMLSpyで確認しました](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image12_thumb.gif "Final version of output viewed in XMLSpy")](https://www.altova.com/blog/images/ComparingXMLSchemaswithDiffDog2010_B452/image12.gif) 

この投稿では、まずDiffDog 2010の新しいXMLスキーマ比較機能について説明しました。次に、シンプルながらも一般的な実例を詳しく解説することで、XMLSpyやMapForceとの緊密な連携を活用することで、さらに多くのタスクを容易に実行できることがわかりました。

これらのツール3点に加え、さらに多くのツールが、今日のソフトウェア開発者やXML開発者の多様な開発およびデータ管理ニーズに対応するために設計された、XML、データベース、UMLツールを統合した製品である[Altova MissionKit 2010](https://www.altova.com/ja/missionkit/software-development-tools.html)で、大幅な割引価格で提供されています。[こちらをクリックして](https://www.altova.com/ja/download/missionkit/software_development_tools_enterprise.html)、今すぐ無料トライアルをダウンロードしてください！
