The Coolest XML Project Contest

| 30 Comments | No TrackBacks

I completely forgot that I still have one Visual Studio 2005 Team Suite with MSDN Premium Subscription gift card to give away. And it expires 12/31! Oh boy, what do I do now??? So for the next 2 weeks I'll be holding the "The Coolest XML Project Contest".

Here is the deal. If you are working on a cool project, product, web site, service or whatever no matter open source or commercial one, which uses any XML technology in any way (hey, isn't anything matches this description nowadays?) you have a chance to win this $10K worth gray box from Microsoft called "Visual Studio 2005 Team Suite with MSDN Premium Subscription for one year". Everybody is eligible, no limitations or restrictions (well, microsofties and devs working for Al-Qaeda are obviously out).

To enter the contest you only need to describe your thing (project/product/web site/service/whatever) to me. Keep it simple. Don't forget to mention how any XML technology is involved. Just post it as a comment on this page. Or if you need pictures to describe it - write on your blog and post here a link. If your are not ready to disclose your stuff to the public eye, send me an email (and then if you win I promise not to unveil project details until you say me so).

It's me who will decide which entry is the coolest and so who is the winner. I'll probably consult my friends though.

Well, I'm XML and XSLT geek doing open source projects so I'm naturally biased toward such kind of things, but that means nothing. What I really want is to give it away to somebody who actually needs it and who is it going to use it to build something cool and preferably to benefit the community.

I'm accepting entries till December 24, 2006. Hurry up. Take a chance.

For a small site doing web page design might be best done without a full-time web designer and simply learning how to do web site design on your own, working on your web site design from scratch or from a template.

Related Blog Posts

No TrackBacks

TrackBack URL:


As a postgraduate student I am working on document-generator based on WordML & Vml from chart.
A currently using self-made document-generator based on templates in RTF and using OLE-calling of Excel to create charts. There is two main problem: 1) Generator must work on client side, because MSFT don't guaranted thread-safe working of Excel over OLE on server. 2) A time for generating gistogramm of 1000 and more point is over 10 second, so generation of document with more then 10 charts is very slowly. Extensive method of solving - buying a better CPU is not a good way.

So, main problem is OLE. VML is a best way to generate chart for inserting in .doc, because one of requiment is a ability for user to make a little changes in generated chart - recolor column, modify text-area..
To insert VML-chart in document, I choose WordML. :)
SpreadSheetML in office 03 have not ability to create charts, but in office 2007 it have. So, VML and SpreadSheetML charts will be developed simulativity.
Document-generator based on template for document and !template for charts!, using WordML for generating doc and Vml/SpreadSheetML for charts. Will be server-based, generated document will be stored in MS SQL so parts of document can be reused - to create a month report, for example.

Maybe it is already too late for submission but I would still like to tell about the exciting project I am currently working upon.

I am working on bringing to life the first non-Microsoft DOC to WordprocessingML converter. The converter is a part of an Aspose.Words library - .NET library, written in C# with 100% managed code. The XML handling is performed using xmlWriter/XmlReader technology. As a result, the memory and CPU utilisation is low and the speed is very fast.

I have done an extensive search on the web before I have started developing this project and it the biggest surprise for me was to find that although WordprocessingML is well-known and widely used in IT industry, yet no full-scale DOC to WordML converter was implemented so far. The only reliable converter that currently exists is MS Word itself! Why is that? - I have asked myself.

The answer to this is that most of the features of MS Word DOC format are undocumented. More to to that the WordprocessingML format was also documented very poorly. Situation improved with the publication of Open Office XML specification final draft. But that happened only three months ago. And, although Open Office XML specifications demystifies many of WordprocessongML features, it still does not reveal anything about enigmatic , and which are not part of Open Office XML and, therefore, remain completely undocumented. And as of graphics support, the VML dialect used in WordML is much different from official VML spec piblished on W3C. Many elements and attributes used in WordML VML are not even mentioned there. Moreover, some of them, such as diagram markup are not even included in WordprocessingML VML schema which was recently published.

