SIGN UP MEMBER LOGIN:    
ARTICLE

Info Path .XSN Inside: Part 1

Posted by Petar Minev Articles | .NET 4.5 October 02, 2011
In this series, I’ll explain to you how to work programmatically with .xsn file in a very low level manner.
Reader Level:

In this series I'll explain to you how to work programmatically with .xsn file in a very low level manner. The main idea behind these articles is that in the web there is very little fragments of information regarding the subject. So let's start with the first part.

As we all know, InfoPath is an application for designing, distributing, filling and submitting electronic forms containing structured data. But InfoPath is not only this simple, in fact you can implement this form in every application developed by Microsoft! You can insert it into your Outlook mail, Access from, SharePoint from. You can add it everywhere, which was quite impressive. So this was the main reason to move from old .NET and Access forms to new InfoPath apps.

At first look (from the developer side) it's some strange .xsn format

Inform1.gif

For which there is very little information on the internet. But after some experimenting, it turns out that .xsn is a cab file with a changed extension. For those who don't know what a cab file is, I'll explain it. A cab file is a Windows native compressed file (something like a zip file) which contains more than one file. So when we rename the .xsn to .cab and try to open it, we get the following screen:

Inform2.gif

Which gives us all the needed information that we've been looking for. This archive contains several files:

  • EMEA_Countries - This file contains Excel workbook like xml schema which stores system information about Regional settings that the .xsn file inherits, author of the project, system schemas and fonts.
     
  • EMEA_Countries.CSV - This csv file contains informational data for the file which was explained above.
     
  • EMEA_Countries. - This file is used as a manifest file for the EMEA_Countries.
     
  • Manifets.xsf - This file stores all the schema for the operational .xsn file which stores all the schemas and fields that are used in .xsn file.
     
  • myschema.xsd - This file is used for initializing an internal schema which is used for the body of the .xsn file. In other words, this file stores the information of what type of fields are creted and what type of links they have between each other.
     
  • sampledata.xml - Basic template that will be the result after submitting the xsn form with row data.
     
  • Template.xml - This is the template from which the xml result file is generated.
     
  • upgrade.xsl and view1.xsl - Are responsible to give the template file a way to set typical design or to give an opportunity to the developers to create a more beautiful file.

So this was the basic information about the InfoPath forms and the elements from which the .xsn file consist.

In the next part, I'll give more information on how in the very low level we can check and fill a form from the code in the .xsn.
 

Login to add your contents and source code to this article
share this article :
post comment
 

Good work, Welcome to the Mindcracker Community

Posted by Dinesh Beniwal Oct 03, 2011
Nevron Gauge for SharePoint
Become a Sponsor
PREMIUM SPONSORS
  • ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
    ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications. Visit DynamicPDF here
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor