October 10, 2005

Visual Haskell

I was always sure that's what Haskell desperately needs: Visual Haskell: Visual Haskell is a complete development environment for Haskell software, based on Microsoft's Visual Studio platform. Visual Haskell integrates with the Visual Studio editor to provide interactive features to aid Haskell development, and it enables the construction of projects ...

XML Catalogs v1.1 is an OASIS Standard

Norman Walsh: XML Catalogs V1.1 is an OASIS Standard. I'm also happy to report that my implementation of XML Catalog support, currently part of the xml-commons project at Apache, will ship as a standard part of the next Java™ release. You've got a standard. You've got an implementation. What are ...

Great news. I use XML catalogs for years and I love it. I even got a prototype implementation for .NET which works for some my stuff. But full-blown XML Catalogs implementation for .NET is still deep down my todo list, cause I don't see much user requests. And I really wonder why.

As a matter of interest XML Editor in Microsoft Visual Studio 2005 supports so-called "schema catalog files" which can be used to point to schema locations other than Visual Studio's own schema cache directory. Every other XML editor on this planet solves URI resolving problem with XML Catalogs, but obviously not Microsoft's one. What's worse - brand new XML Editor in Visual Studio 2005 provides no extensibility points for third-parties for resolving XML resources in a custom way. That sucks. (Hey, that's a third post in a row where I use this highly technical term "suck", hmmm :)

Anyway, if you personally need XML Catalogs for .NET platform - just drop me a line, I want to gather some user requests.

How to insert a code snippet using a shortcut in XML editor of Visual Studio 2005

If you have tried to create or use code snippets in any of XML languages in Visual Studio 2005 you probably stumbled across the issue of using shortcuts. In C# or VB you just type code snippet's shortcut name and press Tab, it just works. In XML it doesn't ...

ValidationType.Auto is obsolete, what do I do?

In .NET 2.0 ValidationType.Auto value is made obsolete. What's worse - it doesn't work for XmlReaders created via XmlReader.Create() factory method. But how do you validate against either DTD and/or schema, i.e. against DTD if document has a DOCTYPE and/or schema if any is applicable? The answer is: you can ...

XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
XmlReader inner = XmlReader.Create("book.xml", settings); // DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader outer = XmlReader.Create(inner, settings);  // XML Schema Validation
That's so intuitive and clean, but I'm sure many won't figure it out the first time. Shame on me, but I didn't. So I write this to save somebody his time. You know, .NET used to suck on chaining XmlReaders, but not anymore.