So the greatest achievment of our wordML conversion effort was to figure out the undocumented parts of WordprocessingML and of some related DOC format features as well. The first result of this project is the release of DOC to WordML export capability which was included in Aspose.Words 4.0. The export supports practically all features and formatting available in MS Word 2003. The WordML output was made extremely close to that made by MS Word. Even such complex features as WordArt, freeform shapes, diagrams and embedded OLE objects and controls are succesfully exported now. The WordML to DOC import will also follow very soon.

It is needless to say what exciting capabilities it will open to Office Xml developers. With Aspose.Words you can write fully managed .NET based applications, that will be able to transform MS Word documents in every possible way with the use of XML DOM, XSLT and other popular XML handling technologies.

You can read more about our WordML conversion effort in my blog:

I'm working on an open-source refactoring tool for XML, called MyX: With MyX you can rename attributes, remove elements, make all attributes lowercase etc. All these refactorings work on the nodes that are selected with the XPath expression you supply. A few basic refactorings are currently supported: add attribute, append/prepend, rename, clear, remove, lowercase/uppercase, copy, extract.
Currently, it's just a command-line application. Eventually it should also be integrated with Visual Studio. MyX is written in C#.

I have not released anything yet, but I expect to do so within a few weeks.
The source can be downloaded from SourceForge, see The entire project can be build with the supplied NAnt build file.
By the way, most tools I use for building and maintainig MyX also heavily use XML: DocBook, NAnt, Saxon and WiX.

The Coolest XML Project in existence today is the reconstruction of the “Earth and Beyond” game by a group of dedicated fans.

Westwood Studios created an incredible multi-player online game called Earth and Beyond. Electronic Arts purchased Westwood Studios. The game was released in September 2002. In March 2004, Electronic Arts announced that the game would be shut down in September 2004. At the time, there were an estimated 25,000 players. Electronic Arts closed Westwood Studios.

The Project:
Since then, a dedicated group of dedicated Earth and Beyond fans have developed a server emulator that allows them to get back in the game. The Net-7 project is an Open Source project. All of the C++ code, Java code, and XML schemas are available to the public. The project is still very young, and has a long way to go.

The XML angle:
XML plays an important role in the project. The entire galaxy, the sectors, the planets, the asteroids, the NPCs, and the stations, etc, are entered into a MySQL database by fans. An export tool written in Java is used to dump the database to XML. The Net-7 server emulator, written in C++, parses the XML at startup. The server emulator sends the data to the client application in order to create the 3D world that the player sees. Players will be able to log into a multi-player server, or they may download the server and the XML files and play on their local machine in single-player mode.

I see a lot of cool XML projects on the list, but none as cool as the Earth and Beyond project.


Thanks for the contest and insights into XML and .NET.

I'm working on a project to help people manage information - Sider. My main goal is to provide a flexible and simple extend platform to make process of creating tools to work with different types of information much easier. It uses XML to describe information structure (through XML schema), logic to work with it (scripts), and interface (XSLT, HTML).

In Sider, each type is an extension focused at describing one information structure. Like in OO programming types can inherit and embed other types to add support for new documents. For example, if I have an abstract tree, a note type and a task type I can combine a tree with a note to get a tree of notes. Combine a tree with a task and get a tree of tasks. Instead of a tree, I can have a list, graph, table, whichever is more appropriate. It's possible to create a table of trees of tasks, if there's such need. Any type of information (personal and business) can be described. All information is strong typed and validated using schema (the platform actually combines schemas on the fly).

Sider uses XSLT to generate views to show documents. There can be any number of views associated with each type and user can switch between them on the fly. Instead of one complicated interface that tries to accommodate every user needs there are many simple views, each designed for a specific task. Currently all views are HTML based and are shown in the browser, but in the future I'll add support for things like SVG, WPF, PDF, Office documents, etc.

Thanks to XML the platform is very open. XML declarative style of programming really simplifies platform extension. In addition, I want Sider to support horizontal features, like source control (capturing history of changes in the document), extensive links support (so that one document could link into the middle of another remotely located document), collaboration and security, etc.

Right now I'm working on technology preview release, finishing the actual platform. Next step will be adding support to store notes and manage projects.

