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

Altova MapForce 2020 Enterprise Edition

ワイルドカード xs:any (および xs:anyAttribute) は、すべての要素/属性をスキーマから使用することを許可します。スクリーンショットは XMLSpy のスキーマビュー内の "any" 要素を表示しています。

any

MapForce 内では、選択の変更 ( excel1-compicon ) ボタンが xs:any (または xs:anyAttribute)要素の横に表示されます。

anyInMapforce

クリックすると、 選択の変更 ボタン excel1-compicon が開かれ、"ワイルドカードの選択"ダイアログボックスが開かれます。エントリは、現在のスキーマ内で宣言されているグローバルな要素と属性を表示します。

anyGlobelements

クリックすると、 選択の変更 ボタン excel1-compicon が開かれ、"ワイルドカードの選択"ダイアログボックスが開かれます。エントリは、現在のスキーマ内で宣言されているグローバルな要素と属性を表示します。

anyFromLocal

.これらのノードから、またはノードへ、他の要素と同様にマップすることができます。

 

コンポーネント上では、ワイルドカード要素、または属性は、名前に追加されている (xs:any) テキストとして識別されることができます。

 

ワイルドカード要素を削除するには、選択の変更 ( excel1-compicon ) ボタンをクリックして、"ワイルドカードの選択"ダイアログボックスから選択の解除を行います。

 

 

ワイルドカードと動的なノード名

 

ワイルドカードから、またはワイルドカードへのマッピングは、通常、使用することのできる、要素または属性がインスタンス内に表示されており、 XML インスタンスがコンポーネントの XML スキーマにより宣言されている場合(または、外部のスキーマからインポートされている場合 )に適しています。しかしながら、インスタンス内に表示される要素または属性が多すぎ、スキーマ内で宣言されるには多すぎる場合があります。<message> の子要素の数が任意である次のインスタンスの場合を考慮してみてください:

 

<?xml version="1.0" encoding="UTF-8"?>
<message>
  <line1>1</line1>
  <line2>2</line2>
  <line3>3</line3>
  ................
  <line999></line999>  
</message>

 

上記のようなシチュエーションでは、ノード名への動的なアクセスがワイルドカードの使用よりも適しています (ノード名のマッピング を参照) 。

 

 

異なるスキーマからワイルドカードとして要素を追加する

 

コンポーネントに割り当てられた要素以外のスキーマからの要素は、ワイルドカードとして使用することができます。このような要素をコンポーネント上で表示するには、"ワイルドカードの選択" ダイアログボックス上の異なるスキーマのインポートボタンをクリックします。これにより以下の2つのオプションを持つ新規ダイアログボックスが開かれます:

 

 

 

1.スキーマのインポート

 

2.ラッパースキーマの生成

 

 

 

例えば、下のイメージは、 HasExpenses.xsd という外部スキーマを現在のスキーマにインポートしようと試みると何が起こるかを表しています。

 

mff_dlg_import_schema

スキーマのインポート オプションは外部スキーマをコンポーネントに割り当てられている現在のスキーマにインポートします。このオプションはディスク上のコンポーネントの既存のスキーマをオーバーライドすることに注意してください。現在のスキーマがディスクではなく URL により開かれたリモートのスキーマである場合、 変更することはできません  (URL からコンポーネントを追加する を参照してください) 。この場合、ラッパースキーマの生成オプションを使用してください。

 

ラッパースキーマの生成オプションは "ラッパー" スキーマという名前の新しいスキーマファイルを作成します。このオプションの利点は、コンテンツの既存のスキーマが変更されない点です。代わりに、既存のスキーマとインポートされるスキーマの両方を含む(ラッパースキーマという) 新しいスキーマが作成されます。このオプションを選択すると、ラッパースキーマを保存する場所を問われます。デフォルトでは、ラッパースキーマは somefile-wrapper.xsd. という書式の名前を持ちます。ラッパースキーマを保存した後、デフォルトでコンポーネントに割り当てられ、ダイアログボックスがプロンプトします:

 

mff_dlg_wrapper_schema_assign

「はい」 をクリックして、前のスキーマに戻します。それ以外の場合は、「いいえ」をクリックして新規に作成された、コンポーネントに割り当てられたラッパースキーマを保持するためにいいえをクリックします。

(C) 2019 Altova GmbH