XMetal 3 and Special Characters

It is critical if you start authoring or editing a file with XMetal 3 that you no longer open the XML file with any other piece of software.

SoftQuad made major changes in the way special characters are handled between XMetal 2 and XMetal 3. The Special Character and Symbol toolbars are still available via the Insert menu and both versions offer access to the same character sets. [Use these toolbars as you normally would. If you need a character not found in the toolbars, refer to the “Special Characters, Unicode and XML” page elsewhere on this website.] Whereas XMetal 2 will insert the Unicode hexadecimal notation for a character, in XMetal 3 the character itself is usually inserted and displayed during XML authoring and editing.

When you save and close your XML document in XMetal 3, a process SoftQuad refers to as “export” in their Help files, it is UTF-8 encoded. The software follows these three rules, in order, in determining how characters are saved to your XML file:

  1. If UTF-8 allows for it, the characters are saved as the actual characters.
  2. If not, XMetal 3 checks the “charentmap.xml” file for an entity reference to represent the characters.
  3. If an entity reference is not found in this file, the characters is saved as a hexadecimal character reference.

Netscape Navigator has trouble translating many entity references back into characters for display. For this reason, we would prefer that XMetal 3 jump from Rule #1 to Rule #3. To force this, we have created an updated charentmap.xml file for you to download and install, which ignores entity references.

DIRECTIONS: **right click** on the link below and choose to “save link” or “save target” as offered in your browser menu. Save the file directly into the directory on your computer where you installed XMetal 3. (eg “C:\Program Files\SoftQuad\XMetaL 3\”)charentmap.xml

In summary, the primary difference between XMetal 2 and XMetal 3 on this point is that instead of forcing all special characters to be saved as an entity or character reference, some characters can now be saved in their native state. XMetal 3 can do this because it is encoding the file in UTF-8 format when closing it. However, this is also the reason you should not open the file with any other editor after the file has been saved in XMetal 3. Many other editors do not understand UTF-8 encoding. When opening a UTF-8 file, these editors will display alphanumeric characters, but produce a garbled mess for any special characters. When closing files with these non UTF-8 compliant editors, the garbled mess–not the special character–will be saved.

Leave a Reply