Introducing The Object Model Generator

The Object Model Generator (henceforth referred to as OMG) is a tool designed to provide the programmer with a simple code generator able of transforming XML Schema Documents (XSD) into a Typed Document Object Model, using either C# or VB.NET as a language.

The tool is currently in Preview Version (which is sort of a beta version), and features the following:

  • Typed Elements (incl. simple elements).
  • Typed Attributes.
  • Attribute Nullability (incl. Value Type Nullability).
  • Typed Complex Elements (Sequence, Choice).
  • Attribute Change Events.
  • Typed Sub Element Search By Attribute.
  • Load From / Save To XML (incl. verification against original schema).

Please note that the application does not support XSD Simple or Complex Types at the moment.

The program is freeware and my only wish is that you tell me if it helped you in any way or if you generally think it’s cool…

Examples:

[ Update: I have created a page for my projects, including one for OMG. ]

Advertisements

7 thoughts on “Introducing The Object Model Generator

  1. Coolbeans! Would be nice if you had some sort of demo shipped with it, and a small help file which explains it. can you control where the files will be created, for example?

  2. Hey Roy,

    I just thought, hey, you want a demo? Take an XSD and run it… There’s bound to be one lying around on your hard drive if you’re reading this post…

    I’ll update in a few minutes for the demos, but can’t promise when the help file will be posted. You can run the program (it’s a console application) with the /? argument for help.

    There’s only one file created with all the classes nested one inside the other. I like to compare it to the Typed DataSet generator in the way it puts everything together. You can’t decide where the file will be, and it will be created as [xsdFileName].xsd.cs / [xsdFileName].xsd.vb.

  3. Hey Frans,

    Actually, 3 hours after I started developing this tool, my manager also came up to me and asked me why I was doing this if xsd.exe exists.

    The "xsd.exe /classes" tool is nice and useful, but its output was just inadequate for my purposes.
    I needed to create a tool that would help me author XML, and using the XML DOM was too troublesome.

    Please note that this tool is not a replacement for Typed DataSets, as those are very useful for relational data. This tool is used solely for the purpose of authoring entities that are eventually saved in a specific existing subset to XML, making regular serialization inadequate.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s