In a way, I'm trying to solve information management problems by starting at an abstract level. Instead of building a tool to work with specific information (i.e. to manage software project in Agile manner), I'm building a platform to make creation of such tools ridiculously easy. And then, once it's done, I'm going to turn back to create the actual tools (creating tools to manage software project in any kind of manner, XP, Scrum, waterfall, and any possible combination will be really simple). XML is at the heart of it all, and to be frank I don't think this kind of program would have been possible with it.

Links: - our company. - Sider wiki. - my blog. - my posts on Sider.

I created an ASP.Net server control that provides an easy way to display tabular data from XML and lets the user quickly manipulate the presentation, as well as do cool things like Print, Search, and Export to CSV. Internally it uses XSLT to produce html output from your xml input. I created a quick document about it - check it out

The company I work for supplies International School Libraries and I am developing a system to allow us to create all the necessary sticky labels, like the Dewey label on the spine of the book, the return date label that the librarian stamps to tell you when the book is due back and the barcode label that the librarian uses to identify the book within her automated system.

This system takes bibliographic data, entered by one of our operators, to create the labels. The data is stored in XML until the books are dispatched to the client Library. Then the XML data is transformed into MARC Records (see for an explanation of MARC).

The librarian imports the MARC Records into their library automation software and does not therefore need to type the data in again. The record includes the barcode number that we printed on the barcode label. Once the import is complete, the librarian can simply scan the barcode and all the bibliographic details and loan history will be displayed on screen.

Library automation software authors are gradually shifting to accepting MARC Records formatted as XML, so soon we may not need to transform into pure MARC.


I'm working on a website what uses xml databases, to search the best price for a product. the web page Lists the products in ascending mode, with details. I'm also working at a pdf imposer software, which stores the imposition templates in xml.
That visual Studio should be my inspiration.

i'm working on a tool to visualize betting patterns (via easy to recognize symbolism) while playing on various online poker sites.

the most difficult thing was the creation of a parser able to read all the different hand-history formats from various poker sites. they sadly have no standard whatsoever..

i use a state-machine and regular expressions. the hand history format and base expressions get defined via xml. users can add support for new poker sites without a code change, it's all in the XML. i create compiled regular expressions on-the-fly and can add support for a new site in less then a day.

i plan to release that tool as freeware... i also work on commercial software and xml is all over the place. using it for a poker tool is probably the most odd way i used it so far...


Do you count projects that I have worked on?

If so 2 years ago worked on a project that would request a list of geographic locations (XML based) from a web service. The application then pulled that XML apart to construct a windows form on the fly (except for the predefined buttons), of drop down lists for those locations with a predefined list (ie States, Parks, Map Index Sheets), or input boxes for those locations to numerous to list (ie street names, house addresses, etc). Once a user selected a geographic the application then went back to the server with a request of getting the coordinates of that geographic feature, which was returned in a XML structure. Again the application pulled that apart and zoomed the map window to the coordinates. Scary part of the application, it was written in VB6.

Cheers Jamie

I am currently working on a community driven knowledge base system for health care/call center and other communication driven companies. It uses a web service driven xml storage/xsl display system for layouts, comments, tags, and much more. For implementation, teams can arrange data and user interface features via WYSIWYG or form based editors either following our project templates or by creating a custom business scenario(all through Visual XML editing). Users(xml driven membership/ role/ profile/ personalization provider courtesy of matt swiftus from codeplex)
are allowed to question or comment or tag any piece of data in the application. This means that they can quickly set up a custom page of information based on their personal or common tags placed on data or communicate an issue about data to its owner instantaneously. Using ajax techniques im able to update the page as the user views it guaranteeing all staff a real time view of data Using xml and xsl im am able to give a fully server driven type application with the feel and responsiveness of static html beause the user is only viewing the xsl transormations of data due to the majority of functions being bundled into a set of xml web services. I would also like to note. As of now im doing this completely with Visual Web Developer Express(although id like to upgrade ;)


I was one of project leads on a large corporate intranet that uses SharePoint Portal Server 2003 farms, MCMS 2002 & 2003 - backed by SQL Server clusters. The intranet was designed to have "regional" servers (large farms) - in South Africa, Brussels and soon to be Boston - with each sub-location (currently +-15 and counting) hosting a medium to small SPS farm.
Interaction between these installations is provided by web services and a business layer - inflation/deflation as and where necessary. Configuration is provided by *.config files.

