InfoPathフォームコンポーネントを含むASP.NETアプリケーションをInfoPath Forms Serverを使用してブラウザに配信することができます。フォームをSharePointに保存するのではなく、XMLフォームデータをASP.NET Webサービスに送信します。これにより、SQL Server 2005でXMLデータ型としてデータが保存されます。これは問題なく動作しています。 InfoPathフォームに戻ります。古いXMLデータをInfoPathフォームの新しいバージョンに読み込みます
古いデータ(フォームのバージョン1)を新しいバージョンのフォーム(バージョン2)に読み込もうとすると、問題が発生します。この新しいバージョンのフォーム(V2)には、たとえば、新しいテキストボックスフィールドがあります。 V2フィールドはV1 XMLには存在しないため、V2フォームで表示されますが、無効になり、入力することはできません。
私たちの質問は、V1のXMLデータをV2フォームに読み込んで、フォームのV2に現在あるフィールドを完成させる方法です。
この動作は、InfoPath Forms Serverとフォームライブラリに格納されたフォームを使用して行うことができます。フォームテンプレートを更新すると、新しいテンプレートで古いフォームを開いたり、新しいフィールドを表示したり、新しいフィールドにデータを保存したりできます。フォームXMLデータがフォームライブラリではなくSQL Serverに格納されている場合、プログラムでそれを実行する方法を知る必要があります。
Upgrade.XSLは欠落している要素です。InfoPathが現在のバージョンより古いフォームのフォームデータを開くときに呼び出される必要があります。 InfoPathオブジェクトモデルを使用してこのXSLを取得する方法はありますか?それを手動で抽出して、古いデータに変換を実行するのではなく、 –