It's been quiet for a long time, but I hope that I can find time to blog again. So here's one to get me started again.
I bumped into an article on MSDN, written by Chris Lovett in August 2006, which describes the creation of XML Notepad 2007. Chris Lovett has been working on System.XML in C# since 1999. This version of XML Notepad, which replaces the one that dates back to 1998, is written in C#. Chris describes the design and implementation of the new version, and some of the new features.
I already tried it on one of the XML's I'm currently working with and it's pretty cool. You can download XML Notepad 2007 here and try it yourself.
XML Notepad 2007 supports the following features:
- Tree View synchronized with Node Text View for quick editing of node names and values.
- Incremental search (Ctrl+I) in both tree and text views, so as you type it navigates to matching nodes.
- Cut/copy/paste with full namespace support.
- Drag/drop support for easy manipulation of the tree, even across different instances of XML Notepad and from the file system.
- Infinite undo/redo for all edit operations.
- In place popup multi-line editing of large text node values.
- Configurable fonts and colors via the options dialog.
- Full find/replace dialog with support for regex and XPath.
- Good performance on large XML documents, loading a 3mb document in about one second.
- Instant XML schema validation while you edit with errors and warnings shown in the task list window.
- Intellisense based on expected elements and attributes and enumerated simple type values.
- Support for custom editors for date, dateTime and time datatypes and other types like color.
- Handy nudge tool bar buttons for quick movement of nodes up and down the tree.
- Inplace HTML viewer for processing xml-stylesheet processing instructions.
- Built-in XML Diff tool.
- Support for loading IXmlBuilder and IXmlEditor implementations from different assemblies using new vs:assembly attribute.
- Source code localizable by moving all error messages and dialog strings to .resx files.
- Default XSL transform.
- New icons, a play on the Vista "Notepad" icons.