The CMS servers are capable of cross-publishing postings (e.g. a posting in SA is deployed to, and also hosted by, the EU installation). A windows service monitors a MSMQ queue for 'export notifications' sent by a CMS server. Once received, a business object is populated with all relevant information, the posting is exported and all is serialised to an XML stream which is then sent to a queue, based on the posting template. The same service on the target server monitors the 'import notification' queue, deserialises the XML stream and recreates the posting on that server.

Me and some friends are working on an educational program using XML. It's intended to prove an assignment was turned in on a certain date by encrypting it with the date and time of it's creation (according to a time server). The entire interface is controlled by XML (the new version that we're working on) so that school districts can customize the look and feel of the product, as well as the features available (i.e. disable user auth, change submission paths, etc.).

It would be great to get a great piece of software like that; 10K is WAAAAAAAAAAAAY out of our budget. Our website is at:

Oleg, thanks for holding this contest.

I wrote a Python program (that makes use of the wxPython Windows GUI framework. )

It is basically a back up program that replaces the DOS batch file I was previously using to call Xcopy for my files.

== The way it uses XML: ==
Not very involved. This program saves the "backup sets" into an XML file called "backup.xml".

These backup sets consist simply of the source path, destination path, what extensions to include, exclude, etc.

I am in final stages of development of a web applications framework library (BreadBox) that will utilize an XML forms technology that allows site developers to use XML to define and design the content layout and interactivity of a webpage form within the applications framework. Called WFIL (Web Forms Interface Language) it brings web application development time from weeks to days.

I'm a contractual lead programmer on a state government project that provides social services payments to service providers including tax withholding and benefits using a multi-tier, multi-platform service architecture.

We have created an event management system using C# (no messaging infrastructure personnel available to support MQSeries or anything else) backed by SQL 2005. All business activities, from the scanning of a tax form to the calculation of a payment, are decomposed into discreet business events.

Individual business events are encapsulated with all of their supporting data into business objects which are then serialized into XML and sent as the content body in event messages through the database. Event subscribers re-hydrate the messages from XML to perform business functions.

At this time we're averaging approx. 130,000 event messages per day, with all messages being able to be reviewed by human eyes (when necessary) and detailed event tracking for each message.

In addition, all configuration data for operational components and webs are stored in app.config files (XML format) or custom configuration files (also XML format).

I'll grant that this is not an "xml only using all the bells and whistles of xml and xslt" application, but it is a real-world business application joining mainframe with server to get people paid daily with a monthly average > 104,000 payees and > $120,000,000.00 (yes, that greater than 120 million US dollars) per month.

I'm nearly finished with an application designed to let business owners basically design their own application for their business, without any programming. It lets them create a user interface suitable for their business, using a 'drag-drop' interface. I then use XML to store the layout for their custom-designed user interface, and the data entered can be stored in XML files or SQL Server, so it can be centralised in your office.

This was in response to a couple friends of mine who use Access-based "software" for their financing operations - one is a mortgage broker who is using the beta application daily, and the other is a motorcycle dealer, who is not using it yet because he has not paid. With XML, we can create a Windows and a web-based interface at the same time, and since the interface is defined in XML, it can be changed at any time, and the changes can be pushed out over the web immediately, with no need to recompile the program or contact any nerds like me :)

The use of XML gives users choices over how they want to access the system. They can work on the web, or they can work with the application. If they work with the application, they can work offline which results in saving their data in XML on their computer. When they are able to connect to the network again, the application can merge their files into the central database. Users working on the web can be exposed to portions of the interface depending on security levels, allowing the same interface to be used as a sales-lead generation tool.

There are so many possibilities, I can't cover them all. Here's the kicker though... the business owner can use this to create Word documents based on templates which anyone can edit in Word. For financing, this is huge, because it means they can simply enter the data once, and generate the documents that need to be filed with the various agencies funding the loans. I had no idea how much paper is still used in the loan financing business... this solves some of the issues with generating all that paper. PDF documents based on XSL-FO templates can be used as well, but it seems these guys prefer Word. When Office 2007 is released, the file structure will be XML, so this app will transition nicely, and it will add the capability of producing Excel, which is also heavily used in the financing business.

