小さな条件ステートメントを作成する必要がありますが、最適なアプローチがわかりません。また、Choose/When ステートメント内に IF テストを配置できるかどうかもわかりません。(私はあなたができないと仮定していますか??)
次の条件を解決しようとしています: 「custom_field」をあるシステムから別のシステムの「Position」にマップします。カスタム フィールドがたまたま空白の場合、システム A から同じ名前のフィールド「Position」で渡される値がデフォルトになります。システムBの「位置」。
「位置」はデフォルトで設定されており、xml で空白にすることはできませんが、カスタム フィールドは空白になる可能性があります。カスタム フィールドが使用されることを優先しますが、空白の場合はデフォルト データが有効になります。
<user>
<Custom_Field>Data</Custom_Field>
<Position>Data</Position>
</user>
これは合法ですか:
<xsl:choose>
<xsl:if test="custom_field != ''">
<Position><xsl:value-of select='.'/></Position>
</xsl:if>
</xsl:choose>
または、Choose ステートメントは When でのみ機能しますか? カスタム フィールドが空白かどうかを評価し、空白の場合に既定のシナリオを設定するにはどうすればよいですか?
申し訳ありませんが、それはシンクまたはスイム環境であり、私はまだ学習中です. すべてのヘルプは非常に高く評価されており、今後の参考のために注意してください。
XMLのデータに基づいて達成しようとしているシナリオ:
シナリオ 1: 入力 XML:
<user>
<Custom_Field>Admin</Custom_Field>
<Position>Teacher</Position>
</user>
出力 XML:
<user>
<Position>Admin</Position>
</user>
シナリオ 2: 入力 XML:
<user>
<Custom_Field></Custom_Field>
<Position>Teacher</Position>
</user>
出力 XML:
<user>
<Position>Teacher</Position>
</user>