Create and manage SGML and XML docs.
By Mike Riley
XMetaL 3 is SoftQuad's solution to creating and managing Standard Generalized Markup Language (SGML) and XML documents. Although it's certainly not a shabby solution in its own right, its expensive per-client solution for providing an easy-to-use front end to XML-structured documents simply doesn't match the extensive capabilities offered by its similarly priced competitors.
Figure 1. Using a word processing interface, XMetaL 3 hides the complexity of XML document management from the user.
At its core, XMetaL 3 seems to be designed around the correct notion that people prefer to spend their time creating content, not the contextual tags that surround that content. And because of the success and ubiquity of Microsoft Word in the corporate environment, users are familiar already with Word's paradigm of dealing with electronic documents. Finally, that same corporate space often struggles with standardizing the format of these documents, especially in light of the multiple publishing output options available in today's Internet-enabled world.
Legacy content management systems, including those based on SGML such as Documentum, need an easier way to flow their content stores into and out of their systems. XMetaL 3's easy-to-use interface provides content and rudimentary document structure creators with the ability to author and manage XML documents without learning the intricate details of W3C XML family acronyms. Unfortunately, it hides these intricacies too well, and developers considering XMetaL 3 for XML applications will find it either obtuse, incomplete, or lacking rudimentary features provided by alternative commercial solutions.
For example, although XMetaL 3 can read XML schema files, its implementation feels bolted on and inflexible. So authors can't effectively use XMetaL 3 to author XML schemas because the program doesn't provide an easy way to work with and export XML schemas, even though these schemas themselves are made up of XML. Instead of taking the lead in making XML schema documents easy to create and use, XMetaL 3 instead falls back on the antiquated, cumbersome DTD model instead. The program's DTD tools are a holdover from previous versions when the XML schema wasn't even a spark in someone's neuron - the world has changed, and past solutions that don't effortlessly address these changes will be left behind.
Another example of poor developer support is XMetaL 3's inability to create a database from a well formed XML document's contents. Although you can import an ODBC data source into a structured XML document and save any changes made to that content back into the same database, the lack of database creation is a painful omission. Perhaps SoftQuad's intention is to have developers create proprietary XMetaL 3 form interfaces to data sources using XMetaL 3's included Form Layout Tool. These forms, driven by Microsoft's Windows Scripting Host (WSH) engine, can interpret any language supported by WSH such as Jscript, VBScript, and even PerlScript. The Form Layout Tool has the look and feel of Microsoft's VBA Form toolkit and is simple to use. Of course, any form authored using XMetaL 3's Form Layout Tool must have XMetaL 3 installed on the client machine to execute. Thus, its inclusion is more like the forms engine in Microsoft Access by providing developers with the ability to hide program complexities behind simple form interfaces. SoftQuad once again could have taken the lead with its Form Layout Tool by providing an option for a direct tap into Microsoft's .NET-oriented Windows Forms. Instead, the program seems to struggle to meet the minimum requirements of XML editing.
One XML technology that XMetaL 3 really could have taken the lead in was with the creation of eXtensible StyLesheet Transformation (XSLT) documents. Given the program's visual interface and intent to mask XML document creation complexity, no program on the market today has the ease-of-use document style editing tools found in good desktop publishing programs. SoftQuad elected not to weave GUI-based XSLT editing into its visual interface even though its application is best suited for this type of design activity. This is a seriously missed marketing opportunity. Without this feature, XMetaL 3 is more or less relegated to the status of an expensive Microsoft Word-like processor program for XML documents. This interpretation is solidified by the inclusion of a spell checker and thesaurus, features normally found in word processing programs. Additionally, document changes can be tracked, accepted or rejected by others. XMetaL 3 also supports Web Distributed Authoring and Versioning (WebDAV), making this workflow feature more accessible to collaborating teams using the program on the Windows 2000 or higher platform.
Figure 2. XMetaL 3 provides a Form Layout Tool for developers seeking to simplify interfaces to XML documents even further.
More problems persist. The visual XML tag view, although quite helpful when working with small XML documents, bogs down the program significantly when working with any XML document larger than 500k. The screen refresh is painfully slow, particularly when resizing the view window, even on a 1 GHz or faster machine. Advertised new features are unintentionally hidden or not easily implemented. For example, XMetaL 3's ability to preview XML documents into HTML or PDF documents isn't provided as a one-click menu item on the View menu. Instead, users must first install Adobe Acrobat Reader, with Web Browser Integration, Sun Java Runtime Engine, and the Apache Project's Formatting Object Processor. Following this, you must create an XML-to-PDF macro manually through a cumbersome setup process. You must expend the same effort to implement "Save As PDF" and "Print As PDF" functions. This isn't a feature - it's a chore.
SoftQuad has made efforts to extend its APIs to COM and Java-centric developers. Many facets of the application's DOM traversing abilities are enabled programmatically in its COM automation server and Java libraries. SoftQuad proudly advertises that its Java libraries do not require a COM wrapper, but considering that XMetaL 3 is available only for the Windows platform, this COM independence seems hardly necessary. And because the program was written primarily as an end user XML content-processing tool and not a developer tool, its shipping templates are tailored for content-rich XML structured data. Template libraries for the numerous other XML vocabularies such as BizTalk, Mathematical Markup Language (MathML), and Simple Object Access Protocol (SOAP) envelopes are missing, though the program does let you include user-authored XML templates into the template gallery. It is also unable to save edited documents out to any other format besides SGML or XML. Unless you go through the trouble of writing your own macros to export to other file formats such as RTF or even plain text (that is, the XML document minus the XML tags), XMetaL 3 doesn't offer that option.
The program isn't a complete wash. It certainly makes rudimentary, content-rich XML document creation and editing easy, more so than any other XML editing or word processing program available on the market today, and its macro recording and content manipulation abilities are successfully modeled after popular word processing software packages. Maybe that's why its Canadian neighbor Corel Corp. acquired SoftQuad in March 2002. Unless the program is re-architected from the ground up to exceed the capabilities of its competitors, the guts of XMetaL 3 probably will be absorbed into Corel's office suite of applications. Thus, for users who prefer WordPerfect over Microsoft Word or are looking for an easy package to conduit into their legacy SGML systems, XMetaL 3 might provide an answer, albeit an expensive one. For the rest of us who are dealing with managing the churn of exponential XML complexities programmatically in the corporate computing environment, check out my review of an alternative XML editing solution (XML Spy 4.1 Suite)
Mike Riley is a chief scientist with RR Donnelley, one of North America's largest printers. He participates in the company's emerging technology strategies using a wide variety of distributed network technologies. E-mail him at mailto:[email protected].
XMetaL 3 is best used for small, content-centric, pure XML file front-end editing. It should not to be considered for XML application development.
1600 Carling Ave.
Phone: (613) 728-8200
E-mail: mailto:[email protected]
Web Site: http://www.softquad.com