11 Dec 2008

Some time ago, I was asked to build a InfoPath form out of an Xsd file. I didn't had any experience using InfoPath, but it turned out to be pretty easy.

Today, I was asked if I could modify the form in order to take in account some changes in the Xsd.

My first attempt was to have a look in the Data Source part of the Design Task pane of the designer. However, everything in there is grayed out, so there is no way to change the values there.

My second attempt was to naively try to open the .xsn file with a text editor to see what was inside it. The content is, as expected, unreadable.

Then I stumbled upon this InfoPath Help and How-to article: Extract or combine the form files for a form template. This was what I was looking for, as it was showing how to "disassemble" the form into pieces, modify some of the content then build the form back. This is done by right clicking on the "manifest.xsf" file in windows explorer then choosing the "Design" option.


However, there is a catch. Simply replacing the old schema by the new one effectively changed in the Data Source part, but it was not automatically reflected in the form. InfoPath does not have a dynamic link to the Xsd file...

To reflect the new changes from the Xsd, you'll have to delete the part that were changed in the form, and add them again on the form.

blog comments powered by Disqus