This application takes advantage of XML to tie together old technologies that are vital to the businesses, making it a perfect example of what XML was invented for in the first place. There are infinite possibilities other than the ones I mentioned here. Since the users have the option of saving data sets in XML, they are free to find whatever uses they have in mind... RSS feeds, email lists, news/blogs, print mailings, alerts, mobile device access... all is possible :)

I am working on extending the treeview control to allow for populate on demand using ajax... each ajax call will return small xml documents allowing for the next section of the tree to be populated. While the call is out a waiting... item is displayed... once populated it is accessable for click events... I am issuing an event for others to subscribe to so the content window can be populated with data via XML ajax again... I think it is a pretty cool project... based on reading others stuff here though... mine seems a little simple... man you guys and gals are doing cool xml stuff...


Hi Oleg,

I am planning to build a code introspection system for native C++ the way reflection works for .NET and Java. I am thinking of using the VS.NET code DOM object model for parsing the C++ and save the "metadata" into data files that are either embedded as resources into the DLL/EXE or loaded from external files.

I am thinking of serializing this metadata as XML and use a fast XML parser for loading it up at runtime.

I could really really use VS here! Thanks!

Create strongly typed XML and encrypted DataSet files from Microsoft Access for .NET and Flash.

Integrity by Spotted Dingo Inc., utilizes Microsoft .NET technology to generate strongly typed XML and encrypted DataSet files (DES, Triple-DES, RC2 and Rijndael) from a Microsoft Access Databases for secure data usage in Microsoft .NET WinForms or Adobe Flash desktop applications. Requiring no SQL statements to write, and with one push of a button, Integrity can read up to 40 tables within a Microsoft Access Database. All XML and encrypted DataSet files Integrity builds contain all the table data, constraints, Primary/Foreign Key relationships and Schema information that is defined in the original Microsoft Access Relational Database. These files can then be easily added and serialized to either Adobe Flash desktop or Microsoft .NET (WinForms) applications, giving a complete, in-memory representation of the current Access database. For more information on Integrity, please visit Spotted Dingo's website at: and click on the Integrity button.

I'm developing a client application for our web dev team that allows us to rapidly deploy web project frameworks. It uses template files saved as xml that define the structure of the website and any db modules they can include. The file is validated using xml schema when loaded and populates a treeview with checkboxes so that a user can select/deselect directories and module functionality to be deployed. A user can make custom xml templates for frequently deployed project types and load them at will. I'm still working on auto sql-script execution which will also be controlled through xml.

I have created and am continuing to develop the HeadCase Mind Mapping software for Windows. It is the first software in the world to produce "hand-drawn" Mind Maps conforming to the Mind Mapping Laws. It uses an XML file format and uniform XML data exchange format for clipboard, some image definition, undo-redo and persistence. The whole thing is written 98% in C++ using ATL COM and accepts third-party plug-ins to embellish Map elements, a technology in which the uniform XML format is a factor. It uses an evolutionary scheme to generate unlimited amounts of simple ClipArt. Future development includes the extension of XML parsing so that marked-up websites can be interpreted as Mind Maps and Mind Maps viewed as HTML pages; the further incorporation and formatting of images defined using SVG XML; the building of pictorial galleries of preformatted styles and bundles of Map elements defined using XML templates.

I’m working on an application which allows users to create custom XML Schemas from the XML Schema for schemas (that is the XSD file which describes how to create an XSD which can be found on along with creating XML files from the custom XML Schema.

I began this project a little while ago after noticing two major things:-

1) Very few people seem to use an XML Schema when creating XML files. This is very important as it makes automatic parsing of the XML file a whole lot easier with the XSD to describe what is right and wrong.

2) XML creation programs that I have had a play with all require you to type in tag names etc. Some do have intellisense when you have given a link to the schema document but this still takes a long period of time.

The aim of my application is to simplify all of this by only requiring the user to enter the data that they want to store. To speed up the creation of XML files the application will automatically create the required nodes of a new optional node. A tree view of the XML document is shown allowing the user to select a particular node and edit its values. Only the attributes and actions such as adding optional attributes or child nodes for the current node are shown on screen.

