Compatibility Requirements

This section describes basic software version requirements and techexplorer compatibility information for using Zed.


Software Requirements
techexplorer Compatibility

The following paragraphs describe how Zed interacts with other software components that it uses to support the editing functionality it provides. Since Zed uses techexplorer to provide rendering support for MathML expressions, special attention is given to those issues that may arise in using Zed that are inherited from techexplorer behavior.


Software Requirements

Operating Systems
Web Browsers
techexplorer

Zed relies on a few other programs for its operation, especially in the component edition. The required editions of these other programs are listed in the following paragraphs.


Operating Systems

Zed was developed using Microsoft Windows 2000, and so should be expected to run under any of the various editions of Windows, especially those based on Windows NT (XP, 2K, NT) but also those descended from Windows 95 (Me, 98, 95).

The installation program for Zed uses the Windows Installer technology for installation/removal of the software, which comes as part of the operating system for Windows 2000 and XP, and which can also be installed on other editions of Windows. As is becoming common with other installation programs, the installation program for Zed checks to see what version of the Windows Installer is available, if any, and installs or updates the Windows Installer as needed before continuing its installation.


Web Browsers

Since the component edition of Zed exists as an ActiveX control, it is designed to be used primarily with Microsoft Internet Explorer. While third-party packages exist for allowing ActiveX controls to be used with other web browsers, these packages have not been tested with Zed to determine the extent of their support.

Zed has been developed and tested using Internet Explorer version 5.5 SP1, but does not depend in any essential way on any new features in 5.5. As such, it should work with any version of IE that supports ActiveX controls.

As an ActiveX control, the component edition of Zed can also be used with any other application that acts as an ActiveX container, such as Microsoft Word or PowerPoint.


techexplorer

Both the component edition and the application edition of Zed rely on the ActiveX control edition of the Integre techexplorer Hypermedia Browser for the parsing and display of MathML expressions. Zed uses techexplorer to parse both presentation and content MathML, and uses both the techexplorer DOM interfaces and techexplorer extensions, to send presentation MathML to techexplorer for rendering.

Because of the particular interfaces used, both editions of Zed require that techexplorer version 3.5 be installed. If techexplorer is missing, or if an older version is installed, Zed will display an error dialog, upon trying to load a document, reminding the user to install techexplorer.

Since Zed relies on the programming interfaces of the ActiveX control edition of techexplorer, note also that Zed requires that the Professional Edition of techexplorer be installed.


techexplorer Compatibility

Attribute maps have no owner document
Text nodes need whitespace trimmed
MathML version handling settings being reset
DOM nodes being reallocated
Invalid name attributes being produced
Improper default value for mathvariant
Improper spacing around descender characters
Large operators displayed at incorrect size
Horizontal operator drawn with the wrong background

Zed relies on the presentation MathML support in techexplorer 3.5 and thoroughly exercises all aspects of that support. In the process of developing the editing facilities in Zed, a number of issues were discovered in using the programming interfaces for MathML in techexplorer that would not normally impact the viewing of MathML documents. The issues listed below were addressed in the operation of the editor in various ways, either by programming around the behavior in the editor itself, or by working around the issue in the configuration customizations that control how Zed supports each of the MathML content elements. As a result, none of these issues should impact the use of the editor in its default configuration, but they may arise in advanced applications that use the configuration customization facilities.


Attribute maps have no owner document

techexplorer provides methods for accessing the NamedNodeMap of MathML attributes for each element. However, while the techexplorer methods return the NamedNodeMap successfully, it is missing a pointer to its owner document, and so when it is passed as an argument to other DOM methods, techexplorer raises an exception when it finds the owner document missing.

Zed works around this issue by using alternative methods for getting and setting attribute values on MathML elements.


Text nodes need whitespace trimmed

While techexplorer successfully collapses internal whitespace in Text nodes, it fails to trim external whitespace at the beginning and end of the character data for the node.

Zed works around this issue by trimming the whitespace itself.


MathML version handling settings being reset

techexplorer provides additional methods for controlling the version of MathML being used, and whether or not to allow the use of deprecated features. However, some of the method calls provided by techexplorer cause the state of these switches to be reset to their initial values.

Zed works around this issue by explicitly resetting the MathML version and deprecation flags after parsing MathML data from a string.


DOM nodes being reallocated

Under some circumstances, the DOM support in techexplorer appears to be deallocating and reusing pointers to node values in ways that affect the persistence of these objects across the component boundary.

Zed works around this issue in its handling of the DOM nodes it receives from techexplorer by checking the validity of the node type of the result from each operation.


Invalid name attributes being produced

Older versions of techexplorer previously produced invalid values for the name attribute, which is now obsolete in MathML 2.0.

Since the name attribute is not used by Zed it is simply ignored.


Improper default value for mathvariant

Under some circumstances, techexplorer exhibits a bug in the computation of the default value of the mathvariant attribute for token elements.

Zed works around this issue by overriding the default value of the attribute with the explicit value that would otherwise be used.


Improper spacing around descender characters

The treatment of characters with descenders in math mode in techexplorer adds horizontal spacing as expected by the TeX/LaTeX conventions for such characters. This spacing is undesirable for MathML elements, but appears in some cases in displaying elements created through the programming interfaces.

Zed works around this issue internally by using character entity references to these descender characters to avoid the added spacing.


Large operators displayed at incorrect size

The default handling of large operators in techexplorer sometimes produces undesirable results.

Zed works around the handling of large operators in techexplorer by specifying explicit values for the displaystyle, movablelimits, and maxsize attributes for large operators when they are used to display content elements in MathML.


Horizontal operator drawn with the wrong background

When techexplorer displays stretchable operators that stretch horizontally, it may draw them with the wrong background color.

Zed works around this issue by avoiding the use of such characters in a stretchable context, by putting these characters in <mi> elements rather than <mo> elements.