MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › Mzアプリケーションの比較について
タグ: 比較
-
投稿者投稿
-
2016年10月26日 10:15 PM #4548kyamanaka参加者
MzPlatformで開発したアプリケーションのファイル比較をする方法はありませんでしょうか。
アプリケーションを改定している時に前回からの変更点を確認したいと考えています。2016年10月27日 7:18 PM #4549MZPlatformユーザー会キーマスターたいへん恐縮ですが、アプリケーションの比較機能はございません。
改訂時の変更点については、コメント行に説明を記入するなどでご対応いただけますでしょうか。2016年11月4日 3:50 PM #4557kyamanaka参加者ご回答ありがとうございます。
アプリケーションビルダーの機能でなくとも結構なのですが、例えばmzaxファイルをテキストレベルで比較するといったことができるだけでもかなり助かるかと考えています。
完全な変更点がわからなくとも、どのコンポーネントが追加、変更、削除されたといった情報がわかるだけでも結構なのですが。
2016年11月4日 7:40 PM #4558MZPlatformユーザー会キーマスタービルダーの機能ではなく、かつテキストレベルでの比較ということであれば、mzaxファイルをテキストファイルとして、お好きな環境でご自由にお試しください。mzaxファイルは独自形式のXMLファイルとなっていて、テキストファイルとして処理することは可能と思います。
以下、こちらで試した範囲の情報提供となります。
Windowsのコマンドプロンプトでfcコマンドがありますが、期待する出力は得られませんでした。また、同じくWindows環境でMinGWを用いてdiffコマンドを試しましたが、前述のfcコマンドよりは多少良いぐらいで、実際の場面で役に立つかはわかりませんでした。2016年11月7日 2:47 PM #4565kyamanaka参加者ご回答ありがとうございます。
こちらでもWinMergeを用いてdiffを取りましたが、変更点が多いとファイル全体での比較は困難な状況でした。独自形式のXMLであるmzaxファイルのフォーマットを開示いただくことは可能でしょうか。
比較したい箇所のみを切り取って比較するなどできればdiffツールなどを用いたテキスト比較でも、もう少しうまくできないか検討したいと考えます。2016年11月8日 12:28 PM #4567MZPlatformユーザー会キーマスターmzaxのファイル書式は非公開ではありませんが、書式を規定した文書が準備されているわけではありません。既存のXMLファイルビューワー等でご覧いただくか、添付のZIPファイルを展開したMZアプリで構造をご確認いただけますでしょうか。
適当なMZAXファイルをご覧いただけるとわかるように、MZアプリはinformationタグの中にbase,components,invocations,displays,papersタグが含まれていて、componentsがコンポーネントの宣言を、invocationsがイベント処理を記述する部分です。このあたりを比較すればご希望の処理が実現できると思いますが、MZアプリとして可能かどうかは検討が必要なので、お時間をいただけると助かります。
添付ファイル:
2016年11月8日 5:39 PM #4571kyamanaka参加者ご回答ありがとうございます。
また、XMLファイルビューワのご提供もありがとうございました。まずはinvocations部分の変更内容が見れないか、当方でも検討いたしまします。
2016年11月11日 2:24 PM #4577MZPlatformユーザー会キーマスターMZAXの比較についてMZアプリとしての実現性を検討しまして、ある程度は可能であることがわかりました。不完全な状態ではありますが、作成したMZアプリの圧縮ファイルを添付します。
添付したMZアプリでは、比較する2つのMZAX(XML)のDOMツリーを作成して、コンポーネント宣言とメソッド起動に関する2つのテーブルを作成し、そのテーブルを比較しています。左側のテーブルに比較結果を表示しており、黄色の行が左側のみにある行、赤色の行が右側のみにある行となっています。制限としては、対象ファイルに複合コンポーネントが含まれている場合は、その階層は無視されます。また、起動メソッドの引数が同じかどうかまでは比較しておりません。
添付ファイル:
2016年11月18日 12:34 PM #4583kyamanaka参加者比較ツールありがとうございます。
利用してみます。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。