Hi. I created a Internet Radio Receiver called "iRadio" in VB.NET (I'm currently working on a C# translation). It comes preconfigued with hundreds of Internet radio stations from around the world stored in XML files. The XML station files are fully editable from within the application.

I tried to make it as easy to use as a car radio with push buttons for selected stations. This project is available on Planet Source Code here:

Hi Oleg! Love the topic of the competition.
I'm working on a desktop version of 'the worlds simplest code generator' (see online version here

the WSCG works by converting csv data into xml, and simple code snippets into xsl, then transforming one with the other and giving you the output.

i've also got plans for a related tool called 'forgiveness' which is an abbreviated (and flexible) very terse language which gets expanded into xsl. so you write a short document in 'forgiveness', and this is expanded into an xsl document. it's aim is to be easier for humans to read and write than xsl, but to also acts as a stepping stone into the use of xsl, as it gives you access to the xsl it generates.

I work for a company called RedPrairie, formally BlueCube Software, which was spun off from Radiant Systems. We developed an enterprise, web based, back office for retailers (convenient stores, restaurants, retailers) to help manage their business both in the store and at corporate (supply chain, inventory, workforce, etc.).

Every piece of our software is built on XML. All of our code is wrapped in XML and stored in our object repository. The area of our product that I am mostly responsible for is interfaces to and from our client's existing systems (such as SAP, Peoplesoft, JDEdwards, etc.) . We have an export editor that will generate raw xml from sql data sources, and then it will call your xslt transform which will generate the final output file. This is most xml, but we do have clients that insist on other formats. The most difficult of these was over 2000 lines of xslt to build a flat file to JDEdwards. It looked very much like the old cobol files: fixed length flat files, with a header and footer, and then sub-headers and sub-footers for each section. Each one had a checksum and row count. We had to pad all numeric fields with I know it may seem crazy to use xslt to build a flat file, but keeping this code within our export engine has many advantages such as built in logging, scheduling and re-export capabilities.

The original export editor was written while the .net framework was still in beta. We are in the process of refactoring the export editor to take advantage of all the cool features available in .net and xslt 2.0.

Obviously an enterprise solution for a retailer is not valuable without a point-of-sale interface. We have POS interfaces built for all of our client's in-store solutions which are mostly xml transaction files that we import and process. In the case of a POS vendor that does not provide XML, we first convert their file to raw XML, and then transform that XML into our expected XML format and import.

I live and breathe XML every day...and love it.
to learn more about me:
to learn more about the software:
to learn more about my company:

Yet another tagging system

I'm working on project called Researcher. The system tags 'links' (ultimately objects) in a hierarchical manner speeding up taging.
A research can be private or shared to the public and can be maintained by a person or group.

I have a prototype at which i implemented using mostly server controls. I am disappointed with performance that is why i'm thinking of moving to client side transformations with ajax/xml/xsl.
I also use xml to store permissions and tagging in database.

The system offers other features, like google search and rss aggregation wich also work with xml etc...
Take a look.

XML input. Sax parser, Java braille translator,
output in either XML (print braille format as
being developed by or ready for
the printer (embosser). Just reaching Alpha stage
and needs a port to C#.
Visual Studio would help with that nicely.

I'm the project lead for ADP's ( Distributed Print Facility (DPF). DPF is a shared service for document printing. Clients (other systems) submit raw input data (check, W2, or 1099) as XML via IBM WebSphere MQ. We use XSLT to convert this to SVG which we store in our database. The client (end user) requests document printing through a web site. The SVG is downloaded to an ActiveX control running in the browser which makes the GDI calls necessary to print the SVG. The client can also request that ADP do the printing, in which case a Windows service takes the place of the ActiveX control and prints to an ADP service center printer. DPF is the print engine used in ADP's partnership with Microsoft Small Business Accounting (

I am working on a tool called CCNetConfig. It is a GUI tool to configure your CCNet config. It is an Open Source (BSD License) project on CodePlex @ Project is still in beta but RC1 planed for release 1/1/2007.

Leave a comment