Authoring XML schema (XSD) with InfoPath – Part I


Recently, I ran across Aaron Skonnard's MSDN magazine articles talking about Contract First Service Development. The very first step of this so called "Contract-First" development process is to create the XML schema. And for that, Aaron recommended Visual Studio as one of the XSD editor. This reminds me to mention a frequently overlooked fact that Microsoft InfoPath actually works great as an XSD authoring tool.
 
The biggest advantage of using InfoPath as an XSD editor is, IMHO, the WYSIWYG user interface:
 
As the screenshot above shows, you can create, modify and visualize your data structure very easily. It will be a tremendous help if you are not so familiar with XML schema.
 
The other big, big plus is that InfoPath can derive XML schema for you: provide an xml file, a web service (well, I know this is a little bit redundant, just for the record), or even a database connection, and you are all set!
 
I hope that is enough to get you interested. Before we move on and talk about how to use InfoPath to create XML schemas, you should also be aware of the con's:
1) This is not an intended functionality of InfoPath. So you will have to do a little extra (very little, I promise) work.
2) Some XSD constructs are not supported by InfoPath. See details in this MSDN article: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_ip2003_ta/html/ODC_INFInfoPathXSD.asp
 
Ok, next post I will talk in details about how to do this. While on the topic, I'd point out that InfoPath is also great for XSL editing because of the WYSIWYG UI. You will have to clean up all those InfoPath specific styles definition though. My other favorite XSL editor is Microsoft FrontPage 2003: its intellisence extension for XSL is a huge relief, not to mention you also get a rich set of XML editing features.
Comments (5)

  1. Like I mentioned earlier, it is very easy to use InfoPath as an XML schema editor, with very little extra…

  2. john says:

    Ok, so what’s the procedure to get to that screenshot, it’s not obvious to me

Skip to main content