Use INFER.EXE to Create XML Schemas

In my post, OpenXmlCodeTester: Validating Code in Open XML Documents I used XSD to validate the build instructions (which are XML that you place in content controls). INFER.EXE, available at XML Downloads, is your best friend for putting together schemas. This isn't news, but I was chatting with one of my dev friends here at Microsoft, and he wasn’t aware of the existence of this tool, so I’m calling attention to it.

This blog is inactive.
New blog: EricWhite.com/blog

Blog TOCIts use couldn’t be simpler – create a directory, put examples of all varieties of your XML documents to validate in the directory, CD to the directory, and run INFER.EXE. It outputs a schema that correctly specifies if attributes or elements can be repeated, if they are optional, etc.:

 

And while I’m at it, I’m going to recommend a book, Definitive XML Schema, by Patricia Walmsley, published by Prentise Hall (ISBN-10: 0130655678 ISBN-13: 978-0130655677). In addition to being the best XSD book I’ve read, it is an example of good technical writing – clear, concise, and thorough.