The answer is simple it is CAB format.
Recently, I was faced with a situation where I had a old SharePoint list template from WSS 3 and that would not import in SharePoint 2010. The solution was simple. Here is what I did –
- Renamed the .stp file to .cab.
- Extracted the manifest.xml
- Changed the element ProductVersion from 3 to 4.
- Repackaged the file to CAB file. You can create .ddf file and then use the makecab command. Check this link on how to package a web part. Same concept can be used for packaging the .stp file.
- Rename the .cab to .stp file and import it. AND now you can create a list based on this template.
Similarly, if you are on a computer without InfoPath installed and would like to look at the schema used. Just rename the file to .cab and extract the files. You will notice that .xsn file is made up of multiple files. You can open the template.xml file to find out how your xml could be stored. It also has all the xsd and image files that are included in your InfoPath form.
Good luck with your development on SharePoint.