記事公開日
最終更新日
Power Apps ポータル XMLタグの自動補完機能

はじめに
Power Apps ポータル開発時は、コード エディターを使用します。
図1.Power Apps ポータル コード エディター 起動リンク

図2.Power Apps ポータル コード エディター
このコード エディターには、XMLタグの自動補完機能があります。
通常、この機能は開発者が書いた間違ったタグを適切なタグに修復するものであり、生産性、品質を向上させるためにも有用な機能です。
しかし、このタグの自動補完機能には注意しなければならない点があります。
今回はその事象と対応について、ご紹介いたします。
XMLタグの自動補完機能
詳細は不明ですが、動作をみる限りでは、Power Apps ポータルのコード エディターを開く際、自動でXMLタグが補完されます。元々は、省略形のタグで想定した通りの動作となっておりましたが、どこかのタイミング(サービスのバージョンアップ時?)で、省略形のタグは、自動的に閉じタグが付与されるようになりました。
実装したコード
all-attributes、conditionで閉じタグの省略形を使用しています。
{% fetchxml test_query %}
<fetch mapping="logical" version="1.0" output-format="xml-platform">
<entity name="test">
<all-attributes />
<filter>
<condition attribute="testid" operator="eq" value="{{id}}" />
</filter>
</entity>
</fetch>
{% endfetchxml %}
コード エディターを開いたときの状態
自動的に意図していないところに閉じタグが出現し、想定外の挙動となりました。
{% fetchxml test_query %}
<fetch mapping="logical" version="1.0" output-format="xml-platform">
<entity name="test">
<all-attributes>
<filter>
<condition attribute="testid" operator="eq" value="{{id}}">
</condition></filter>
</all-attributes></entity>
</fetch>
{% endfetchxml %}
対応したコード
省略形を使わず、予め閉じタグを付ける形式にすることで、意図しない自動補完を回避することができました。
{% fetchxml test_query %}
<fetch mapping="logical" version="1.0" output-format="xml-platform">
<entity name="test">
<all-attributes>
</all-attributes>
<filter>
<condition attribute="testid" operator="eq" value="{{id}}">
</condition>
</filter>
</entity>
</fetch>
{% endfetchxml %}
おわりに
本事象は、元々は発生していなかった事象ですが、どこかのタイミングで挙動が変わったことで、検知するに至りました。SaaSを利用する上で、サービスのバージョンアップは避けて通れません。
サービスの更新情報に、日ごろから目を光らせておくことの重要性が感じられた事例でした。
この度、「マイクロソフト ジャパン パートナー オブ ザ イヤー 2022 」におけるBusiness Applications・Power Apps アワードを受賞致しました!
弊社が提供するPower Platform関連のソリューションに関しては、こちらをご覧ください。

QESでは様々なアプリケーションの開発・導入を行っております。
私共が提供するサービス・ソリューションにつきましてはこちらに掲載しております。
システム開発・構築でお困りの問題や弊社が提供するサービス・ソリューションにご興味をお持ちいただけましたら、「お問い合わせ」フォームから気軽にお問合せください。
また、QESではクラウドエンジニアを募集しております。詳細につきましては、下記のリンクからご確認ください。
QESでは、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。他プロダクトに関するブログも投稿しております。下記のリンクから是非ご覧ください。
※このブログで参照されている、Microsoft、Windows、Azure、PowerApps、Application Insightsその他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。また、WordPressは、WordPress Foundationの商標または登録商標です。