What is The Open Magic Data project?

(This discussion is somewhat technical. If you don't care for technical talk I would suggest you don't read this page. You really don't need to know all about XML to use it, just like you don't need to know HTML to view a web site. If you would like to read my non-technical introduction to XML look at this page.

OMD news and status information can be found on the News page. Please check that page if you interested in following the on-going work, and changes to the source base.)

The Open Magic Data project (OMD) is an attempt to organize magic data (set lists, deck lists, etc) into a format that allows for easy access by encoding it into XML. The goal of the project is to create an Open Standard for the exchange of magic data (data used in the Magic: The Gathering (TM) game) so that applications and web sites written to support the game can easily make use of this information.

This project is going to be run under the conventions of Open Source projects. If you don't know about Open Source please read all about it on the following web sites: www.opensource.org and www.fsf.org. There are many more but I can't seem to remember them right now.

MoxPearl

You should also note that there was a similar project using the Pearl scripting language a number of years ago. I can't seem to find the web site for it anymore - anyone know where it is?

It sounds good, what have you done?

This section was written just after OMD was started, on-going information about the work currently being done on OMD can be found on the News page.

This project is an idea that has been brewing in my head since I started to learn about XML. The Prophecy Spoiler seemed like a good time to try it out and kick the tires. The initial results were good.

Normally, when I write a spoiler for NGO, I type it into Excel and format it real nice. I then save it as a text file and have to reformat it again. Now comes the hard part. To make an HTML file I have to copy the Excel data, paste it into Word, save it as an HTML file, and then - YEP - format the bloody thing again. This part is particularly hard because of all the junk Word puts in the HTML files it creates.

This time I made the standard Excel file (only 3 pages!) and then exported that to a comma delimited file. With a simple editor macro this file became the base XML file. (You can view the final XML file here.) I added some comments, Errata information, and meta data to create the file XML file.

I then created two XSL scripts. One to translate the XML file into HTML called Expansion2HTML.xsl and one to translate to text called Expansion2TXT.xsl. These scripts worked really well. They could still use some work to become what I would consider "production" quality software. There is plenty of documentation about short-comings and how they work in the script files.

Since then I have added an OMD News page that details all the changes and new stuff available with my (and others) work on OMD. Check there for more details.

How to do it yourself

To run them yourself on Windows you would need to get Michael Kay's InstantSaxon program and install it. It takes up a whole 720K, not a big drag on system resources. (It also uses Java so if you don't have that you will need to install it also. There is documentation on Kay's site about saxon's requirements and how to get Java.)
From the command line type:
saxon -o PR.html ex.pr.xml Expansion2HTML.xls
saxon -o PR.txt ex.pr.xml Expansion2TXT.xls
to see the scripts in action.

Can I modify them?

Yes you can! But unless you only use them only for private use, under the Licience, you must release the source code for your changes to the public. However, this is the ONLY requirement to using OMD in your own software, and all you need to publish is changes you make to OMD. If you only use OMD data and script files as they are you don't need to release your source code. You can post the source code on your web site (or any public forum) or mail it to me and I will publish it here on NGO. I might even include it in an official release.

How can I learn more?

I will be starting a mail group if there is enough interest. For now send me your email address and make sure to put "OMD interest" in the subject line. My email address is hogan@neutralground.net

What do you plan to do next?

The most current information about on-going work on OMD can be found on the News page.

I want to create Expansion files for all of the magic Expansions, hopefully with full errata. I would also like to design the following types XML files:

  • Deck - a representation of a deck
  • Hand, Library, Graveyard - a representation of cards in these places during a game
  • InPlay - a representation of cards in play during a game
  • Game - a representation of a game of magic
  • Tools to create and view game files

Honestly, the first area I will work on, if no one is interested in helping, is to start integrating NGO's AutoDeck system into the Open Magic Data paradigm. This would mean that AutoDeck could create XML files and use them to display decks. This seems like the next step since AutoDeck is functional in its current form, but could become even better with an open data XML interface available. (Imagine being able to download decks and save them locally using an XML deck and a Deck2HTML.xls file!)

Feel free to write with any questions, concerns or ideas,
May 27, 2000 (Modified June 16, 2000)
Hogan Long


Webmaster's note: this file has been modified in order to bring it into sync with OMD's new homepage at http://omd.sourceforge.net/ All changes have been to correct broken links and mispellings and style.
- November, 2000.