private void LoadSpecialCharMap(String strSpecialCharMap) {
        logger.entering(loggerName, "LoadSpecialCharMap");
               
        try {
            File specialCharMap = new File(strSpecialCharMap);

            docBuilderFactory = DocumentBuilderFactory.newInstance();
            docBuilderFactory.setNamespaceAware(true);
            docBuilder = docBuilderFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(specialCharMap);
            
            NodeList nl = (NodeList) xp.evaluate(
                "//lookup/map[@char-code]", doc, XPathConstants.NODESET);
            for (int i = 0; i < nl.getLength(); i++) {
                Integer key = Integer.parseInt(nl.item(i).getAttributes().getNamedItem("char-code").getNodeValue());
                String value = nl.item(i).getTextContent();
                logger.finest("LoadSpecialCharMap: key=" + Integer.toString(key) + ", value=" + value);
                specialCharHM.put(key, value);
            }
            
        }
        catch (Exception e) {
            logger.severe("Error in LoadSpecialCharMap: " + e.toString());
        }
        
        logger.exiting(loggerName, "LoadSpecialCharMap");
    }