When I was researching XML content authoring software for SitePoint’s new book publishing business, the popular choice for such work seemed to be Adobe Framemaker 7. Retrofitted in its newest version to provide for the WYSIWYG editing of XML documents, it seemed a promising lead.
Unfortunately, Framemaker’s origin as an editor for a non-standard file format really shows. To edit existing XML content in Framemaker, you must import that content into Framemaker Structured Document Format, then export it to XML again when you’re done. Those import and export processes, as well as the behaviour of the editor for a given document type, is dictated by an ‘Editing Kit’. Unfortunately, Adobe leaves largely up to you the task of creating Editing Kits for any XML document type you might want to edit.
In particular, we were interested in editing XML content in DocBook format. Framemaker comes with an Editing Kit for DocBook, but it has a number of bugs that prevent it from reading valid documents on import, and cause it to produce invalid documents on export.
Enter: Epic Editor
Arbortext Epic Editor provides the same kind of WYSIWYG editing functionality, but works with XML documents directly. With no import/export process to foul up the works, and an environment designed from the ground up to allow writers to generate valid XML documents, Epic Editor really sets a standard to which Framemaker can only aspire.
At first glance, Epic Editor’s interface looks a lot like your average word processor, the most obvious exception being the Document Map on the left-hand side of the window. The Document Map displays a structural view of the tags, attributes, and content of your document. By default, it scrolls in sync with the main editor view, so you can always see at a glance the structure of the particular document area you’re working on. You can even edit your document right in the Document Map. And for the less technical user, the Document Map can be hidden entirely.
However, once you start working with Epic Editor, you’ll quickly realise that this modern word processor interface belies a slick XML editor that lurks quietly beneath the surface.
Handy Shortcuts and Ease of Use
Once you become accustomed to the keyboard shortcuts that are available, marking up heavily-structured content in Epic Editor is an astoundingly productive experience!
The most commonly-used functions have been integrated specifically so that you can accomplish them quickly. Inserting a new element (tag), for example, simply requires you to hit the Enter key. This brings up an alphabetical pop-up menu of all the elements that can legally be added at that cursor position, or placed around the current selection. This pop-up also includes at its top a list of common structural tasks that can be performed at the current location, such as splitting a paragraph in two.
In complex document types (such as DocBook XML), the menu of elements can be quite extensive, so additional element insertion methods exist.
If you type Ctrl-I, a small pop-up window appears containing the same menu of elements, this time in a scrollable list. Typing the first few letters of the element name you want to insert will take you straight to its entry in the list, so you can insert it by hitting Enter. To quickly insert a <function> tag in a DocBook document, for example, you just type ‘Ctrl-I, F, U, Enter’. If you make a mistake while typing the element name, you just need to pause a moment, and then start typing the name from the beginning again.
Insert Markup Functionality
Finally, there is the full Insert Markup dialog box, accessible through a toolbar button. In addition to the keyboard-seeking list of legal tags as just described, it also lets you insert processing instructions, text entities, and other XML markup.
The editing of tag attributes is made possible through a simple, yet effective dialog interface.
Typing Ctrl-A opens a dialog that lists the possible attributes for the current element (a toolbar button is also available). Required attributes are highlighted, and attributes with a fixed set of possible values appear as drop-down lists. When you insert a new element that has required attributes, the Attributes dialog box appears automatically for you to input them easily.
One of the most powerful structural features is support for drag-and-drop editing. Want to move a section somewhere else in your document? Simply drag its icon in the Document Map to the place you’d like to move it and let go. The mouse cursor changes during the drag operation to indicate legal and illegal drop locations, as well as locations where the editor will automatically insert new elements to make the dragged element legal there.
Word Processing Features
All this XML editing power, yet Epic Editor still manages to offer most of the amenities of modern word processors as well. Toolbar buttons and keyboard shortcuts are provided for most common formatting commands (e.g. the bold toolbar button inserts an <emphasis role="bold"> tag in DocBook XML mode). Multi-level undo/redo and document change tracking work as expected. And the real-time spell check (with red jagged underlines for misspelled words) and thesaurus are welcome writing tools. The built-in dictionary, however, is somewhat dated, so expect to spend some time adding words like ‘Internet’, ‘download’, and ‘configuration’ to the custom dictionary if you plan to write anything technical. Fortunately, this is a painless, one-click process for each word.
Advanced features are many and varied, and most are disabled by default so as not to confuse novice or non-technical users. The Find/Replace feature can be set to use regular expressions, and match markup (tags and attributes) instead of just document content. An "Edit Selection as XML Source" feature lets you get your hands dirty and work at the code level when you need to (such instances are surprisingly rare!). Tag name aliases, editing behaviour, and WYSIWYG formatting are all fully configurable when you need them.
An Editor For the Big Jobs
In short, Epic Editor is the ideal choice for the WYSIWYG editing of medium-to-large XML content. It handled a ~300 page, heavily structured, technical book without even breaking a sweat, and is far superior to any competitors I could find. In fact, the only downside to this program is that no evaluation version is available for download, so you’ll just have to take my word for it.
Epic Editor 4.3 is available now for Windows, Solaris, and Unix (not Linux).
Product: Epic Editor 4.3 (Arbortext)
More Information: Visit arbortext.com