I recently returned from a long business trip, and while working through my email backlog I’ve come across several questions from developers who are working with the Open XML formats. I’ve responded to each of them with some tips on how to best get such questions answered, and I thought I’d summarize that information here for others who may find it useful.
Your first stop for most Open XML development questions should be the forums section of the Open XML Developer web site. You can post a question there and it will be seen by the people who manage that site, and also by the broader Open XML developer community. Over 4,000 comments have been posted to those forums, so you can also learn quite a bit by reviewing the existing threads. And the library section of the site has dozens of articles with Open XML code samples in many programming languages, including Java, C#, C++, PHP, Ruby, Python, and others.
Another great one-stop shop for Open XML development topics is the Open XML Developer Portal. There you can find a huge number of code samples, articles, whitepapers, how-to videos, and free downloads, as well as links to many other resources. This site is focused on the needs of developers who are working with Microsoft’s tools, including the Open XML SDK and the System.IO.Packaging API.
For developers working with the Open XML SDK, be sure to check out Erika Ehrli’s recent summary of “Getting Started Best Practices” for SDK developers. You can also find a rapidly growing collection of great in-depth blog posts about Open XML SDK development over on Brian Jones’s blog, where Zeyad Rajabi has been covering a wide variety of common scenarios for Open XML developers.
Speaking of Microsoft blogs for Open XML developers, any serious Open XML developer should also include Eric White’s blog in their RSS feeds. Eric is a leading proponent of the use of functional programming techniques based on LINQ to XML technology, and he covers the Open XML SDK and SharePoint topics as well as more general XML development concepts. Another Microsoft blogger to follow is Stephen Peront, who works with me on the Office Interoperability team and recently covered the File Format Converter API that we released in Office 2007 SP2.
If you’re looking for detailed information about Office’s implementation of Open XML, check out the implementer notes published on the DII web site. There you can find information about our support for ECMA-376, and soon you’ll find a similarly detailed set of notes for our implementation of ISO/IEC 29500 in Office 2010. This information can be very useful for maximizing interoperability with Office.
You can find related information about Office’s support for file formats (including other formats in addition to Open XML) at the Open Specifications Developer Center on MSDN. That site hosts thousands of pages of documentation for protocols and formats that are supported by Office, and the forums section of the site is a good place to get specific questions answered. The MSDN forums also include a very active forum for Open XML SDK developers.
One final detail worth mentioning is where to get the Open XML specification itself. You can download ECMA-376 from the Ecma International web site, and the home page of the Open XML Developer web site has a handy set of links for that purpose. And you can download the ISO/IEC 29500 specification from the “Freely Available Standards” page on the ISO web site.
As you can see, there are many good resources available for Open XML developers. If you have questions about how to do something specific, or are looking for general advice on working with Open XML, the links above are the best places to get help. Feel free to contact me as well, through this blog, if you’re looking for something you can’t find at these sites, and I’ll try to help you track down the best place to get the information you need.
OK, time to get back to working through that email backlog …
Just by curiosity, were the changes made to Open XML in IS 29500 backported to ECMA 376? As far as I know, there were like a thousand of them, and they were not all typo corrections... So?
And, if these two are still different (I think there is work under way to make ECMA 376 and a relaxed IS 29500 compatible or something), which is supported in Office 2010, and which is default?
Hi Mitch, sorry for the delayed response -- I'm just now cleaning out my overflowing in-box ...
Office 2010 supports IS29500. As for the changes between ECMA-376 and IS29500, the way that's working is that Ecma has published ECMA-376 2nd Edition, which is equivalent to IS29500:2008. So the original ECMA-376 is 1st Edition, then 2nd Edition is aligned with the first version of IS29500. After there is a revision to IS29500 (as part of the ongoing maintenance process), Ecma will most likely publish a 3rd Edition that aligns with it, although that decision can't actually be taken by the Ecma General Assembly until an IS29500 revision is published by ISO/IEC.