XMLMax Version History

XMLMax Version 3.0 January 3, 2012.
  • Validation may be performed when an XML file is opened or after it has been displayed.
  • Additional validation options are now supported. XML may be valdated against an internal or external schema or DTD as well as an inline schema.
  • Version 3.0 adds a new option that may be used to relax conformance to the XML 1.0 specification. The Allow undeclared entities option allows named entities not declared in a DTD and also allows undeclared namespaces and character entities that represent unicode characters not allowed by the XML 1.0 specification. It applies only during the initial reading of the file. Parsing of XML files is in strict conformance to the XML 1.0 specification provided the default option settings are not changed.
  • Entering a character entity reference to an illegal XML character like  is now blocked with a warning in the Edit panel.
  • The Split dialog has a new option for handling Document Declaration(DOCTYPE) nodes. If the XML file has a DOCTYPE node, radio buttons are provided for writing it to all split files, only the first split file, or to none of the split files.
XMLMax Version 2.9 September 22, 2011.
Two new split methods have been added for a total of five.
  • Split when the namespace in scope changes.
  • Split when a Comment, CDATA, or ProcessingInstruction occurs.
In addition, it is no longer necessary to first open an XML file in the treeview before selecting and executing the split feature.
XMLMax Version 2.8.6 August 22, 2011.

This is a bug fix release.
1. The Goto function (Edit menu) was sometimes off by one tree node.
2. Following schema validation, the Goto function for navigating to a reported validation error did not work if the XML element had been swapped to disk.

XMLMax Version 2.8 April 4, 2011.

A few tweaks were made to the buffering algorithms that resulted in reducing the treeview load time. It was tested with files up to 6.5 gigabytes. See the Performance Tests.

XMLMax Version 2.7 February 15, 2011.

Conventional XPath Query

Prior versions of XMLMax required the creation of an index for XPath queries. This allowed queries with XML files too big to fit into memory. Version 2.7 adds a second query mode that executes a conventional XPath query with documents than can be loaded entirely into available memory. It supports the complete XPath 1.0 specification, including queries that return a value. The indexed query, is limited to queries that return a node list.

XSL Transformation

Version 2.7 adds XSL transformation of XML documents. It is limited to XML files that can be fully loaded into memory.

XMLMax Version 2.6.2 December 13, 2010.

Added An "Optimized Parsing" Option

The new Optimized Parsing option should be checked before opening an XML file that contains a large number of elements with unique names. Without this option, such a file can result in the use of an excessive amount of memory. A significant drop in available memory during parsing triggers a warning and suggestion to use this option. This option should be used with an XML file having more than five million unique element names. The only side effect of using this option is that it has a minor impact on XPath queries. This is covered in depth in the help file.

Minor Changes And Bug Fixes

Dropped the Escape option in the Strip Illegal Characters feature because it is not possible to escape characters outside of the allowed unicode ranges.

Fixed a Treeview bug that resulted in warning messages being displayed while navigating some XML files in the treeview.

Changed some wording in the XPath Dialog.

Fixed a bug in Create Index where it was not correctly parsing elements that contained a CDATA section.


XMLMax Version 2.6.1 October 22, 2010.

New Split Option Added

The Split Dialog now has an option for an Append File. The contents of the Append File are written to the end of each split file that is created. This adds additional flexibility to splitting XML documents into smaller files. A common scenario is to split an XML document and encapsulate each split file not only with a root element, but with additional child elements under the root. This can be accomplished by using both the Include File and Append File options. The Include file would contain one or more start tags and the Append File would contain the corresponding end tags.


XMLMax Version 2.6 August 23, 2010.

Text Viewer-editor

A text viewer-editor has been added. It may be used to quickly view any text file in read-only mode, including XML documents. It is used in edit mode when a syntax error is reported during the initial reading and parsing of an XML document. Fixing such errors in prior versions was limited to accessing only the section(s) of the file containing the reported error line(s). By having access to the entire file, users now have an easier time determining the exact nature of the error, particularly when it involves mis-matched start and end tags. The text viewer-editor is virtual in the sense that only a small part of a file is loaded into memory at a given time. The result is that any size file should load in under one second and provide immediate access to any part of the file.

The text viewer-editor is also available in edit mode for an XML document that has already been parsed and displayed in the treeview, as this ensures the XML is well-formed. Text search and replace is available during edit mode.

Entity Handling

Entity handling has been changed so that the edit textboxes contain entity references, while the treeview displays de-referenced, or parsed, entitities. This applies to entities declared in an internal DTD as well as pre-defined entities. For example, the treeview would display the following element
<project>1 < 2</project> while the edit panel would display "1 &lt; 2". This also applies to character references.


XMLMax Version 2.5 July 15, 2010.

XMLMax now uses the SQLite embedded database for indexing and XPATH queries. It reduces indexing time by about twenty percent and slightly improves XPATH performance for some queries.

A Tools menu has been added with three items. One scans an XML document for illegal characters as per the w3c specification. Options are provided for either removing illegal characters or replacing them with a user-defined string. As with most XMLMax features, it uses low level file I/O with a Filestream object which provides very fast performance.

The second Tools menu item converts datetime strings in an XML document to XML DateTime: the ISO 8601 format, which is yyyy-MM-ddTHH:mm:ss.

The last Tools menu item deletes a range of nodes where the user "marks" the start and end nodes of the range and all nodes between and including them are deleted, including all child nodes.


XMLMax Version 2.4. May 23, 2010.

Support for all "backward-looking" axes in XPath 1.0 has been added, including ancestor::, preceding::, etc. This makes XMLMax one of the few XML tools that supports all XPath axes with XML documents too large to fit into memory. Native XML databases also provide this capability. The significance is that for the first time one may use XPath to extract any nodeset from very large XML documents without programming and without a database.

Also added is the ability to save the results nodeset of an XPath query to a file.


XMLMax Version 2.3 March 23, 2010.
Minor update. Bug fixes.
XMLMax Version 2.2 February 21, 2010.
Minor update. Bug fixes.
XMLMax Version 2.1. January 29, 2010.

XPath 1.0 Enhancements.

Full support for the XPath collection operator has been added. XPath queries in XMLMax will work with large Xml documents, including those that are too large to fit into memory.

XML Splitting

The ability to specify the hierarchical depth of XML elements has been added to each of the Split methods. For example, one may now split an XML document at every 10000th element at a depth of two.

An option has been added for inserting an include file into each of the split files. Also added is an option to skip to a specific element in the source xml before the split operation begins.

Other New Features

Horizontal Scrolling In Tree View
Font Size Control Via Plus-Minus Keys


XMLMax Version 2.0. December 11, 2009.

Faster XPath Queries.

The index used for XPath queries was re-designed to order XML elements by path. This allows the query engine to limit the search to XML elements whose path matches the axes in the XPath expression. The result is significantly faster queries, on the order of two to five fold. Performance is dependent on how many XML elements have the same path as that specified by the XPath expression.

New Methods For Splitting Large XML.

Three new methods for splitting XML documents into smaller files have been added. Splitting XML files with the prior version was limited to using an XPath expression to locate fragments and write each to a separate file. The new methods are:

  • Every nth element at a depth of one.
  • Upon change of the value of a specified attribute that is in an element at a depth of one.
  • Upon change of the name of an element at a depth of one.

All of the split methods write the entire fragment of each matching element to a separate auto-numbered file, with a user-specified name. Options are provided for inserting an XML Declaration and a root element, which may include attributes.

All XMLMax Versions 1.? were Beta Versions.



copyright © 2008-2011. Xponent LLC. All rights reserved.