DiffDog 2010 を使用して XML スキーマを比較する
DiffDog 2010には、XMLスキーマを比較するための強力な新機能が搭載されており、XML開発者などが、XMLスキーマの進化に合わせて既存のXMLデータファイルを更新する際に役立ちます。この記事では、この機能の具体的な使用例を紹介します。
新しい機能について詳しく説明する前に、まずDiffDogファイル比較機能を使って、2つのXMLスキーマを簡単に比較してみましょう。もちろん、以前のバージョンと同様に、DiffDog 2010のユーザーは、XMLスキーマを.xsdファイルとして比較し、その違いを色分けされた、XMLに対応した形式で表示することができます。
![]()
これは、XMLスキーマの差異を特定し、管理するための有効な方法です。特に、時間とともに進化する業界標準のXMLスキーマの改訂内容を確認したい場合に役立ちます。新着情報 DiffDog 2010には、追加機能があります XMLスキーマの差分分析 この機能は、2つのXMLスキーマを並べて表示し、共通の要素を自動的に識別するとともに、ユーザーが差異を比較し、XMLデータファイルを更新するためのXSL変換を生成できるようにします。以下は、上記のファイル比較で表示された同じ2つのXMLスキーマを、新しいXMLスキーマ比較機能を使って開いたときの最初の画面です。
![]()
2つのXMLスキーマの基本的な要素は、自動的に関連付けられます。ツールバーにある「比較」ボタンをクリックすると、2つのXMLスキーマ間で同一の要素が自動的に関連付けられます。
![]()
(もちろん、右クリックメニューから「XMLスキーマの比較」を選択したり、メニューバーの「差分とマージ」から「比較開始」を選択したり、またはF5キーを押すこともできます。DiffDogは、同じ作業を行うための様々なオプションを提供しているので、ご自身のやり方に合わせて作業を進めることができます。)
次に、2つのXMLスキーマで名前が異なる要素を、ポインターを使って手動で関連付けることができます。今回の例では、右側のXMLスキーマのバージョンにおける変更の多くは、要素に新しい名前を割り当てているだけで、これは、XMLスキーマとそのデータファイルを社内で共有する際に、より分かりやすくなるようにするためです。
![]()
すべての要素がマッピングされると、左側のXMLスキーマに基づいて、既存のXMLデータファイルを変換するためのXSLTファイルを生成できます。これにより、新しいバージョンの仕様に合わせた変更を反映させることができます。この機能は、XML開発者が手作業でXSL変換を記述し、デバッグする煩雑な作業から解放することを目的としています。
![]()
以下に、左側のXMLスキーマに基づいて作成された、元のXMLデータファイルの例を示します。これは、Altova XMLSpyで表示されたものです
![]()
以下に、DiffDog 2010で作成したXSL変換を適用した後の出力ファイルを示します。作者要素が「writer」に、メールアドレスが「feedback」に置き換えられている点にご注目ください。
![]()
変換が必要な既存のXMLファイルが多数ある場合、 プロジェクト管理 XMLSpyの機能は、このプロセスを自動化するのに役立ちます。また、XMLSpyのプロジェクトに外部フォルダを追加することも可能です。
![]()
各プロジェクトフォルダに対して、XMLSpyのプロパティダイアログを使用することで、検証に使用するXMLスキーマ、XSL変換、および出力先のデフォルト値を設定することができます。
![]()
XMLSpyのプロジェクトヘルパーウィンドウで、入力フォルダを選択できます。そして、F10キーを押すだけで、そのフォルダ内のすべてのファイルを変換できます。
DiffDogでXMLスキーマの要素をマッピングする際、以前のバージョンのスキーマに該当する要素が存在しなかったため、パブリケーション要素を左側のマッピングから切り離した状態にしていました。つまり、XSLTを使用してXML入力ファイルを変換した場合、生成される出力にはパブリケーション要素が含まれません。もしパブリケーション要素が必須である場合、Altova MapForceを利用することで、迅速な解決策を得ることができます。
DiffDogのオプションの一つに、XSLTではなくMapForceのマッピングを生成するというものがあります。このオプションを選択すると、MapForceが起動し、DiffDogで作成したマッピングが新しいMapForceのデザインとして既にロードされている状態になります(以下に示します)。
![]()
出版要素に対して、デフォルト値を定数として設定することで、マッピング機能を簡単に拡張できます。
![]()
これで、MapForceからXSLファイルとして保存し、DiffDogで最初に設計したすべての要素のマッピングを再利用し、さらに定数を追加することができます。この新しいXSLを適用して元のXMLデータファイルを変換すると、出版要素のデフォルト値が含まれた結果が得られます。
![]()
この投稿では、まずDiffDog 2010の新しいXMLスキーマ比較機能について説明しました。次に、シンプルながらも一般的な実例を詳しく解説することで、XMLSpyやMapForceとの緊密な連携を活用することで、さらに多くのタスクを容易に実行できることがわかりました。
これらのツール3点に加え、さらに多くのツールが、今日のソフトウェア開発者やXML開発者の多様な開発およびデータ管理ニーズに対応するために設計された、XML、データベース、UMLツールを統合した製品であるAltova MissionKit 2010で、大幅な割引価格で提供されています。こちらをクリックして、今すぐ無料トライアルをダウンロードしてください!