The latest release of the Corel XMetaL product provides an enhanced development environment as well as authoring capabilities. Developer is just one aspect of the product, but it is the foundation for deploying the corresponding Author product within an enterprise. XMetaL Developer enables you to customize the author interface to guide users through the XML creation process. It is a robust environment that provides numerous options.

The XMetaL Author product

If you’re looking for an alternative to XMLSpy’s XML authoring tool, you might want to give Corel’s XMetaL a try. This review will help you decide whether it’s right for your shop.

Microsoft only
XMetaL Developer is a plug-in for the Microsoft Visual Studio .NET platform. Using XMetaL Developer, you can customize the behavior of XMetaL Author and/or XMetaL for ActiveX. Without leaving the VS.NET development environment, you can view and modify all aspects of XMetaL customization, including XML DTDs, W3C schemas, customization files containing scripts and macros, XMetaL Forms Toolkit (XFT) forms, and Cascading Style Sheets (CSS). Deployment is made easy by using XMetaL Application Customization (XAC) sets.

XMetaL Developer includes the following features:

  • ·        JavaScript, VBScript, or other script languages supported by the VS.NET platform and Windows Scripting Host
  • ·        Import of scripts from other versions of XMetaL via the Script Import Wizard
  • ·        CSS creation and modification, including pseudo-class and style rules support
  • ·        XFT form-creation tools to produce inline and modal forms as part of an XMetaL customization

XMetaL Developer allows you to control various components so that your users can focus on entering data rather than on the aspects of XML. Scripting languages can be used to automate actions, and CSS controls the display of the XML in a browser. The XML is defined with DTDs or schemas; the choice is up to you.

XML data entry can be streamlined with forms developed with the XMetaL XFT toolkit. This allows you to present a GUI interface to the user community. The main problem with this feature is its proprietary nature. Unlike CSS, schemas, and DTDs, XFT is not an industry standard. The evolution of the XForms initiative may prompt Corel to include XForm support in a future version. (Although XAC is proprietary as well, it’s used only to combine elements for later reuse with the Developer environment.) Let’s take a closer look at XMetaL development with VS.NET.

XMetaL becomes a VS.NET project option once it is installed on a machine that has VS.NET installed. The creation of a new VS.NET project provides the XMetaL option, shown in Figure A. You can create a new project using an existing project, an existing schema file, a blank project, or the Project Wizard. The XMetaL installation includes numerous example projects to get you quickly up to speed with the environment.

Figure A
VS.NET XMetaL project option

In action
The XMetaL Developer tool includes too many features to cover in this article, but I do want to walk through an example to convey the power of the product. In Figure B, I’ve opened one of the sample projects included with the installation. The sample is MeetingMinutes, and its purpose is the entry of data related to a meeting. The project includes JavaScript files, XMetaL Forms (XFT), DTDs, image files, HTML, CSS, and XML. Notice the list of files in the right pane (the VS.NET Solution Explorer).

Figure B
Opening an XMetaL sample in VS.NET

This sample takes advantage of the XMetaL 4 ActiveX component, which allows the XMetaL Author interface to be presented in a browser with the same functionality. ActiveX support is a new feature of XMetaL 4. The sample application uses numerous forms. They’re designed in a special window (Figure C). The form shown in the figure allows users to enter meeting agenda information. Various JavaScript files in the project control the events within this form.

Figure C
Creating and editing an XMetaL form

At this point, you may be wondering how XML fits into the application. XML is the storage and formatting mechanism for data entered via the custom interface you’ve developed. The main XML file for the sample project is shown in the source pane (visible in Figure B). You may also notice that XMetaL inserts special tags within the data area of the XML (xml-replace_text). This tells the system where the data is stored within the underlying XML document.

Once the elements are created and the XMetaL application is ready to be deployed to the necessary users, you must properly deploy the required files. In the sample, ActiveX is used, so this app is easily deployed via a Web server. By contrast, a standard XMetaL Author application requires the files to be delivered to the users. The XMetaL documentation provides excellent instructions for this type of deployment.

One of my biggest worries with a product as large as XMetaL is the documentation. The documentation for most products is sparse and arcane, so you end up spending a lot of time on Google searching for information or browsing your local bookstore. This may keep the publishing industry afloat, but your wallet feels the pain. XMetaL is an exception. The documentation is excellent and the samples provide everything you need to quickly familiarize yourself with the product.

Only have eyes for Redmond
The Windows development community may be happy with the VS.NET integration, but Java developers are surely scratching their heads, as they are on the outside looking in. This is true for C/C++ developers as well. Sadly, Corel has no current plans to support any development platform outside of Microsoft. If VS.NET is not your preferred development platform, you need another product.

Final assessment
I am amazed at the power provided in the XMetaL 4 suite. The product is clearly designed for large-scale installations. Fortune 1000 companies are potential customers. Yet it is also well suited for smaller organizations, where those who enter XML are usually in charge of the design as well. The XMetaL interface is consistent and easy-to-use, and the developer integration with VS.NET provides a familiar interface for developers—albeit just Windows developers.