SSブログ

OS X用GigE Visionカメラドライバ - その22 [OS X用GigE Vision]

今週もまた安曇野の工場に来ている。抄訳の続き。今日は改版について。訳しててすごく退屈。

2.7  カメラ設定ファイルの同定と改版

カメラ記述ファイルが同定できる、すなわちただ一通りの方法で記述に従ったカメラが同定できなければならない。それに加えて、カメラ記述ファイルは典型的には時が経つにつれて改訂されるだろう。それはつまり対応するカメラ製品に機能が追加されたときである。これは改版(Versioning)のメカニズムが必要であるということになる。新しいノードタイプが追加されたとき、スキーマに対して改版メカニズムが要求される。

この必要性はXMLファイルの一番外側のブラケットである<RegisterDescripton>要素のアトリビュートリストにある。例を挙げると
<RegisterDescription
  ModelName="Example01"
  VendorName="Test"
  ToolTip="Example 01 from the GenApi standard" StandardNameSpace="None" SchemaMajorVersion="1"
  SchemaMinorVersion="1"
  SchemaSubMinorVersion="0"
  MajorVersion="1"
  MinorVersion="0"
  SubMinorVersion="0"
  ProductGuid="1F3C6A72-7842-4edd-9130-E2E90A2058BA"
  VersionGuid="7645D2A1-A41E-4ac6-B486-1531FB7BECE6"
  xmlns="http://www.genicam.org/GenApi/Version_1_1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.genicam.org/GenApi/Version_1_1
../GenApiSchema_Version_1_1.xsd">
記述されているカメラはVenderNameとModelNameのふたつで同定される。ベンダ名は商標としてベンダ間で排他的である。この構造は唯一の名前を与える。ToolTipアトリビュートはデバイスに関する追加の情報、例えばバスの上に見つかったデバイスのリストをユーザのために表示するなど、を提供するのに使える。

カメラ設定ファイルの中にある名前は異なる名前空間から来るだろう。このことはセクションでより詳しく説明する。あるカメラ設定ファイルの中にでてくる名前はカスタムな名前空間か標準(standard)名前空間のどちらかに属している。StandardNameSpaceアトリビュートはファイルの中の標準名前空間を指定するのに使われる。

カメラ記述ファイル中のことなるアイテムの改版は共通のルールに従っている。3つの部分からなるバージョンナンバが使われる。
<Major>.<Minor>.<SubMinor>
例えば"1.4.2"などのように。
次のCapabilityルール
  • Majorバージョンナンバの大きなファイルは後方互換性はない
  • Minorバージョンナンバの大きなファイルは後方互換性がある
  • SubMinorバージョンナンバはバグフィクスだけ、かならずSubMinorが最大の版を使うこと
例えば、バージョン1.3.0は1.1.*、1.2.*、1.3.*と互換性がある(*は気にしなくていいい印)が、2.*.*とは互換性がない。また1.3.2が利用可能なら1.3.0の代わりに使うべきである。

2.7.1  スキーマの改版

SchemaMajorVersion、SchemaMinorVersion、SchemaSubMinorVersionのアトリビュートはXMLファイルで使われているGenApiのバージョンを示している。このアトリビュートは必須である。これらは情報を与えるのが目的である。さらにMajor、Minorスキーマバージョンナンバは名前空間(xmlnsエントリを見よ)とファイル名(xsi:schemaLocationエントリを見よ)の中に書かれている。

この例では名前空間は“http://www.genicam.org/GenApi/Version_1_1”と表示されている。スキーマファイルを探すプログラムはURLからインターネットを介してか、オプショナルに与えられているschemaLocaltionの2番目の部分のファイルパスを探索するだろう。例ではパスは“../../GenApi/GenApiSchema_Version_1_1.xsd”とあってXMLファイルはGenICamの標準実装のフォルダ構造の中に保存されているとみなしている。

xmlns:xsiエントリである“http://www.w3.org/2001/XMLSchema-instance”はスキーマ言語自身の名前空間を記述している。

例えばバージョン1.3.*までをサポートする実装はそのときみっつのスキーマファイル、1.0.*、1.2.*、1.3.*を持つべきである(なんじゃこりゃ?1.1.*はどうした?)。これは後方互換性のために要求される。古いXMLファイルは古い名前空間にあるので、古いスキーマファイルが必要になる。一方、実装がサポートしていない新しいXMLファイルは、例えば1.4.*は、排除されるべきである。従ってスキーマの名前空間に書かれたバージョンナンバを持つ必要がある。

2.7.2  カメラ記述ファイルの改版

省略。僕には関係ない。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。