このサイトをビューするために JavaScript を有効化してください。

Altova MobileTogether Designer

XPath 言語は MobileTogether ソリューションのデザインの重要な役割を果たしています。 XPath は、データを、ロケート、アクセス、操作、生成、および保存するために使用される多種のデータツリーで使用され、異なるデザインコンポーネントの機能を定義するために使用されます。 MobileTogether デザイン内で XPath が使用される重要な使用方法は以下に説明されています。この概要は XPath の広義での柔軟性と MobileTogether デザイン内での使用方法を説明しています。

 

XPath に関する詳細は、 MobileTogether Designer 内でサポートされる言語の最新のバージョンである 「W3C の XPath 3.1 に関する勧告」 を参照してください。学習ベースのアプローチを使用するためには、以下を参考にすることができます:

 

Altova の XPath の簡単な説明

Altova の XPath 3.0 トレーニング(英語)

W3C の XPath チュートリアル(英語)

 

ロケーター式

XPath 言語のロケーター式はツリー内のノードを検索するために使用されます。ロケーター式は通常、必要なノードを検索するパスにより構成されています。以下にいくつかのサンプルを紹介します:

 

/Company/Office:  は、トップレベルのドキュメントノードである Company 要素のすべての Office 子要素を検索します。 ルートノードの下で直接発生するため、最初のスラッシュで示される、 Company 要素はトップレベルの要素です。

/Company/Office[3]:  は、 Company要素の 3 番目の Office 子要素を検索します。

/Company/Office[3]/@location:  は、 Company 要素の 3 番目の Office 子要素の location 属性を検索します。

//Office[@location='US']:  は、 US の値を持つ location 属性を持つすべての Office 要素を検索します。

 

上のリストは基本的なロケータ式の例です。ロケータを構築するには、多種の方法があります。

 

演算子

演算子により、フィルターの適用、条件の構築、選択とデータの操作を行うことができます。 2 つの演算子の例を紹介します:

 

if (Selection='US') then, //Office[@location='US'] else //Office[@location!='US']:  この if 演算子は、Selection 子要素のコンテンツにより US または 非-US オフィスを選択します。

for $i in //Office return $i[@location='US']:  この for 演算子は、 US の値を持つ location 属性を持つすべての Office 要素を返します。

 

XPath 関数

XPath 関数によりデータを操作、計算、生成することができます。例えば、関数は文字列を (関数の引数)入力とし、小文字に変換または文字列の一部を削除します。  MobileTogether デザイン内で使用することのできる XPath 関数には以下の種類があります:

 

 

グローバル関数

グローバル関数はクライアントモバイルデバイスに関する情報を含んでいます。例えば、デバイスの種類を示す変数が1つあり、もう一つの変数はそのディメンションを示し、もう一つはデバイスの現在の向き (横長または縦長) を示します。これらの変数の値は、通常のモバイル通信の手順の一部としてクライアントデバイスから実行時に取得されます。 その後、変数は XPath/XQuery 式内で使用されることができます。 結果、(サイズなど)デバイス固有の静的プロパティまたは(向きなどの)変更可能な動的プロパティに対して条件的に、処理を指定することができます。

 

MobileTogether のグローバル関数は、 グローバル関数 のセクションに定義済みで各変数の説明と使用可能な値と共にリストされています。下にリストされている MT_iPad グローバル変数 (使用可能な値: true(), false()) のサンプルはどの様にグローバル変数が XPath 式内でよびだされるかを示しています。 $ シンボルは、 XPath 内の変数を示す通常の方法である、グローバル変数の名前の後に何が続くかを示すために使用されます。

 

if ( $MT_iPad=true() ) then "Apple" else ""  

 

(C) 2019 Altova GmbH