dbertoni    00/04/11 07:43:08

  Modified:    c/src/XMLSupport Formatter.hpp FormatterListener.hpp
                        FormatterToDOM.cpp FormatterToDOM.hpp
                        FormatterToHTML.cpp FormatterToHTML.hpp
                        FormatterToXML.cpp FormatterToXML.hpp
                        FormatterTreeWalker.cpp FormatterTreeWalker.hpp
                        XMLParserLiaison.hpp XMLParserLiaisonDefault.cpp
                        XMLParserLiaisonDefault.hpp XMLSupportException.cpp
                        XMLSupportException.hpp
  Log:
  Changes for new Xalan DOM.
  
  Revision  Changes    Path
  1.3       +41 -39    xml-xalan/c/src/XMLSupport/Formatter.hpp
  
  Index: Formatter.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/Formatter.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Formatter.hpp     2000/03/06 17:05:20     1.2
  +++ Formatter.hpp     2000/04/11 14:42:59     1.3
  @@ -64,8 +64,12 @@
   
   
   
  -class DOM_Document;
  -class DOMString;
  +// $$$ ToDo: Necessary while XalanDOMString is a typedef
  +#include <XalanDOM/XalanDOMString.hpp>
  +
  +
  +
  +class XalanDocument;
   class FormatterListener;
   class PrintWriter;
   
  @@ -108,56 +112,54 @@
        virtual
        ~Formatter();
   
  -  /**
  -   * Print the result tree.
  -     *
  -   * @param doc      result tree
  -   * @param pw       printWriter to print the contents to
  -   * @param resultns value of the result namespace attribute
  -   * @param format   true if it should be pretty-printed
  -   */
  +     /**
  +      * Print the result tree.
  +      *
  +      * @param doc      result tree
  +      * @param pw       printWriter to print the contents to
  +      * @param resultns value of the result namespace attribute
  +      * @param format   true if it should be pretty-printed
  +      */
        virtual void
        toMarkup(
  -                     const DOM_Document&             doc,
  +                     const XalanDocument&    doc,
                        PrintWriter&                    pw,
  -                     const DOMString&                resultns,
  +                     const XalanDOMString&   resultns,
                        bool                                    format) = 0;
   
  -  /**
  -     * Get the instance of the formatter listener that is associated with 
this
  -     * formatter.
  -     *
  -   * @return pointer to listener
  -   */
  +     /**
  +      * Get the instance of the formatter listener that is associated with 
this
  +      * formatter.
  +      *
  +      * @return pointer to listener
  +      */
        virtual FormatterListener*
        getFormatterListener() const = 0;
   
  -  /**
  -     * Set the instance of the formatter listener that is associated with 
this
  -     * formatter.
  -     *
  -   * @param pw       printWriter to print the contents to
  -   * @param resultns value of the result namespace attribute
  -   * @param format   true if it should be pretty-printed
  -   */
  +     /**
  +      * Set the instance of the formatter listener that is associated with 
this
  +      * formatter.
  +      *
  +      * @param pw       printWriter to print the contents to
  +      * @param resultns value of the result namespace attribute
  +      * @param format   true if it should be pretty-printed
  +      */
        virtual void
        setFormatterListener(
  -                     PrintWriter&            pw,
  -                     const DOMString&        resultns,
  -                     bool                            format) = 0;
  -
  -  /**
  -     * Set the instance of the formatter listener that is associated with 
this
  -     * formatter.
  -     *
  -   * @param pw       printWriter to print the contents to
  -   * @param resultns value of the result namespace attribute
  -   * @param format   true if it should be pretty-printed
  -   * @param fl       pointer to listener to use
  -   */
  +                     PrintWriter&                    pw,
  +                     const XalanDOMString&   resultns,
  +                     bool                                    format) = 0;
  +
  +     /**
  +      * Set the instance of the formatter listener that is associated with 
this
  +      * formatter.
  +      *
  +      * @param fl       pointer to listener to use
  +      */
        virtual void
        setFormatterListener(FormatterListener*         fl) = 0;
   };
  +
   
   
   #endif       // FORMATTER_HEADER_GUARD_1357924680
  
  
  
  1.6       +1 -5      xml-xalan/c/src/XMLSupport/FormatterListener.hpp
  
  Index: FormatterListener.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterListener.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FormatterListener.hpp     2000/03/21 03:22:44     1.5
  +++ FormatterListener.hpp     2000/04/11 14:43:00     1.6
  @@ -58,7 +58,7 @@
   #define FORMATTERLISTENER_HEADER_GUARD_1357924680
   
   /**
  - * $Id: FormatterListener.hpp,v 1.5 2000/03/21 03:22:44 dbertoni Exp $
  + * $Id: FormatterListener.hpp,v 1.6 2000/04/11 14:43:00 dbertoni Exp $
    * 
    * $State: Exp $
    * 
  @@ -73,10 +73,6 @@
   
   
   #include <sax/DocumentHandler.hpp>
  -
  -
  -
  -class DOMString;
   
   
   
  
  
  
  1.6       +48 -25    xml-xalan/c/src/XMLSupport/FormatterToDOM.cpp
  
  Index: FormatterToDOM.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterToDOM.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FormatterToDOM.cpp        2000/03/21 03:22:45     1.5
  +++ FormatterToDOM.cpp        2000/04/11 14:43:00     1.6
  @@ -59,34 +59,53 @@
   
   
   
  -#include <dom/DOMString.hpp>
  +#include <cassert>
  +
  +
  +
   #include <sax/AttributeList.hpp>
   
   
  +
  +#include <XalanDOM/XalanCDATASection.hpp>
  +#include <XalanDOM/XalanComment.hpp>
  +#include <XalanDOM/XalanDocument.hpp>
  +#include <XalanDOM/XalanDocumentFragment.hpp>
  +#include <XalanDOM/XalanElement.hpp>
  +#include <XalanDOM/XalanEntityReference.hpp>
  +#include <XalanDOM/XalanProcessingInstruction.hpp>
  +#include <XalanDOM/XalanText.hpp>
  +#include <XalanDOM/XalanDOMString.hpp>
   
  -#include <Include/DOMHelper.hpp>
   
   
  +#include <PlatformSupport/DOMStringHelper.hpp>
   
  +
  +
   FormatterToDOM::FormatterToDOM(
  -                     const DOM_Document&                             doc,
  -                     const DOM_DocumentFragment&             docFrag,
  -                     const DOM_Element&                              
currentElement) :
  -     m_docFrag(docFrag),
  +                     XalanDocument*                  doc,
  +                     XalanDocumentFragment*  docFrag,
  +                     XalanElement*                   currentElement) :
        m_doc(doc),
  +     m_docFrag(docFrag),
        m_currentElem(currentElement),
        m_elemStack()
   {
  +     assert(m_doc != 0 && m_docFrag != 0);
   }
   
  +
  +
   FormatterToDOM::FormatterToDOM(
  -                     const DOM_Document&                     doc,
  -                     const DOM_Element&                      elem) :
  -     m_docFrag(),
  +                     XalanDocument*  doc,
  +                     XalanElement*   elem) :
        m_doc(doc),
  +     m_docFrag(0),
        m_currentElem(elem),
        m_elemStack()
   {
  +     assert(m_doc != 0);
   }
   
   
  @@ -126,13 +145,13 @@
                        const   XMLCh* const    name,
                        AttributeList&                  attrs)
   {
  -     DOM_Element             elem = m_doc.createElement(name);
  +     XalanElement* const             elem = m_doc->createElement(name);
   
  -     const int               nAtts = attrs.getLength();
  +     const int                               nAtts = attrs.getLength();
   
        for(int i = 0; i < nAtts; i++)
        {
  -             elem.setAttribute(attrs.getName(i), attrs.getValue(i));
  +             elem->setAttribute(attrs.getName(i), attrs.getValue(i));
        }
   
        append(elem);
  @@ -167,17 +186,19 @@
                        const XMLCh* const      chars,
                        const unsigned int      length)
   {
  -     append(m_doc.createTextNode(DOMString(chars, length)));
  +     append(m_doc->createTextNode(XalanDOMString(chars, length)));
   }
   
  +
  +
   void
   FormatterToDOM::charactersRaw(
                const XMLCh* const      chars,
                const unsigned int      length)
   {
  -     append(m_doc.createProcessingInstruction("xslt-next-is-raw",
  -                             "formatter-to-dom"));
  -     append(m_doc.createTextNode(DOMString(chars, length)));
  +     
append(m_doc->createProcessingInstruction(XALAN_STATIC_UCODE_STRING("xslt-next-is-raw"),
  +                             XALAN_STATIC_UCODE_STRING("formatter-to-dom")));
  +     append(m_doc->createTextNode(XalanDOMString(chars, length)));
   }            
   
   
  @@ -185,7 +206,7 @@
   void
   FormatterToDOM::entityReference(const XMLCh* const   name)
   {
  -     append(m_doc.createEntityReference(name));
  +     append(m_doc->createEntityReference(name));
   }
   
   
  @@ -195,7 +216,7 @@
                        const XMLCh* const      chars,
                        const unsigned int      length)
   {
  -     append(m_doc.createTextNode(DOMString(chars, length)));
  +     append(m_doc->createTextNode(XalanDOMString(chars, length)));
   }
   
   
  @@ -205,7 +226,7 @@
                        const XMLCh* const      target,
                        const XMLCh* const      data)
   {
  -     append(m_doc.createProcessingInstruction(DOMString(target), 
DOMString(data)));
  +     append(m_doc->createProcessingInstruction(XalanDOMString(target), 
XalanDOMString(data)));
   }
   
   
  @@ -220,7 +241,7 @@
   void
   FormatterToDOM::comment(const XMLCh* const   data)
   {
  -     append(m_doc.createComment(DOMString(data)));
  +     append(m_doc->createComment(XalanDOMString(data)));
   }
   
   
  @@ -230,24 +251,26 @@
                        const XMLCh* const      ch,
                        const unsigned int      length)
   {
  -     append(m_doc.createCDATASection(DOMString(ch, length)));
  +     append(m_doc->createCDATASection(XalanDOMString(ch, length)));
   }
   
   
   
   void
  -FormatterToDOM::append(const DOM_Node&       newNode)
  +FormatterToDOM::append(XalanNode*    newNode)
   {
  +     assert(newNode != 0);
  +
        if(0 != m_currentElem)
        {
  -             m_currentElem.appendChild(newNode);
  +             m_currentElem->appendChild(newNode);
        }
        else if(0 != m_docFrag)
        {
  -             m_docFrag.appendChild(newNode);
  +             m_docFrag->appendChild(newNode);
        }
        else
        {
  -             m_doc.appendChild(newNode);
  +             m_doc->appendChild(newNode);
        }
   }
  
  
  
  1.6       +23 -15    xml-xalan/c/src/XMLSupport/FormatterToDOM.hpp
  
  Index: FormatterToDOM.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterToDOM.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FormatterToDOM.hpp        2000/03/21 03:22:45     1.5
  +++ FormatterToDOM.hpp        2000/04/11 14:43:00     1.6
  @@ -68,14 +68,15 @@
   
   
   
  -#include <dom/DOM_Node.hpp>
  -#include <dom/DOM_Element.hpp>
  -#include <dom/DOM_Document.hpp>
  +// Base class header file.
  +#include <XMLSupport/FormatterListener.hpp>
   
   
   
  -// Base class header file.
  -#include <XMLSupport/FormatterListener.hpp>
  +class XalanDocument;
  +class XalanDocumentFragment;
  +class XalanElement;
  +class XalanNode;
   
   
   
  @@ -96,9 +97,9 @@
         * @param currentElement current element for nodes, default none
         */
        FormatterToDOM(
  -                     const DOM_Document&                             doc,
  -                     const DOM_DocumentFragment&             docFrag = 
DOM_DocumentFragment(),
  -                     const DOM_Element&                              
currentElement = DOM_Element());
  +                     XalanDocument*                  doc,
  +                     XalanDocumentFragment*  docFrag = 0,
  +                     XalanElement*                   currentElement = 0);
   
        /**
         * Construct a FormatterToDOM instance.  it will add the DOM nodes 
  @@ -108,8 +109,8 @@
         * @param elem current element for nodes
         */
        FormatterToDOM(
  -                     const DOM_Document&                     doc,
  -                     const DOM_Element&                      elem);
  +                     XalanDocument*  doc,
  +                     XalanElement*   elem);
   
        virtual
        ~FormatterToDOM();
  @@ -174,16 +175,23 @@
         * Append a node to the current container.
         */
        void
  -     append(const DOM_Node&  newNode);
  +     append(XalanNode*       newNode);
   
   
        // Data members...
  -     DOM_DocumentFragment            m_docFrag;
  +     XalanDocument*                          m_doc;
  +
  +     XalanDocumentFragment*          m_docFrag;
  +
  +     XalanElement*                           m_currentElem;
   
  -     DOM_Document                            m_doc;
  -     DOM_Element                                     m_currentElem;
  +#if defined(XALAN_NO_NAMESPACES)
  +     typedef stack<XalanElement*>            ElementStackType;
  +#else
  +     typedef std::stack<XalanElement*>       ElementStackType;
  +#endif
   
  -     std::stack<DOM_Element>         m_elemStack;
  +     ElementStackType                        m_elemStack;
   };
   
   
  
  
  
  1.10      +79 -63    xml-xalan/c/src/XMLSupport/FormatterToHTML.cpp
  
  Index: FormatterToHTML.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterToHTML.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- FormatterToHTML.cpp       2000/03/20 17:33:51     1.9
  +++ FormatterToHTML.cpp       2000/04/11 14:43:00     1.10
  @@ -55,7 +55,7 @@
    * <http://www.apache.org/>.
    */
   /**
  - * $Id: FormatterToHTML.cpp,v 1.9 2000/03/20 17:33:51 jdonohue Exp $
  + * $Id: FormatterToHTML.cpp,v 1.10 2000/04/11 14:43:00 dbertoni Exp $
    * 
    * $State: Exp $
    * 
  @@ -105,20 +105,26 @@
   
   
   FormatterToHTML::FormatterToHTML(
  -       Writer&                               writer,
  -       const DOMString& version,
  -       bool doIndent, 
  -       int indent,
  -       const DOMString& encoding, 
  -       const DOMString& mediaType,
  -       const DOMString& doctypeSystem,
  -       const DOMString& doctypePublic,
  -       bool xmlDecl,
  -       const DOMString& standalone, 
  -       const QNameVectorType* const cdataSectionElems) :
  -     FormatterToXML( writer, version, doIndent, indent,
  -       encoding, mediaType, doctypeSystem, doctypePublic,
  -       xmlDecl, standalone, cdataSectionElems),
  +                     Writer&                                 writer,
  +                     const XalanDOMString&   version,
  +                     bool                                    doIndent,
  +                     int                                             indent,
  +                     const XalanDOMString&   encoding,
  +                     const XalanDOMString&   mediaType,
  +                     const XalanDOMString&   doctypeSystem,
  +                     const XalanDOMString&   doctypePublic,
  +                     bool                                    xmlDecl,
  +                     const XalanDOMString&   standalone) :
  +     FormatterToXML(writer,
  +                                version,
  +                                doIndent,
  +                                indent,
  +                                encoding,
  +                                mediaType,
  +                                doctypeSystem,
  +                                doctypePublic,
  +                                xmlDecl,
  +                                standalone),
        m_currentElementName()
   {
   }
  @@ -187,7 +193,7 @@
                        const   XMLCh* const    name,
                        AttributeList&                  attrs)
   {
  -     DOMString theName(name);
  +     XalanDOMString theName(name);
        if(true == m_needToOutputDocTypeDecl)
        {
                try
  @@ -330,8 +336,8 @@
        }
   
        if((! isEmpty(m_currentElementName)) &&
  -                     (equalsIgnoreCase(m_currentElementName, "SCRIPT") ||
  -                      equalsIgnoreCase(m_currentElementName, "STYLE")))
  +                     (equalsIgnoreCase(m_currentElementName, 
XALAN_STATIC_UCODE_STRING("SCRIPT")) ||
  +                      equalsIgnoreCase(m_currentElementName, 
XALAN_STATIC_UCODE_STRING("STYLE"))))
        {
                try
                {
  @@ -339,10 +345,10 @@
                        m_ispreserve = true;
                        if (shouldIndent())
                                indent(m_writer, m_currentIndent);
  -                     // m_writer.write("<![CDATA[");
  +                     // 
m_writer.write(XALAN_STATIC_UCODE_STRING("<![CDATA["));
                        // m_writer.write(chars, 0, length);
                        writeNormalizedChars(chars, 0, length, false);
  -                     // m_writer.write("]]>");
  +                     // m_writer.write(XALAN_STATIC_UCODE_STRING("]]>"));
                        return;
                }
                // java: catch(IOException ioe)
  @@ -368,15 +374,15 @@
                        }
                        else if ('<' == ch) 
                        {
  -                             pos = copyEntityIntoBuf("lt", pos);
  +                             pos = 
copyEntityIntoBuf(XALAN_STATIC_UCODE_STRING("lt"), pos);
                        }
                        else if ('>' == ch) 
                        {
  -                             pos = copyEntityIntoBuf("gt", pos);
  +                             pos = 
copyEntityIntoBuf(XALAN_STATIC_UCODE_STRING("gt"), pos);
                        }
                        else if ('&' == ch) 
                        {
  -                             pos = copyEntityIntoBuf("amp", pos);
  +                             pos = 
copyEntityIntoBuf(XALAN_STATIC_UCODE_STRING("amp"), pos);
                        }
                        else if((chNum >= 9) && (chNum <= 126))
                        {
  @@ -392,7 +398,7 @@
                        }
                        else if (402 == ch) 
                        {
  -                             pos = copyEntityIntoBuf("fnof", pos);
  +                             pos = 
copyEntityIntoBuf(XALAN_STATIC_UCODE_STRING("fnof"), pos);
                        }
                        else if (m_isUTF8 && (0xd800 <= chNum && chNum < 
0xdc00)) 
                        {
  @@ -406,18 +412,21 @@
                        }
                        else
                        {
  -                             DOMString ds;
  +                             XalanDOMString ds;
                                m_charBuf[pos++] = '&';
                                m_charBuf[pos++] = '#';
                                ds = LongToDOMString(chNum);
  -                             const XMLCh* pb = c_wstr(ds);
  -                             int nIntStr = ds.length();
  +                             const XalanDOMChar* const       pb = c_wstr(ds);
  +                             const int                                       
nIntStr = ds.length();
  +
                                for(int k = 0; k < nIntStr; k++)
                                {
                                        m_charBuf[pos++] = *(pb+k);
                                }
  +
                                m_charBuf[pos++] = ';';
                        }
  +
                        // Use 80 as a best guess safe buffer
                        if(pos > MAXSAFECHARBUF)
                        {
  @@ -425,6 +434,7 @@
                                pos = 0;
                        }
                }
  +
                m_writer.write(m_charBuf, 0, pos);
                m_isprevtext = true;
        }
  @@ -458,8 +468,8 @@
                        const XMLCh* const      ch,
                        const unsigned int      length)
   {
  -     if(equalsIgnoreCase(m_currentElementName, "SCRIPT") ||
  -             equalsIgnoreCase(m_currentElementName, "STYLE"))
  +     if(equalsIgnoreCase(m_currentElementName, 
XALAN_STATIC_UCODE_STRING("SCRIPT")) ||
  +             equalsIgnoreCase(m_currentElementName, 
XALAN_STATIC_UCODE_STRING("STYLE")))
        {
                try
                {
  @@ -508,16 +518,17 @@
   
   void
   FormatterToHTML::processAttribute(
  -                     const DOMString&        name,
  -                     const DOMString&        value)
  +                     const XalanDOMString&   name,
  +                     const XalanDOMString&   value)
   {
        try
        {
  -             if(!name.equals("xmlns") && !startsWith(name, "xmlns:"))
  +             if(!equals(name, XALAN_STATIC_UCODE_STRING("xmlns")) &&
  +                     !startsWith(name, XALAN_STATIC_UCODE_STRING("xmlns:")))
                {
  -                     DOMString pval;
  -                     DOMString aname = toLowerCase(name);
  -                     if (equals(aname, "xml:lang"))  aname = "lang";
  +                     XalanDOMString pval;
  +                     XalanDOMString aname = toLowerCase(name);
  +                     if (equals(aname, 
XALAN_STATIC_UCODE_STRING("xml:lang")))  aname = 
XALAN_STATIC_UCODE_STRING("lang");
                        // qualify with an element??
                        AttributesMapType::const_iterator it = 
                                
(s_attruris.find(toLowerCase(m_currentElementName)));
  @@ -537,7 +548,7 @@
                        {
                                m_writer.write(' ');
                                m_writer.write(name);
  -                             m_writer.write("=\"");
  +                             
m_writer.write(XALAN_STATIC_UCODE_STRING("=\""));
                                m_writer.write(pval);
                                m_writer.write('\"');
                        }
  @@ -551,7 +562,7 @@
                                else
                                {
                                        m_writer.write(name);
  -                                     m_writer.write("=\"");
  +                                     
m_writer.write(XALAN_STATIC_UCODE_STRING("=\""));
                                        m_writer.write(pval);
                                        m_writer.write('\"');
                                }
  @@ -574,20 +585,23 @@
    * @param   encoding    CURRENTLY NOT IMPLEMENTED.
    * @return              XML-formatted string.
    */
  -const DOMString FormatterToHTML::prepAttrURI(
  -                     const DOMString& string,
  -                     const DOMString& /* specials */,
  -                     const DOMString& /* encoding */)
  -     // java: throws SAXException
  +const XalanDOMString
  +FormatterToHTML::prepAttrURI(
  +                     const XalanDOMString&   string,
  +                     const XalanDOMString&   /* specials */,
  +                     const XalanDOMString&   /* encoding */)
   {
  -     DOMString sb;
  +     XalanDOMString sb;
  +
        const unsigned int      theLength = length(string);
   
        for (unsigned int i = 0;  i < theLength;  i ++)
        {
  -             const XMLCh ch = charAt(string, i);
  -             DOMString sch(&ch, 1);
  -             const int ich = ch;
  +             const XalanDOMChar      ch = charAt(string, i);
  +             XalanDOMString          sch(&ch, 1);
  +
  +             const int                       ich = ch;
  +
                if(((ch > 0x1F) &&   // X'00 - 1F' not valid
                                        (ch < 0x7F)) &&   // X'7F' not valid
                                (s_escapetb.find(sch)== s_escapetb.end())  ) // 
characters in the table
  @@ -606,13 +620,15 @@
                        // if first 8 bytes are 0, no need to append them.
                        if (b1 != 0)
                        {        
  -                             sb += "%";
  +                             sb += XALAN_STATIC_UCODE_STRING("%");
                                sb += LongToHexDOMString(b1);
  -                     }       
  -                     sb += "%";
  +                     }
  +
  +                     sb += XALAN_STATIC_UCODE_STRING("%");
                        sb += LongToHexDOMString(b2);
                }
        }
  +
        return sb;
   }
     
  @@ -698,32 +714,32 @@
        StringSetType URLAttrsCITESingle;
        URLAttrsCITESingle.insert(XALAN_STATIC_UCODE_STRING("cite"));
   
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("base")), 
URLAttrsHREFSingle));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("link")), 
URLAttrsHREFSingle));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("area")), 
URLAttrsHREFSingle));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("base")),
 URLAttrsHREFSingle));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("link")),
 URLAttrsHREFSingle));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("area")),
 URLAttrsHREFSingle));
        // From the HTML 4.0 spec: Note. The same conversion based on UTF-8 
        // should be applied to values of the name attribute for the A element. 
   
        StringSetType URLAttrs_A;
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("href"));
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("name"));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("a")), 
URLAttrs_A));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("a")), 
URLAttrs_A));
   
        StringSetType URLAttrs_INPUT;
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("src"));
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("usemap"));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("input")), 
URLAttrs_INPUT));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("input")),
 URLAttrs_INPUT));
   
        StringSetType URLAttrs_SCRIPT;
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("src"));
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("for"));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("script")), 
URLAttrs_SCRIPT));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("script")),
 URLAttrs_SCRIPT));
   
        StringSetType URLAttrs_IMG;
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("src"));
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("longdesc"));
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("usemap"));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("img")), 
URLAttrs_IMG));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("img")), 
URLAttrs_IMG));
   
        StringSetType URLAttrs_OBJECT;
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("classid"));
  @@ -731,20 +747,20 @@
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("data"));
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("archive"));
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("usemap"));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("object")), 
URLAttrs_OBJECT));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("object")),
 URLAttrs_OBJECT));
   
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("q")), 
URLAttrsCITESingle));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("blockquote")),
 URLAttrsCITESingle));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ins")), 
URLAttrsCITESingle));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("del")), 
URLAttrsCITESingle));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("q")), 
URLAttrsCITESingle));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("blockquote")),
 URLAttrsCITESingle));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ins")), 
URLAttrsCITESingle));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("del")), 
URLAttrsCITESingle));
   
        StringSetType URLAttrs_FORM;
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("action"));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("form")), 
URLAttrs_FORM));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("form")),
 URLAttrs_FORM));
   
        StringSetType URLAttrs_HEAD;
        URLAttrs_A.insert(XALAN_STATIC_UCODE_STRING("profile"));
  -     
theAtts.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("head")), 
URLAttrs_HEAD));
  +     
theAtts.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("head")),
 URLAttrs_HEAD));
        return theAtts;
   }
   
  
  
  
  1.5       +26 -28    xml-xalan/c/src/XMLSupport/FormatterToHTML.hpp
  
  Index: FormatterToHTML.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterToHTML.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FormatterToHTML.hpp       2000/03/20 17:33:51     1.4
  +++ FormatterToHTML.hpp       2000/04/11 14:43:01     1.5
  @@ -58,7 +58,7 @@
   #define FORMATTERTOHTML_HEADER_GUARD_1357924680
   
   /**
  - * $Id: FormatterToHTML.hpp,v 1.4 2000/03/20 17:33:51 jdonohue Exp $
  + * $Id: FormatterToHTML.hpp,v 1.5 2000/04/11 14:43:01 dbertoni Exp $
    * 
    * $State: Exp $
    * 
  @@ -81,7 +81,6 @@
   // Base class header file.
   #include <XMLSupport/FormatterToXML.hpp>
   
  -#include <XPath/QName.hpp>
   
   
   /**
  @@ -97,12 +96,11 @@
   #else
   #    define XALAN_STD std::
   #endif
  -     typedef XALAN_STD vector<QName> QNameVectorType;
  -     typedef XALAN_STD set<DOMString>                EmptiesSetType;
  -     typedef XALAN_STD vector<DOMString>     HTMLAttributesVectorType;
  -     typedef XALAN_STD vector<DOMString>     HTMLSymbolsVectorType;
  -     typedef XALAN_STD set<DOMString>                StringSetType;
  -     typedef XALAN_STD map<DOMString, StringSetType> AttributesMapType;
  +     typedef XALAN_STD set<XalanDOMString>           EmptiesSetType;
  +     typedef XALAN_STD vector<XalanDOMString>        
HTMLAttributesVectorType;
  +     typedef XALAN_STD vector<XalanDOMString>        HTMLSymbolsVectorType;
  +     typedef XALAN_STD set<XalanDOMString>           StringSetType;
  +     typedef XALAN_STD map<XalanDOMString, StringSetType> AttributesMapType;
   #undef XALAN_STD
   
   
  @@ -114,17 +112,16 @@
         * @param indent        Number of spaces to indent at each nesting 
level.
         */
        FormatterToHTML(
  -       Writer&                               writer,
  -       const DOMString& version,
  -       bool doIndent, 
  -       int indent,
  -       const DOMString& encoding, 
  -       const DOMString& mediaType,
  -       const DOMString& doctypeSystem,
  -       const DOMString& doctypePublic,
  -       bool xmlDecl,
  -       const DOMString& standalone, 
  -       const QNameVectorType* const cdataSectionElems);
  +                     Writer&                                 writer,
  +                     const XalanDOMString&   version,
  +                     bool                                    doIndent,
  +                     int                                             indent,
  +                     const XalanDOMString&   encoding,
  +                     const XalanDOMString&   mediaType,
  +                     const XalanDOMString&   doctypeSystem,
  +                     const XalanDOMString&   doctypePublic,
  +                     bool                                    xmlDecl,
  +                     const XalanDOMString&   standalone);
   
        virtual
        ~FormatterToHTML();
  @@ -237,8 +234,8 @@
         */
        virtual void
        processAttribute(
  -                     const DOMString&        name,
  -                     const DOMString&        value);
  +                     const XalanDOMString&   name,
  +                     const XalanDOMString&   value);
   
        /**
         * Returns the specified <var>string</var> after substituting non ASCII 
characters,
  @@ -251,10 +248,11 @@
         * @see #backReference
         * NOTE: return value destroyed on subsequent calls
         */
  -     const DOMString prepAttrURI(
  -                     const DOMString& string,
  -                     const DOMString& specials,
  -                     const DOMString& encoding);
  +     const XalanDOMString
  +     prepAttrURI(
  +                     const XalanDOMString&   string,
  +                     const XalanDOMString&   specials,
  +                     const XalanDOMString&   encoding);
        // java: throws SAXException
   
   private:
  @@ -263,11 +261,11 @@
        static const EmptiesSetType                             s_attrempties;
        static const HTMLAttributesVectorType   s_HTMLlat1;
        static const HTMLSymbolsVectorType              s_HTMLsymbol1;
  -     static const StringSetType                                      
s_nonblockelems;
  +     static const StringSetType                              s_nonblockelems;
        static const AttributesMapType                  s_attruris;
  -     static const StringSetType                                      
s_escapetb;
  +     static const StringSetType                              s_escapetb;
   
  -     DOMString                                                               
m_currentElementName;
  +     XalanDOMString                                                  
m_currentElementName;
   
   };
   
  
  
  
  1.13      +264 -250  xml-xalan/c/src/XMLSupport/FormatterToXML.cpp
  
  Index: FormatterToXML.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterToXML.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- FormatterToXML.cpp        2000/03/21 03:22:45     1.12
  +++ FormatterToXML.cpp        2000/04/11 14:43:01     1.13
  @@ -61,6 +61,10 @@
   
   
   
  +#include <string>
  +
  +
  +
   #include <sax/AttributeList.hpp>
   #include <sax/SAXException.hpp>
   
  @@ -69,33 +73,33 @@
   #include <PlatformSupport/DOMStringHelper.hpp>
   #include <PlatformSupport/Writer.hpp>
   
  -#include <string>
   
  +
  +static XalanDOMString                
theDefaultAttrSpecialChars(XALAN_STATIC_UCODE_STRING("<>&\"\'\r\n"));
   
  -static const char* const     theDefaultAttrSpecialChars = "<>&\"\'\r\n";
   
  +const XalanDOMString         FormatterToXML::DEFAULT_MIME_ENCODING = 
XALAN_STATIC_UCODE_STRING("UTF-8");
   
  -const DOMString FormatterToXML::DEFAULT_MIME_ENCODING = 
XALAN_STATIC_UCODE_STRING("UTF-8");
   
  +XalanDOMChar                         FormatterToXML::m_charBuf[MAXCHARBUF];
   
  -XMLCh                                FormatterToXML::m_charBuf[MAXCHARBUF];
   // This should be OK on all platforms ??
  -XMLCh                        FormatterToXML::m_lineSep = '\n';
  -bool                         FormatterToXML::m_javaEncodingIsISO = false; 
  +XalanDOMChar                                 FormatterToXML::m_lineSep = 
'\n';
  +
  +bool                                         
FormatterToXML::m_javaEncodingIsISO = false; 
   
   
   FormatterToXML::FormatterToXML(
                        Writer&                         writer,
  -                     const DOMString& /* version */,
  +                     const XalanDOMString& /* version */,
                        bool doIndent, 
                        int indent,
  -                     const DOMString& encoding, 
  -                     const DOMString& /*mediaType */,
  -                     const DOMString& doctypeSystem,
  -                     const DOMString& doctypePublic,
  +                     const XalanDOMString& encoding, 
  +                     const XalanDOMString& /*mediaType */,
  +                     const XalanDOMString& doctypeSystem,
  +                     const XalanDOMString& doctypePublic,
                        bool xmlDecl,
  -                     const DOMString& /* standalone */, 
  -                     const QNameVectorType* const /* cdataSectionElems */) :
  +                     const XalanDOMString& /* standalone */) :
        FormatterListener(),
        m_attrSpecialChars(theDefaultAttrSpecialChars),
        m_currentIndent(0),
  @@ -117,12 +121,12 @@
        m_spaceBeforeClose(false),
        m_startNewLine(true),
        m_stripCData(false),
  -     m_version(""),
  +     m_version(),
        m_writer(writer)
   {
        if(! isEmpty(m_doctypePublic))
        {
  -             if(startsWith(m_doctypePublic, "-//W3C//DTD XHTML"))
  +             if(startsWith(m_doctypePublic, 
XALAN_STATIC_UCODE_STRING("-//W3C//DTD XHTML")))
                        m_spaceBeforeClose = true;
        }
   
  @@ -130,7 +134,7 @@
        // @@ JMD: We don't have no OutputFormat class yet ...
        // java: m_maxCharacter = format.getLastPrintable();
   
  -     m_isUTF8 = equals(m_encoding, "UTF-8") || isEmpty(m_encoding);
  +     m_isUTF8 = equals(m_encoding, XALAN_STATIC_UCODE_STRING("UTF-8")) || 
isEmpty(m_encoding);
        if(isEmpty(m_encoding))
        {
   /*
  @@ -148,7 +152,7 @@
   
        if (it != s_revsize.end())
                m_maxCharacter = (*it).second;
  -     m_isUTF8 = equals(m_encoding, "UTF-8");
  +     m_isUTF8 = equals(m_encoding, XALAN_STATIC_UCODE_STRING("UTF-8"));
        it = s_revsize.find(toUpperCase(m_encoding));
        if (it != s_revsize.end())
        {
  @@ -165,7 +169,7 @@
   
   
   void
  -FormatterToXML::setDocumentLocator(const Locator* const      /* locator */)
  +FormatterToXML::setDocumentLocator(const Locator* const              /* 
locator */)
   {
        // I don't do anything with this yet.
   }
  @@ -183,7 +187,7 @@
   
                if(m_shouldWriteXMLHeader)
                {
  -                     DOMString  encoding = m_encoding;
  +                     XalanDOMString  encoding = m_encoding;
                        if(isEmpty(encoding))
                        {
                                /*
  @@ -198,13 +202,16 @@
                                        encoding = "ISO-8859-1";
                                }
                                 */
  -                             encoding = "ISO-8859-1";
  +                             encoding = 
XALAN_STATIC_UCODE_STRING("ISO-8859-1");
                        }
   
  -                     DOMString version = (isEmpty(m_version)) ? "1.0" : 
m_version;
  +                     XalanDOMString version = (isEmpty(m_version)) ? 
XALAN_STATIC_UCODE_STRING("1.0") : m_version;
   
  -                     m_writer.write("<?xml version=\""+version+"\" 
encoding=\""+
  -                                     encoding + "\"?>");
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("<?xml 
version=\""));
  +                     m_writer.write(version);
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("\" 
encoding=\""));
  +                     m_writer.write(encoding);
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("\"?>"));
                        m_writer.write(m_lineSep);
                }      
        }
  @@ -241,20 +248,20 @@
        {
                if((true == m_needToOutputDocTypeDecl) && (! 
isEmpty(m_doctypeSystem)))
                {
  -                     m_writer.write("<!DOCTYPE ");
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("<!DOCTYPE "));
                        m_writer.write(name);
                        if(! isEmpty(m_doctypePublic))
                        {
  -                             m_writer.write(" PUBLIC \"");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING(" 
PUBLIC \""));
                                m_writer.write(m_doctypePublic);
  -                             m_writer.write("\"");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING("\""));
                        }
                        if(isEmpty(m_doctypePublic))
  -                             m_writer.write(" SYSTEM \"");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING(" 
SYSTEM \""));
                        else
  -                             m_writer.write(" \"");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING(" 
\""));
                        m_writer.write(m_doctypeSystem);
  -                     m_writer.write("\">");
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("\">"));
                        m_writer.write(m_lineSep);
                }
                m_needToOutputDocTypeDecl = false;
  @@ -296,20 +303,25 @@
        try
        {
                m_currentIndent -= m_indent;
  +
                const bool      hasChildNodes = childNodesWereAdded();
  +
                if (hasChildNodes == true) 
                {
                        if (shouldIndent() == true)
                                indent(m_writer, m_currentIndent);
  -                     m_writer.write(DOMString("</") + name + DOMString(">"));
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("</"));
  +                     m_writer.write(name);
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING(">"));
                }
                else
                {
                        if(m_spaceBeforeClose)
  -                             m_writer.write(" />");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING(" 
/>"));
                        else
  -                             m_writer.write("/>");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING("/>"));
                }
  +
                if (hasChildNodes == true) 
                {
                        if (m_preserves.size() == 0)
  @@ -363,15 +375,15 @@
                        }
                        else if ('<' == ch) 
                        {
  -                             pos = copyEntityIntoBuf("lt", pos);
  +                             pos = 
copyEntityIntoBuf(XALAN_STATIC_UCODE_STRING("lt"), pos);
                        }
                        else if ('>' == ch) 
                        {
  -                             pos = copyEntityIntoBuf("gt", pos);
  +                             pos = 
copyEntityIntoBuf(XALAN_STATIC_UCODE_STRING("gt"), pos);
                        }
                        else if ('&' == ch) 
                        {
  -                             pos = copyEntityIntoBuf("amp", pos);
  +                             pos = 
copyEntityIntoBuf(XALAN_STATIC_UCODE_STRING("amp"), pos);
                        }
                        // Regular old ASCII character
                        else if((((chNum >= 20) && (chNum <= 126)) 
  @@ -437,7 +449,7 @@
                        int&                                    i,              
                // Index into 'chars'
                        int&                                    pos,            
        // Index in m_charBuf
                        int                                     length,         
// Length of 'chars' string
  -                     XMLCh* theBuffer /* m_charBuf   */              // 
Buffer to write to
  +                     XalanDOMChar* theBuffer /* m_charBuf    */              
// Buffer to write to
                        )
   /*
    * Processes a non-ASCII character either in hexadecimal format (&#Xnnn;) if
  @@ -447,9 +459,11 @@
    * Unicode string.
    */
   {
  -     DOMString msg("Invalid UTF-16 surrogate detected: ");
  -     DOMString ds;
  -     int c = chars[i];
  +     XalanDOMString  msg(XALAN_STATIC_UCODE_STRING("Invalid UTF-16 surrogate 
detected: "));
  +     XalanDOMString  ds;
  +
  +     const int               c = chars[i];
  +
        if (0xd800 <= c && c < 0xdc00) 
        {
                // UTF-16 surrogate
  @@ -457,7 +471,7 @@
                if (i+1 >= length) 
                {
                        msg = append(msg, LongToHexDOMString(c));
  -                     msg = append(msg, " ?");
  +                     msg = append(msg, XALAN_STATIC_UCODE_STRING(" ?"));
                        throw SAXException(c_wstr(msg));
                }
                else 
  @@ -466,7 +480,7 @@
                        if (!(0xdc00 <= next && next < 0xe000))
                        {
                                msg = append(msg, LongToHexDOMString(c));
  -                             msg = append(msg, " ");
  +                             msg = append(msg, XALAN_STATIC_UCODE_STRING(" 
"));
                                msg = append(msg, LongToHexDOMString(next));
                                throw SAXException(c_wstr(msg));
                        }
  @@ -476,7 +490,7 @@
                theBuffer[pos++] = '#';
                theBuffer[pos++] = 'x';
                ds = LongToHexDOMString(next);
  -             const XMLCh* pb = c_wstr(ds);
  +             const XalanDOMChar* pb = c_wstr(ds);
                int nIntStr = ds.length();
                for(int k = 0; k < nIntStr; k++)
                {
  @@ -489,7 +503,7 @@
                theBuffer[pos++] = '&';
                theBuffer[pos++] = '#';
                ds = LongToDOMString(c);
  -             const XMLCh* pb = c_wstr(ds);
  +             const XalanDOMChar* pb = c_wstr(ds);
                int nIntStr = ds.length();
                for(int k = 0; k < nIntStr; k++)
                {
  @@ -500,28 +514,28 @@
        theBuffer[pos] = 0;     // null terminate
   }
   
  -void FormatterToXML::writeBigChar(const XMLCh* const ch, int& i, int end)
  +void FormatterToXML::writeBigChar(const XalanDOMChar* const ch, int& i, int 
end)
   /*
    * Writes a non-ASCII character either in hexadecimal format (&#Xnnn;) if the
    * character is in the range 0xd800 to 0xdc00 or decimal format (&#nnn;); as 
a
    * side effect the current character index (i) is incremented
    */
   {
  -     XMLCh buffer[32];       // Should be big enough
  +     XalanDOMChar buffer[32];        // Should be big enough
        int pos = 0;
        copyBigCharIntoBuf(ch, i, pos, end, buffer);
        m_writer.write(buffer);
   }
   
   void FormatterToXML::writeNormalizedChars(
  -             const XMLCh*  const ch,
  +             const XalanDOMChar*  const ch,
                int start, int length,
                bool isCData)
   {
        int end = start+length;
        for(int i = start; i < end; i++)
        {
  -             XMLCh c = ch[i];
  +             XalanDOMChar c = ch[i];
                if('\n' == c)
                {
                        m_writer.write(m_lineSep);
  @@ -529,17 +543,17 @@
                else if(isCData && (c > m_maxCharacter))
                {
                        if(i != 0)
  -                             m_writer.write("]]>");
  +                             
m_writer.write(XALAN_STATIC_UCODE_STRING("]]>"));
                        writeBigChar(ch, i, end);
                        // @@ JMD: this differs from java
                        // java: if((i != 0) && (i < (end-1)))
                        if( (i < (end-1)))
  -                             m_writer.write("<![CDATA[");
  +                             
m_writer.write(XALAN_STATIC_UCODE_STRING("<![CDATA["));
                }
                else if(isCData && ((i < (end-2)) && (']' == c) && 
                                        (']' == ch[i+1]) && ('>' == ch[i+2])))
                {
  -                     m_writer.write("]]]]><![CDATA[>");
  +                     
m_writer.write(XALAN_STATIC_UCODE_STRING("]]]]><![CDATA[>"));
                        i+=2;
                }
                else
  @@ -568,9 +582,9 @@
                        indent(m_writer, m_currentIndent);
                }
   
  -             m_writer.write("&");
  +             m_writer.write(XALAN_STATIC_UCODE_STRING("&"));
                m_writer.write(name);
  -             m_writer.write(";");
  +             m_writer.write(XALAN_STATIC_UCODE_STRING(";"));
        }
        catch(...)
        {
  @@ -601,8 +615,8 @@
   
        // Use a fairly nasty hack to tell if the next node is supposed to be 
        // unescaped text.
  -     if(equals(target, DOMString("xslt-next-is-raw"))
  -             && equals(data, DOMString("formatter-to-dom")))
  +     if(equals(target, XALAN_STATIC_UCODE_STRING("xslt-next-is-raw"))
  +             && equals(data, XALAN_STATIC_UCODE_STRING("formatter-to-dom")))
        {
                m_nextIsRaw = true;
        }
  @@ -617,16 +631,16 @@
                                indent(m_writer, m_currentIndent);
                        }
   
  -                     m_writer.write("<?");
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("<?"));
                        m_writer.write(target);
   
                        if (length(data) > 0 && !isSpace(data[0]))
                        {
  -                             m_writer.write(" ");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING(" "));
                        }
   
                        m_writer.write(data);
  -                     m_writer.write("?>");
  +                     m_writer.write(XALAN_STATIC_UCODE_STRING("?>"));
   
                        m_startNewLine = true;
                }
  @@ -659,9 +673,9 @@
                        indent(m_writer, m_currentIndent);
                }
   
  -             m_writer.write("<!--");
  +             m_writer.write(XALAN_STATIC_UCODE_STRING("<!--"));
                m_writer.write(data);
  -             m_writer.write("-->");
  +             m_writer.write(XALAN_STATIC_UCODE_STRING("-->"));
   
                m_startNewLine = true;
        }
  @@ -701,7 +715,7 @@
                        {
                                if(((length >= 1) && (ch[0] <= m_maxCharacter)))
                                {
  -                                     m_writer.write("<![CDATA[");
  +                                     
m_writer.write(XALAN_STATIC_UCODE_STRING("<![CDATA["));
                                }
                        }
                        // m_writer.write(ch, 0, length);
  @@ -710,7 +724,7 @@
                        {
                                if(((length >= 1) && (ch[(length)-1] <= 
m_maxCharacter)))
                                {
  -                                     m_writer.write("]]>");
  +                                     
m_writer.write(XALAN_STATIC_UCODE_STRING("]]>"));
                                }
                        }
                }
  @@ -734,7 +748,7 @@
                        // See if the parent element has already been flagged 
as having children.
                        if(false == m_elemStack.top())
                        {
  -                             m_writer.write(">");
  +                             m_writer.write(XALAN_STATIC_UCODE_STRING(">"));
   
                                m_elemStack.pop();
                                m_elemStack.push(true);
  @@ -778,16 +792,16 @@
   
   void
   FormatterToXML::processAttribute(
  -                     const DOMString&        name,
  -                     const DOMString&        value)
  +                     const XalanDOMString&   name,
  +                     const XalanDOMString&   value)
   {
        try
        {
  -             m_writer.write(" ");
  +             m_writer.write(XALAN_STATIC_UCODE_STRING(" "));
                m_writer.write(name);
  -             m_writer.write("=\"");
  +             m_writer.write(XALAN_STATIC_UCODE_STRING("=\""));
                m_writer.write(prepAttrString(value, m_attrSpecialChars, 
m_encoding));
  -             m_writer.write("\"");
  +             m_writer.write(XALAN_STATIC_UCODE_STRING("\""));
        }
        catch(...)
        {
  @@ -797,33 +811,33 @@
   
   
   
  -DOMString
  +XalanDOMString
   FormatterToXML::prepAttrString(
  -                     const DOMString&        string,
  -                     const DOMString&        specials,
  -                     const DOMString&        /* encoding */)
  +                     const XalanDOMString&   string,
  +                     const XalanDOMString&   specials,
  +                     const XalanDOMString&   /* encoding */)
   {
  -     const unsigned int      theLength = string.length();
  +     const unsigned int      theLength = length(string);
   
        // we'll do the work into a buffer pre-allocated to
        // twice the size of the original string, giving some
        // room to grow without reallocating.
        //
  -     // Whem DOMString has gets a better += operator
  -     // for XMLCh and XMLCh*, a more straightforward
  +     // Whem XalanDOMString has gets a better += operator
  +     // for XalanDOMChar and XalanDOMChar*, a more straightforward
        // solution will give good performance
  -     std::vector<XMLCh> vec;
  +     std::vector<XalanDOMChar> vec;
        vec.reserve(theLength*2);
   
        for (unsigned int i = 0;  i < theLength;  i ++) 
        {
  -             const XMLCh             ch = charAt(string, i);
  +             const XalanDOMChar              ch = charAt(string, i);
   
  -             const int               chNum = static_cast<int>(ch);
  +             const int                               chNum = 
static_cast<int>(ch);
   
  -             const int               index = indexOf(specials, ch);
  +             const unsigned int              index = indexOf(specials, ch);
   
  -             if (index >= 0) 
  +             if (index < length(specials)) 
                {
                        vec.push_back('&');
                        vec.push_back('#');
  @@ -863,7 +877,7 @@
                        vec.push_back('#');
                        vec.push_back('x');
   
  -                     const DOMString num = LongToHexDOMString(next);
  +                     const XalanDOMString num = LongToHexDOMString(next);
   
                        for (unsigned int k=0; k < length(num); k++)
                                vec.push_back(charAt(num, k));
  @@ -886,7 +900,7 @@
   
        vec.push_back('\0');
   
  -     return DOMString(vec.begin());
  +     return XalanDOMString(vec.begin());
   }
   
   
  @@ -943,8 +957,8 @@
   }
   
   int FormatterToXML::copyEntityIntoBuf(
  -                     const DOMString&        s,
  -                     int                                     pos)
  +                     const XalanDOMString&   s,
  +                     int                                             pos)
   {
        const int       l = length(s);
        m_charBuf[pos++] = '&';
  @@ -957,7 +971,7 @@
   }
   
   int FormatterToXML::copyUTF16IntoBuf(
  -                     const XMLCh* const chars,               // Character 
string to process
  +                     const XalanDOMChar* const chars,                // 
Character string to process
                        int&                                    i,              
                // Index into 'chars'
                        int&                                    pos,            
        // Index in m_charBuf
                        int                                     length          
// Length of 'chars' string
  @@ -968,10 +982,10 @@
    * Method consumes two characters from the input buffer 
    */
   {
  -     DOMString msg("Invalid UTF-16 surrogate detected: ");
  +     XalanDOMString msg(XALAN_STATIC_UCODE_STRING("Invalid UTF-16 surrogate 
detected: "));
        // UTF-16 surrogate
        int next;
  -     int ch = chars[i];
  +     const int ch = chars[i];
        if (i+1 >= length) 
        {
                msg = append(msg, LongToHexDOMString(ch));
  @@ -983,7 +997,7 @@
                if (!(0xdc00 <= next && next < 0xe000))
                {
                        msg = append(msg, LongToHexDOMString(ch));
  -                     msg = append(msg, " ");
  +                     msg = append(msg, XALAN_STATIC_UCODE_STRING(" "));
                        msg = append(msg, LongToHexDOMString(next));
                throw SAXException(c_wstr(msg));
                }
  @@ -991,9 +1005,9 @@
        }
        m_charBuf[pos++] = '&';
        m_charBuf[pos++] = '#';
  -     DOMString ds;
  +     XalanDOMString ds;
        ds = LongToDOMString(ch);
  -     const XMLCh* pb = c_wstr(ds);
  +     const XalanDOMChar* pb = c_wstr(ds);
        int nIntStr = ds.length();
        for(int k = 0; k < nIntStr; k++)
        {
  @@ -1007,8 +1021,8 @@
   FormatterToXML::DOMStringMapType FormatterToXML::s_revhash;
   FormatterToXML::DOMString2IntMapType FormatterToXML::s_revsize;
   
  -const DOMString FormatterToXML::convertMime2JavaEncoding(
  -             const DOMString& mimeCharsetName)
  +const XalanDOMString FormatterToXML::convertMime2JavaEncoding(
  +             const XalanDOMString& mimeCharsetName)
   {
        if (m_javaEncodingIsISO) return mimeCharsetName;
        DOMStringMapType::const_iterator it =
  @@ -1016,8 +1030,8 @@
        return (*it).second;
   }            
   
  -const DOMString FormatterToXML::convertJava2MimeEncoding(
  -             const DOMString& encoding)
  +const XalanDOMString FormatterToXML::convertJava2MimeEncoding(
  +             const XalanDOMString& encoding)
   {
        if (m_javaEncodingIsISO) return encoding;
        DOMStringMapType::const_iterator it =
  @@ -1057,7 +1071,7 @@
        {
                String encoding = System.getProperty("file.encoding");
   
  -             int dashindex = (encoding != null ? encoding.indexOf('-') : -1);
  +             unsigned int dashindex = (encoding != null ? 
encoding.indexOf('-') : -1);
                if(3 == dashindex)
                {
                        String ISOprefix =  new String(encoding.toCharArray(), 
0, 3);
  @@ -1074,178 +1088,178 @@
        // need to resort to escaping in the XML.
        // TODO: To tell the truth, I'm guessing a bit here. 
        // s_revsize.insert(std::make_pair("CP1252",          0xFF)); // 
Windows Latin-1 
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("WINDOWS-1250")),
    0xFF)); // Windows 1250 Peter Smolik
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("UTF-8")),  
         0xFFFF)); // Universal Transformation Format 8
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("US-ASCII")),
        0x7F));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9")),
      0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-JP")),
     0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("SHIFT_JIS")),
       0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EUC-JP")), 
         0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("GB2312")), 
         0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("BIG5")),   
         0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EUC-KR")), 
         0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-KR")),
     0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("KOI8-R")), 
         0xFFFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-US")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CA")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NL")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-DK")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NO")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FI")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-SE")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IT")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ES")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-GB")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FR")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR1")),
   0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-HE")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CH")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ROECE")),
 0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-YU")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IS")),
    0xFF));
  -     
s_revsize.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR2")),
   0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("WINDOWS-1250")),
    0xFF)); // Windows 1250 Peter Smolik
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("UTF-8")),
           0xFFFF)); // Universal Transformation Format 8
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("US-ASCII")),
        0x7F));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9")),
      0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-JP")),
     0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("SHIFT_JIS")),
       0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-JP")),
          0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("GB2312")),
          0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("BIG5")),
            0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-KR")),
          0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-KR")),
     0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("KOI8-R")),
          0xFFFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-US")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CA")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NL")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-DK")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NO")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FI")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-SE")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IT")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ES")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-GB")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FR")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR1")),
   0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-HE")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CH")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ROECE")),
 0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-YU")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IS")),
    0xFF));
  +     
s_revsize.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR2")),
   0xFF));
   
        //    <preferred MIME name>, <Java encoding name>
        // s_enchash.insert(std::make_pair("ISO 8859-1", "CP1252")); // Close 
enough, I guess
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("WINDOWS-1250")),
 DOMString(XALAN_STATIC_UCODE_STRING("CP1250")))); // Peter Smolik
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("UTF-8")), 
DOMString(XALAN_STATIC_UCODE_STRING("UTF8"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("WINDOWS-1250")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("CP1250")))); // Peter Smolik
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("UTF-8")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("UTF8"))));
        if(useISOPrefix)
        {
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("US-ASCII")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1"))));    // ?
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_2"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_3"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_4"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_5"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_6"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_7"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_8"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_9"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("US-ASCII")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1"))));    // 
?
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_2"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_3"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_4"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_5"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_6"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_7"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_8"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_9"))));
        }
        else
        {
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("US-ASCII")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_1"))));    // ?
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_1"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_2"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_3"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_4"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_5"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_6"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_7"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_8"))));
  -             
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9")),
  -             DOMString(XALAN_STATIC_UCODE_STRING("8859_9"))));
  -     }
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-JP")),
     DOMString(XALAN_STATIC_UCODE_STRING("JIS"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("SHIFT_JIS")),
       DOMString(XALAN_STATIC_UCODE_STRING("SJIS"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EUC-JP")), 
         DOMString(XALAN_STATIC_UCODE_STRING("EUCJIS"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("GB2312")), 
         DOMString(XALAN_STATIC_UCODE_STRING("GB2312"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("BIG5")),   
         DOMString(XALAN_STATIC_UCODE_STRING("Big5"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EUC-KR")), 
         DOMString(XALAN_STATIC_UCODE_STRING("KSC5601"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-KR")),
     DOMString(XALAN_STATIC_UCODE_STRING("ISO2022KR"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("KOI8-R")), 
         DOMString(XALAN_STATIC_UCODE_STRING("KOI8_R"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-US")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP037"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CA")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP037"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NL")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP037"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-DK")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP277"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NO")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP277"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FI")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP278"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-SE")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP278"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IT")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP280"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ES")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP284"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-GB")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP285"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FR")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP297"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR1")),
   DOMString(XALAN_STATIC_UCODE_STRING("CP420"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-HE")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP424"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CH")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP500"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ROECE")),
 DOMString(XALAN_STATIC_UCODE_STRING("CP870"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-YU")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP870"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IS")),
    DOMString(XALAN_STATIC_UCODE_STRING("CP871"))));
  -     
s_enchash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR2")),
   DOMString(XALAN_STATIC_UCODE_STRING("CP918"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("US-ASCII")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_1"))));    // ?
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_1"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_2"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_3"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_4"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_5"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_6"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_7"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_8"))));
  +             
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9")),
  +             XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_9"))));
  +     }
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-JP")),
     XalanDOMString(XALAN_STATIC_UCODE_STRING("JIS"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("SHIFT_JIS")),
       XalanDOMString(XALAN_STATIC_UCODE_STRING("SJIS"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-JP")),
          XalanDOMString(XALAN_STATIC_UCODE_STRING("EUCJIS"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("GB2312")),
          XalanDOMString(XALAN_STATIC_UCODE_STRING("GB2312"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("BIG5")),
            XalanDOMString(XALAN_STATIC_UCODE_STRING("Big5"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-KR")),
          XalanDOMString(XALAN_STATIC_UCODE_STRING("KSC5601"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-KR")),
     XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO2022KR"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("KOI8-R")),
          XalanDOMString(XALAN_STATIC_UCODE_STRING("KOI8_R"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-US")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP037"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CA")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP037"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NL")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP037"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-DK")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP277"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NO")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP277"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FI")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP278"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-SE")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP278"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IT")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP280"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ES")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP284"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-GB")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP285"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FR")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP297"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR1")),
   XalanDOMString(XALAN_STATIC_UCODE_STRING("CP420"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-HE")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP424"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CH")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP500"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ROECE")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("CP870"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-YU")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP870"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IS")),
    XalanDOMString(XALAN_STATIC_UCODE_STRING("CP871"))));
  +     
s_enchash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR2")),
   XalanDOMString(XALAN_STATIC_UCODE_STRING("CP918"))));
   
        // j:CNS11643 -> EUC-TW?
        // ISO-2022-CN? ISO-2022-CN-EXT?
   
        //    <Java encoding name>, <preferred MIME name>
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP1252")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")))); // Close enough, I guess
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP1250")), 
DOMString(XALAN_STATIC_UCODE_STRING("windows-1250")))); // Peter Smolik
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("UTF8")), 
DOMString(XALAN_STATIC_UCODE_STRING("UTF-8"))));
  -     
//s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1")),
 DOMString(XALAN_STATIC_UCODE_STRING("US-ASCII"))));    // ?
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP1252")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1")))); // Close enough, I 
guess
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP1250")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("windows-1250")))); // Peter Smolik
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("UTF8")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("UTF-8"))));
  +     
//s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("US-ASCII"))));    // ?
        if(useISOPrefix)
        {
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_2")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_3")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_4")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_5")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_6")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_7")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_8")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO8859_9")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_1")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_2")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_3")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_4")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_5")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_6")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_7")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_8")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO8859_9")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9"))));
        }
        else
        {
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_1")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_2")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_3")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_4")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_5")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_6")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_7")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_8")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8"))));
  -             
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("8859_9")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9"))));
  -     }
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("JIS")), 
DOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-JP"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("SJIS")), 
DOMString(XALAN_STATIC_UCODE_STRING("Shift_JIS"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("EUCJIS")), 
DOMString(XALAN_STATIC_UCODE_STRING("EUC-JP"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("GB2312")), 
DOMString(XALAN_STATIC_UCODE_STRING("GB2312"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("BIG5")), 
DOMString(XALAN_STATIC_UCODE_STRING("Big5"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("KSC5601")),
 DOMString(XALAN_STATIC_UCODE_STRING("EUC-KR"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("ISO2022KR")),
 DOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-KR"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("KOI8_R")), 
DOMString(XALAN_STATIC_UCODE_STRING("KOI8-R"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP037")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-US"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP037")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CA"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP037")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NL"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP277")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-DK"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP277")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NO"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP278")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FI"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP278")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-SE"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP280")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IT"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP284")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ES"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP285")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-GB"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP297")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FR"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP420")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR1"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP424")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-HE"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP500")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CH"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP870")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ROECE"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP870")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-YU"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP871")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IS"))));
  -     
s_revhash.insert(std::make_pair(DOMString(XALAN_STATIC_UCODE_STRING("CP918")), 
DOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR2"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_1")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-1"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_2")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-2"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_3")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-3"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_4")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-4"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_5")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-5"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_6")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-6"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_7")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-7"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_8")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-8"))));
  +             
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("8859_9")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-8859-9"))));
  +     }
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("JIS")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-JP"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("SJIS")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("Shift_JIS"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("EUCJIS")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-JP"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("GB2312")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("GB2312"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("BIG5")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("Big5"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("KSC5601")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EUC-KR"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO2022KR")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("ISO-2022-KR"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("KOI8_R")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("KOI8-R"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP037")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-US"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP037")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CA"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP037")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NL"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP277")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-DK"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP277")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-NO"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP278")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FI"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP278")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-SE"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP280")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IT"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP284")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ES"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP285")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-GB"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP297")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-FR"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP420")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR1"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP424")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-HE"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP500")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-CH"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP870")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-ROECE"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP870")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-YU"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP871")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-IS"))));
  +     
s_revhash.insert(std::make_pair(XalanDOMString(XALAN_STATIC_UCODE_STRING("CP918")),
 XalanDOMString(XALAN_STATIC_UCODE_STRING("EBCDIC-CP-AR2"))));
   }
  
  
  
  1.7       +74 -64    xml-xalan/c/src/XMLSupport/FormatterToXML.hpp
  
  Index: FormatterToXML.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterToXML.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- FormatterToXML.hpp        2000/03/21 03:22:46     1.6
  +++ FormatterToXML.hpp        2000/04/11 14:43:01     1.7
  @@ -71,14 +71,17 @@
   
   
   
  -#include <dom/DOMString.hpp>
  -
   #include <sax/AttributeList.hpp>
   
  +
  +
  +#include <XalanDOM/XalanDOMString.hpp>
  +
  +
  +
   // Base class header file.
   #include <XMLSupport/FormatterListener.hpp>
   
  -#include <XPath/QName.hpp>
   
   
   class Writer;
  @@ -97,36 +100,35 @@
   #else
   #    define XALAN_STD std::
   #endif
  -     typedef XALAN_STD map<DOMString, DOMString> DOMStringMapType;
  -     typedef XALAN_STD map<DOMString, int> DOMString2IntMapType;
  -     typedef std::vector<QName> QNameVectorType;
  -     typedef std::stack<bool>        BoolStackTYpe;
  +     typedef XALAN_STD map<XalanDOMString, XalanDOMString>   
DOMStringMapType;
  +     typedef XALAN_STD map<XalanDOMString, int>                              
DOMString2IntMapType;
  +     typedef std::stack<bool>                                                
                BoolStackType;
   #undef XALAN_STD
   
        /**
         * These are characters that will be escaped in the output.
         */
  -     DOMString                                       m_attrSpecialChars;
  +     XalanDOMString                                  m_attrSpecialChars;
   
  -     static const DOMString DEFAULT_MIME_ENCODING;
  +     static const XalanDOMString             DEFAULT_MIME_ENCODING;
          
        /**
         * If true, cdata sections are simply stripped of their 
         * CDATA brackets, without escaping.
         */
  -     bool                                            m_stripCData;
  +     bool                                                    m_stripCData;
   
        /**
         * If true, characters in cdata sections are 
         * escaped, instead of being writted out as 
         * cdata sections.
         */
  -     bool                                            m_escapeCData;
  +     bool                                                    m_escapeCData;
   
        /**
         * If true, XML header should be written to output.
         */
  -     bool                                            m_shouldWriteXMLHeader;
  +     bool                                                    
m_shouldWriteXMLHeader;
   
        /**
         * Number of spaces to indent, default is 2.
  @@ -136,7 +138,7 @@
     /**
      * Tells the XML version, for writing out to the XML decl.
      */
  -     DOMString m_version;
  +     XalanDOMString m_version;
   
        /**
         * Constructor for customized encoding and doctype.
  @@ -155,21 +157,18 @@
         *                          declaration
         * @param standalone        true if the XSLT processor should output a
         *                          standalone document declaration
  -      * @param cdataSectionElems list of the names of elements whose text 
node
  -      *                          children should be output using CDATA 
sections
         */
        FormatterToXML(
                        Writer&                         writer,
  -                     const DOMString& version,
  +                     const XalanDOMString& version,
                        bool doIndent, 
                        int indent,
  -                     const DOMString& encoding, 
  -                     const DOMString& mediaType,
  -                     const DOMString& doctypeSystem,
  -                     const DOMString& doctypePublic,
  +                     const XalanDOMString& encoding, 
  +                     const XalanDOMString& mediaType,
  +                     const XalanDOMString& doctypeSystem,
  +                     const XalanDOMString& doctypePublic,
                        bool xmlDecl,
  -                     const DOMString& standalone, 
  -               const QNameVectorType* const cdataSectionElems);
  +                     const XalanDOMString& standalone);
   
        virtual
        ~FormatterToXML();
  @@ -183,9 +182,10 @@
        * @param isCData true if characters are CDATA
      */
        void writeNormalizedChars(
  -                     const XMLCh*  const ch,
  -                     int start, int length,
  -                     bool isCData);
  +                     const XalanDOMChar*             ch,
  +                     int                                             start,
  +                     int                                             length,
  +                     bool                                    isCData);
   
        // These methods are inherited from FormatterListener ...
   
  @@ -244,14 +244,18 @@
   protected:
   
        void FormatterToXML::copyBigCharIntoBuf(
  -                     const XMLCh* const chars,               // Character 
string to process
  -                     int&                                    i,              
                // Index into 'chars'
  -                     int&                                    pos,            
        // Index in m_charBuf
  -                     int                                     length,         
// Length of 'chars' string
  -                     XMLCh* buf = m_charBuf                  // Buffer to 
write to
  +                     const XalanDOMChar*     chars,                          
// Character string to process
  +                     int&                    i,                              
        // Index into 'chars'
  +                     int&                    pos,                            
// Index in m_charBuf
  +                     int                             length,                 
        // Length of 'chars' string
  +                     XalanDOMChar*                   buf = m_charBuf         
// Buffer to write to
                        );
   
  -     void writeBigChar(const XMLCh* const ch, int& i, int end);
  +     void
  +     writeBigChar(
  +                     const XalanDOMChar*             ch,
  +                     int&                                    i,
  +                     int                                             end);
   
        void
        writeParentTagEnd();
  @@ -269,8 +273,8 @@
         */
        void
        processAttribute(
  -                     const DOMString&        name,
  -                     const DOMString&        value);
  +                     const XalanDOMString&   name,
  +                     const XalanDOMString&   value);
   
        /**
         * Returns the specified <var>string</var> after substituting 
<VAR>specials</VAR>,
  @@ -282,11 +286,11 @@
         * @return              XML-formatted string.
         * @see #backReference
         */
  -     static DOMString
  +     static XalanDOMString
        prepAttrString(
  -                     const DOMString&        string,
  -                     const DOMString&        specials,
  -                     const DOMString&        encoding);
  +                     const XalanDOMString&   string,
  +                     const XalanDOMString&   specials,
  +                     const XalanDOMString&   encoding);
        
        virtual bool
        shouldIndent() const;
  @@ -328,28 +332,34 @@
      * @see #reverse
      */
   
  -     static const DOMString convertMime2JavaEncoding(const DOMString& 
mimeCharsetName);
  -     static const DOMString convertJava2MimeEncoding(const DOMString& 
encoding);
  -     static void initEncodings();
  +     static const XalanDOMString
  +     convertMime2JavaEncoding(const XalanDOMString&  mimeCharsetName);
   
  +     static const XalanDOMString
  +     convertJava2MimeEncoding(const XalanDOMString&  encoding);
  +
  +     static void
  +     initEncodings();
  +
   protected:
   
        enum { MAXCHARBUF = 4096, MAXSAFECHARBUF = MAXCHARBUF - 256 };
   
  -     static XMLCh            m_charBuf[MAXCHARBUF];
  -     static XMLCh m_lineSep;
  -     bool m_needToOutputDocTypeDecl;
  -     Writer&                         m_writer;
  -/**
  - * The maximum character value before we have to resort 
  - * to escaping.
  - */
  -     unsigned int    m_maxCharacter;
  +     static XalanDOMChar             m_charBuf[MAXCHARBUF];
  +     static XalanDOMChar             m_lineSep;
  +     bool                                    m_needToOutputDocTypeDecl;
  +     Writer&                                 m_writer;
  +
  +     /**
  +      * The maximum character value before we have to resort 
  +      * to escaping.
  +      */
  +     unsigned int            m_maxCharacter;
     
        /**
         * The character encoding.  Not currently used.
         */
  -     DOMString               m_encoding;
  +     XalanDOMString          m_encoding;
   
        /**
         * Tell if the next text should be raw.
  @@ -360,17 +370,17 @@
      * A stack of Boolean objects that tell if the given element 
      * has children.
      */
  -     BoolStackTYpe   m_elemStack;
  +     BoolStackType   m_elemStack;
     
  -     bool                            m_ispreserve;
  -     BoolStackTYpe   m_preserves;
  -     bool                            m_isprevtext;
  -     bool                            m_doIndent;
  -     int                                     m_currentIndent;
  -     int                                     m_level;
  -     DOMString                       m_doctypeSystem;
  -     DOMString                       m_doctypePublic;
  -     bool                            m_startNewLine;
  +     bool                    m_ispreserve;
  +     BoolStackType   m_preserves;
  +     bool                    m_isprevtext;
  +     bool                    m_doIndent;
  +     int                             m_currentIndent;
  +     int                             m_level;
  +     XalanDOMString  m_doctypeSystem;
  +     XalanDOMString  m_doctypePublic;
  +     bool                    m_startNewLine;
     /**
      * Assume java encoding names are the same as the ISO encoding names if 
this is true.
      */
  @@ -393,14 +403,14 @@
     
   
        int copyEntityIntoBuf(
  -                     const DOMString&        s,
  -                     int                                     pos);
  +                     const XalanDOMString&   s,
  +                     int                                             pos);
   
        int copyUTF16IntoBuf(
  -                     const XMLCh* const chars,
  +                     const XalanDOMChar*             chars,
                        int&                                    i,              
                // Index into 'chars'
                        int&                                    pos,            
        // Index in m_charBuf
  -                     int                                     length          
// Length of 'chars' string
  +                     int                                             length  
        // Length of 'chars' string
                );
        
   private:
  
  
  
  1.3       +93 -46    xml-xalan/c/src/XMLSupport/FormatterTreeWalker.cpp
  
  Index: FormatterTreeWalker.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterTreeWalker.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FormatterTreeWalker.cpp   2000/01/28 14:52:00     1.2
  +++ FormatterTreeWalker.cpp   2000/04/11 14:43:01     1.3
  @@ -60,21 +60,17 @@
   
   
   // Xerces header files...
  -#include <dom/DOM_Node.hpp>
  -#include <dom/DOM_Comment.hpp>
  -#include <dom/DOM_Document.hpp>
  -#include <dom/DOM_DocumentFragment.hpp>
  -#include <dom/DOM_NamedNodeMap.hpp>
  -#include <dom/DOM_ProcessingInstruction.hpp>
  -#include <dom/DOM_Text.hpp>
  +#include <XalanDOM/XalanNode.hpp>
  +#include <XalanDOM/XalanComment.hpp>
  +#include <XalanDOM/XalanDocument.hpp>
  +#include <XalanDOM/XalanDocumentFragment.hpp>
  +#include <XalanDOM/XalanElement.hpp>
  +#include <XalanDOM/XalanNamedNodeMap.hpp>
  +#include <XalanDOM/XalanProcessingInstruction.hpp>
  +#include <XalanDOM/XalanText.hpp>
   
   
   
  -// XSL4C header files.
  -#include <Include/DOMHelper.hpp>
  -
  -
  -
   #include <PlatformSupport/AttributeListImpl.hpp>
   #include <PlatformSupport/DOMStringHelper.hpp>
   #include <PlatformSupport/NamedNodeMapAttributeList.hpp>
  @@ -100,76 +96,99 @@
   
   
   void
  -FormatterTreeWalker::startNode(const DOM_Node&       node)
  +FormatterTreeWalker::startNode(const XalanNode*              node)
   {
  -     switch(node.getNodeType())
  +     assert(node != 0);
  +
  +     switch(node->getNodeType())
        {
  -     case DOM_Node::COMMENT_NODE:
  +     case XalanNode::COMMENT_NODE:
                {
  -                     const DOM_Comment&      theCommentNode =
  -                             static_cast<const DOM_Comment&>(node);
  +                     const XalanComment*     theCommentNode =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (const XalanComment*)node;
  +#else
  +                             static_cast<const XalanComment*>(node);
  +#endif
   
  -                     
m_formatterListener.comment(c_wstr(theCommentNode.getData()));
  +                     
m_formatterListener.comment(c_wstr(theCommentNode->getData()));
                }
                break;
   
  -     case DOM_Node::DOCUMENT_FRAGMENT_NODE:
  +     case XalanNode::DOCUMENT_FRAGMENT_NODE:
                // ??
                break;
   
  -     case DOM_Node::DOCUMENT_NODE:
  +     case XalanNode::DOCUMENT_NODE:
                m_formatterListener.startDocument();
                break;
   
  -     case DOM_Node::ELEMENT_NODE:
  +     case XalanNode::ELEMENT_NODE:
                {
  -                     const DOM_Element&      theElementNode =
  -                             static_cast<const DOM_Element&>(node);
  +                     const XalanElement*     theElementNode =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (const XalanElement*)node;
  +#else
  +                             static_cast<const XalanElement*>(node);
  +#endif
   
  -                     DOM_NamedNodeMap        atts = 
theElementNode.getAttributes();
  +                     const XalanNamedNodeMap*        atts = 
theElementNode->getAttributes();
  +                     assert(atts != 0);
   
  -                     NamedNodeMapAttributeList       theAttributeList(atts);
  +                     NamedNodeMapAttributeList       theAttributeList(*atts);
   
  -                     
m_formatterListener.startElement(c_wstr(theElementNode.getNodeName()),
  +                     
m_formatterListener.startElement(c_wstr(theElementNode->getNodeName()),
                                                                                
         theAttributeList);
                }
                break;
   
  -     case DOM_Node::PROCESSING_INSTRUCTION_NODE:
  +     case XalanNode::PROCESSING_INSTRUCTION_NODE:
                {
  -                     const DOM_ProcessingInstruction&        thePI =
  -                             static_cast<const 
DOM_ProcessingInstruction&>(node);
  +                     const XalanProcessingInstruction*       thePI =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (const XalanProcessingInstruction*)node;
  +#else
  +                             static_cast<const 
XalanProcessingInstruction*>(node);
  +#endif
   
  -                     
m_formatterListener.processingInstruction(c_wstr(thePI.getNodeName()),
  -                                                                             
                          c_wstr(thePI.getData()));
  +                     
m_formatterListener.processingInstruction(c_wstr(thePI->getNodeName()),
  +                                                                             
                          c_wstr(thePI->getData()));
                }
                break;
   
  -     case DOM_Node::CDATA_SECTION_NODE:
  +     case XalanNode::CDATA_SECTION_NODE:
                {
  -                     const DOM_Text& theTextNode =
  -                             static_cast<const DOM_Text&>(node);
  +                     const XalanText*        theTextNode =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (const XalanText*)node;
  +#else
  +                             static_cast<const XalanText*>(node);
  +#endif
   
  -                     const DOMString         data = theTextNode.getData();
  +                     const XalanDOMString    data = theTextNode->getData();
   
                        m_formatterListener.cdata(c_wstr(data),
                                                                          
length(data));
                }
                break;
   
  -     case DOM_Node::TEXT_NODE:
  +     case XalanNode::TEXT_NODE:
                {
  -                     const DOM_Text& theTextNode =
  -                             static_cast<const DOM_Text&>(node);
  +                     const XalanText*        theTextNode =
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +                             (const XalanText*)node;
  +#else
  +                             static_cast<const XalanText*>(node);
  +#endif
   
  -                     const DOMString         data = theTextNode.getData();
  +                     const XalanDOMString    data = theTextNode->getData();
   
                        m_formatterListener.characters(c_wstr(data), 
length(data));
                }
                break;
   
  -     case DOM_Node::ENTITY_REFERENCE_NODE:
  -             m_formatterListener.entityReference(c_wstr(node.getNodeName()));
  +     case XalanNode::ENTITY_REFERENCE_NODE:
  +             
m_formatterListener.entityReference(c_wstr(node->getNodeName()));
                break;
   
        default:
  @@ -180,21 +199,49 @@
   
   
   
  +void
  +FormatterTreeWalker::startNode(XalanNode*    node)
  +{
  +     assert(node != 0);
  +
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +     startNode((const XalanNode*)node);
  +#else
  +     startNode(const_cast<const XalanNode*>(node));
  +#endif
  +}
  +
  +
  +
   void
  -FormatterTreeWalker::endNode(const DOM_Node&         node)
  +FormatterTreeWalker::endNode(const XalanNode*        node)
   {
  -     switch(node.getNodeType())
  +     assert(node != 0);
  +
  +     switch(node->getNodeType())
        {
  -     case DOM_Node::DOCUMENT_NODE:
  +     case XalanNode::DOCUMENT_NODE:
                m_formatterListener.endDocument();
                break;
   
  -     case DOM_Node::ELEMENT_NODE:
  -             m_formatterListener.endElement(c_wstr(node.getNodeName()));
  +     case XalanNode::ELEMENT_NODE:
  +             m_formatterListener.endElement(c_wstr(node->getNodeName()));
                break;
   
        default:
                // Do nothing
                break;
        }
  +}
  +
  +
  +
  +void
  +FormatterTreeWalker::endNode(XalanNode*              node)
  +{
  +#if defined(XALAN_OLD_STYLE_CASTS)
  +     endNode((const XalanNode*)node);
  +#else
  +     endNode(const_cast<const XalanNode*>(node));
  +#endif
   }
  
  
  
  1.3       +7 -3      xml-xalan/c/src/XMLSupport/FormatterTreeWalker.hpp
  
  Index: FormatterTreeWalker.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/FormatterTreeWalker.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FormatterTreeWalker.hpp   2000/03/06 17:05:21     1.2
  +++ FormatterTreeWalker.hpp   2000/04/11 14:43:02     1.3
  @@ -68,7 +68,6 @@
   
   
   
  -class DOM_Node;
   class FormatterListener;
   
   
  @@ -91,11 +90,16 @@
   protected:
   
        virtual void
  -     startNode(const DOM_Node&       node);
  +     startNode(const XalanNode*      node);
   
        virtual void
  -     endNode(const DOM_Node& node);
  +     startNode(XalanNode*    node);
   
  +     virtual void
  +     endNode(const XalanNode*        node);
  +
  +     virtual void
  +     endNode(XalanNode*      node);
   
   private:
   
  
  
  
  1.4       +19 -53    xml-xalan/c/src/XMLSupport/XMLParserLiaison.hpp
  
  Index: XMLParserLiaison.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/XMLParserLiaison.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLParserLiaison.hpp      2000/03/06 17:05:21     1.3
  +++ XMLParserLiaison.hpp      2000/04/11 14:43:02     1.4
  @@ -64,10 +64,7 @@
   
   
   
  -// Xerces DOM header files
  -#include <dom/DOM_Node.hpp>
  -#include <dom/DOM_Document.hpp>
  -#include <dom/DOMString.hpp>
  +#include <XalanDOM/XalanDOMString.hpp>
   
   
   
  @@ -79,6 +76,9 @@
   class FormatterListener;
   class InputSource;
   class URLInputSource;
  +class XalanAttr;
  +class XalanDocument;
  +class XalanElement;
   
   
   
  @@ -118,29 +118,12 @@
         *                   string
         * @return DOM document created
         */
  -     virtual DOM_Document
  +     virtual XalanDocument*
        parseXMLStream(
  -                     InputSource&            reader,
  -                     const DOMString&        identifier = DOMString()) = 0;
  +                     InputSource&                    inputSource,
  +                     const XalanDOMString&   identifier = XalanDOMString()) 
= 0;
   
        /**
  -      * Parse the text pointed at by the reader as XML, and return a DOM
  -      * Document interface.  It is recommended that you pass in some sort of
  -      * recognizable name, such as the filename or URI, with which the reader
  -      * can be recognized if the parse fails.
  -      *
  -      * @param reader     URL input source that should hold valid XML
  -      * @param identifier used for diagnostic purposes only, some sort of
  -      *                   identification for error reporting, default an 
empty
  -      *                   string
  -      * @return DOM document created
  -      */
  -     virtual DOM_Document
  -     parseXMLStream(
  -                     URLInputSource&         reader,
  -                     const DOMString&        identifier = DOMString()) = 0;
  -
  -     /**
         * Parse the text pointed at by the reader as XML. It is recommended 
that
         * you pass in some sort of recognizable name, such as the filename or 
URI,
         * with which the reader can be recognized if the parse fails.
  @@ -152,27 +135,10 @@
         *                       empty string
         */
        virtual void
  -     parseXMLStream(
  -                     InputSource&            urlInputSource,
  -                     DocumentHandler&        handler,
  -                     const DOMString&        identifier = DOMString()) = 0;
  -
  -     /**
  -      * Parse the text pointed at by the reader as XML. It is recommended 
that
  -      * you pass in some sort of recognizable name, such as the filename or 
URI,
  -      * with which the reader can be recognized if the parse fails.
  -      *
  -      * @param urlInputSource URL input source that should hold valid XML
  -      * @param handler        instance of a DocumentHandler
  -      * @param identifier      used for diagnostic purposes only, some sort 
of
  -      *                        identification for error reporting, default an
  -      *                        empty string
  -      */
  -     virtual void
        parseXMLStream(
  -                     URLInputSource&         urlInputSource,
  -                     DocumentHandler&        handler,
  -                     const DOMString&        identifier = DOMString()) = 0;
  +                     InputSource&                    inputSource,
  +                     DocumentHandler&                handler,
  +                     const XalanDOMString&   identifier = XalanDOMString()) 
= 0;
   
        /**
         * Create an empty DOM Document.  Mainly used for creating an 
  @@ -180,7 +146,7 @@
         *
         * @return DOM document created
         */
  -     virtual DOM_Document
  +     virtual XalanDocument*
        createDocument() = 0;
     
     /**
  @@ -188,7 +154,7 @@
        *
        * @return DOM document factory
        */
  -     virtual DOM_Document
  +     virtual XalanDocument*
        getDOMFactory() = 0;
   
        /**
  @@ -197,8 +163,8 @@
         * @param elem DOM element queried
         * @return string for expanded name of element
         */
  -     virtual DOMString
  -     getExpandedElementName(const DOM_Element&       elem) const = 0;
  +     virtual XalanDOMString
  +     getExpandedElementName(const XalanElement&      elem) const = 0;
   
        /**
         * Returns the attribute name with the namespace expanded.
  @@ -206,8 +172,8 @@
         * @param attr attribute queried
         * @return string for expanded name of attribute
         */
  -     virtual DOMString
  -     getExpandedAttributeName(const DOM_Attr&        attr) const = 0;
  +     virtual XalanDOMString
  +     getExpandedAttributeName(const XalanAttr&       attr) const = 0;
   
        /**
         * Set special characters for attributes that will be escaped.
  @@ -215,14 +181,14 @@
         * @param str string containing characters
         */
        virtual void
  -     setSpecialCharacters(const DOMString&   str) = 0;
  +     setSpecialCharacters(const XalanDOMString&      str) = 0;
   
        /**
         * Get special characters for attributes that will be escaped.
         *
         * @return string containing characters
         */
  -     virtual DOMString
  +     virtual XalanDOMString
        getSpecialCharacters() const = 0;
   
        /**
  @@ -282,7 +248,7 @@
         *
         * @return string describing parser
         */
  -     virtual const DOMString&
  +     virtual const XalanDOMString&
        getParserDescription() const = 0;
   
   private:
  
  
  
  1.5       +57 -89    xml-xalan/c/src/XMLSupport/XMLParserLiaisonDefault.cpp
  
  Index: XMLParserLiaisonDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/XMLParserLiaisonDefault.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XMLParserLiaisonDefault.cpp       2000/02/03 20:13:17     1.4
  +++ XMLParserLiaisonDefault.cpp       2000/04/11 14:43:02     1.5
  @@ -67,18 +67,13 @@
   
   
   // Xerces header files
  -#include <dom/DOM_Attr.hpp>
  -#include <dom/DOM_Document.hpp>
  -#include <dom/DOM_Element.hpp>
  -#include <dom/DOM_NamedNodeMap.hpp>
  +#include <XalanDOM/XalanAttr.hpp>
  +#include <XalanDOM/XalanDocument.hpp>
  +#include <XalanDOM/XalanElement.hpp>
  +#include <XalanDOM/XalanNamedNodeMap.hpp>
   
   
   
  -// XSL4C header files
  -#include <Include/DOMHelper.hpp>
  -
  -
  -
   #include <PlatformSupport/DOMStringHelper.hpp>
   #include <PlatformSupport/PrintWriter.hpp>
   #include <DOMSupport/DOMServices.hpp>
  @@ -91,18 +86,14 @@
   #include "XMLSupportException.hpp"
   
   
  -namespace
  -{
   
  -static const char* const     theDefaultSpecialCharacters = "<>&\"\'\r\n";
  +static const XalanDOMString          
theDefaultSpecialCharacters(XALAN_STATIC_UCODE_STRING("<>&\"\'\r\n"));
   
  -}
  -
   
   
   XMLParserLiaisonDefault::XMLParserLiaisonDefault(
  -                     DOMSupport&                     theDOMSupport,
  -                     const DOMString&        theParserDescription) :
  +                     DOMSupport&                             theDOMSupport,
  +                     const XalanDOMString&   theParserDescription) :
        XMLParserLiaison(),
        Formatter(),
        m_DOMSupport(theDOMSupport),
  @@ -153,63 +144,40 @@
   
   
   
  -DOM_Document
  +XalanDocument*
   XMLParserLiaisonDefault::parseXMLStream(
  -                     InputSource&            /* reader */,
  -                     const DOMString&        /* identifier */)
  +                     InputSource&                    /* inputSource */,
  +                     const XalanDOMString&   /* identifier */)
   {
        throw XMLSupportException("parseXMLStream() not supported in 
XMLParserLiaisonDefault!");
   
  -     return DOM_Document();
  +     return 0;
   }
   
   
   
  -DOM_Document
  -XMLParserLiaisonDefault::parseXMLStream(
  -                     URLInputSource&         /* reader */,
  -                     const DOMString&        /* identifier */)
  -{
  -     throw XMLSupportException("parseXMLStream() not supported in 
XMLParserLiaisonDefault!");
  -
  -     return DOM_Document();
  -}
  -
  -
  -
  -void
  -XMLParserLiaisonDefault::parseXMLStream(
  -                     InputSource&            /* urlInputSource */,
  -                     DocumentHandler&        /* handler */,
  -                     const DOMString&        /* identifier */)
  -{
  -     throw XMLSupportException("parseXMLStream() not supported in 
XMLParserLiaisonDefault!");
  -}
  -
  -
  -
   void
   XMLParserLiaisonDefault::parseXMLStream(
  -                     URLInputSource&         /* urlInputSource */,
  -                     DocumentHandler&        /* handler */,
  -                     const DOMString&        /* identifier */)
  +                     InputSource&                    /* inputSource */,
  +                     DocumentHandler&                /* handler */,
  +                     const XalanDOMString&   /* identifier */)
   {
        throw XMLSupportException("parseXMLStream() not supported in 
XMLParserLiaisonDefault!");
   }
   
   
   
  -DOM_Document
  +XalanDocument*
   XMLParserLiaisonDefault::createDocument()
   {
        throw XMLSupportException("createDocument() not supported in 
XMLParserLiaisonDefault!");
   
  -     return DOM_Document();
  +     return 0;
   }
   
     
   
  -DOM_Document
  +XalanDocument*
   XMLParserLiaisonDefault::getDOMFactory()
   {
        return createDocument();
  @@ -220,8 +188,8 @@
   /**
    * Returns the element name with the namespace expanded.
    */
  -DOMString
  -XMLParserLiaisonDefault::getExpandedElementName(const DOM_Element&           
elem) const
  +XalanDOMString
  +XMLParserLiaisonDefault::getExpandedElementName(const XalanElement&          
elem) const
   {
        return m_DOMSupport.getExpandedElementName(elem);
   }
  @@ -231,8 +199,8 @@
   /**
    * Returns the attribute name with the namespace expanded.
    */
  -DOMString
  -XMLParserLiaisonDefault::getExpandedAttributeName(const DOM_Attr&    attr) 
const
  +XalanDOMString
  +XMLParserLiaisonDefault::getExpandedAttributeName(const XalanAttr&   attr) 
const
   {
        return m_DOMSupport.getExpandedAttributeName(attr);
   }
  @@ -241,31 +209,33 @@
   
   void
   XMLParserLiaisonDefault::toMarkup(
  -                     const DOM_Document&             doc,
  +                     const XalanDocument&    doc,
                        PrintWriter&                    pw,
  -                     const DOMString&                resultns,
  +                     const XalanDOMString&   resultns,
                        bool                                    format)
   {
  +#if !defined(XALAN_NO_NAMESPACES)
        using std::auto_ptr;
  +#endif
   
        auto_ptr<FormatterListener>     visitor;
   
  -     if(equals(trim(resultns), "http://www.w3.org/TR/REC-html40";) == true)
  +     if(equals(trim(resultns),
  +                     
XALAN_STATIC_UCODE_STRING("http://www.w3.org/TR/REC-html40";)) == true)
        {
                FormatterToHTML* const  htmlFormatVisitor =
                                new FormatterToHTML(pw,
  -                                             DOMString(),
  +                                             XalanDOMString(),
                                                format,
                                                m_Indent,
  -                                             DOMString(),    // encoding
  -                                             DOMString(),    // media type
  +                                             XalanDOMString(),       // 
encoding
  +                                             XalanDOMString(),       // 
media type
                                                // @@ JMD: ??
                                                // was: "<!DOCTYPE html PUBLIC 
\"-//W3C//DTD HTML 4.0 Transitional//EN\">\n",
  -                                             DOMString(),    // doctypeSystem
  -                                             DOMString(),    // doctypePublic
  +                                             XalanDOMString(),       // 
doctypeSystem
  +                                             XalanDOMString(),       // 
doctypePublic
                                                false, // xmlDecl
  -                                             DOMString(),    // standalone,
  -                                             0);
  +                                             XalanDOMString());      // 
standalone,
                                
   
   #if defined(XALAN_OLD_AUTO_PTR)
  @@ -280,16 +250,15 @@
        {
                FormatterToXML* const   fToXML =
                                new FormatterToXML(pw,
  -                                             DOMString(),
  +                                             XalanDOMString(),
                                                format,
                                                m_Indent,
  -                                             DOMString(),    // encoding
  -                                             DOMString(),    // media type
  -                                             DOMString(),    // doctypeSystem
  -                                             DOMString(),    // doctypePublic
  +                                             XalanDOMString(),       // 
encoding
  +                                             XalanDOMString(),       // 
media type
  +                                             XalanDOMString(),       // 
doctypeSystem
  +                                             XalanDOMString(),       // 
doctypePublic
                                                true,                           
// xmlDecl
  -                                             DOMString(),    // standalone,
  -                                             0);
  +                                             XalanDOMString());      // 
standalone,
   
   #if defined(XALAN_OLD_AUTO_PTR)
                visitor = auto_ptr<FormatterListener>(fToXML);
  @@ -304,7 +273,7 @@
        {
                FormatterTreeWalker             treeTraversal(*visitor);
   
  -             treeTraversal.traverse(doc);
  +             treeTraversal.traverse(&doc);
        }
   } 
   
  @@ -312,26 +281,26 @@
   
   void
   XMLParserLiaisonDefault::setFormatterListener(
  -                     PrintWriter&            pw,
  -                     const DOMString&        resultns,
  -                     bool                            format)
  +                     PrintWriter&                    pw,
  +                     const XalanDOMString&   resultns,
  +                     bool                                    format)
   {
  -     if(equals(trim(resultns), "http://www.w3.org/TR/REC-html40";) == true)
  +     if(equals(trim(resultns),
  +                     
XALAN_STATIC_UCODE_STRING("http://www.w3.org/TR/REC-html40";)) == true)
        {
                FormatterToHTML* const  htmlFormatVisitor =
                        new FormatterToHTML(pw,
  -                                             DOMString(),
  +                                             XalanDOMString(),
                                                format,
                                                m_Indent,
  -                                             DOMString(),    // encoding
  -                                             DOMString(),    // media type
  +                                             XalanDOMString(),       // 
encoding
  +                                             XalanDOMString(),       // 
media type
                                                // @@ JMD: ??
                                                // was: "<!DOCTYPE html PUBLIC 
\"-//W3C//DTD HTML 4.0 Transitional//EN\">\n",
  -                                             DOMString(),    // doctypeSystem
  -                                             DOMString(),    // doctypePublic
  +                                             XalanDOMString(),       // 
doctypeSystem
  +                                             XalanDOMString(),       // 
doctypePublic
                                                false, // xmlDecl
  -                                             DOMString(),    // standalone,
  -                                             0);
  +                                             XalanDOMString());      // 
standalone
   
                if (m_fOwnListener == true)
                {
  @@ -347,16 +316,15 @@
        {
                FormatterToXML* const   fToXML =
                        new FormatterToXML(pw,
  -                                     DOMString(),
  +                                     XalanDOMString(),
                                        format,
                                        m_Indent,
  -                                     DOMString(),    // encoding
  -                                     DOMString(),    // media type
  -                                     DOMString(),    // doctypeSystem
  -                                     DOMString(),    // doctypePublic
  +                                     XalanDOMString(),       // encoding
  +                                     XalanDOMString(),       // media type
  +                                     XalanDOMString(),       // doctypeSystem
  +                                     XalanDOMString(),       // doctypePublic
                                        true,                           // 
xmlDecl
  -                                     DOMString(),    // standalone,
  -                                             0);
  +                                     XalanDOMString());      // standalone
   
                fToXML->m_attrSpecialChars = m_SpecialCharacters;
   
  
  
  
  1.3       +26 -39    xml-xalan/c/src/XMLSupport/XMLParserLiaisonDefault.hpp
  
  Index: XMLParserLiaisonDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/XMLParserLiaisonDefault.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLParserLiaisonDefault.hpp       2000/03/06 17:05:21     1.2
  +++ XMLParserLiaisonDefault.hpp       2000/04/11 14:43:02     1.3
  @@ -65,16 +65,13 @@
   
   
   // Xalan header files.
  +#include <PlatformSupport/DOMStringHelper.hpp>
   #include <DOMSupport/DOMSupportDefault.hpp>
   #include <XMLSupport/XMLParserLiaison.hpp>
   #include <XMLSupport/Formatter.hpp>
   
   
   
  -class DOM_Text;
  -
  -
  -
   class XALAN_XMLSUPPORT_EXPORT XMLParserLiaisonDefault : public 
XMLParserLiaison, public Formatter
   {
   public:
  @@ -89,8 +86,9 @@
         * @param theParserDescription string description of parser
         */
        XMLParserLiaisonDefault(
  -                     DOMSupport&                     theDOMSupport,
  -                     const DOMString&        theParserDescription = 
DOMString("(No parser - generic DOM)"));
  +                     DOMSupport&                             theDOMSupport,
  +                     const XalanDOMString&   theParserDescription =
  +                                     
XalanDOMString(XALAN_STATIC_UCODE_STRING("(No parser - generic DOM)")));
   
        virtual
        ~XMLParserLiaisonDefault();
  @@ -104,45 +102,34 @@
   
        virtual bool
        supportsSAX() const;
  -
  -     virtual DOM_Document
  -     parseXMLStream(
  -                     InputSource&            reader,
  -                     const DOMString&        identifier = DOMString());
   
  -     virtual DOM_Document
  +     virtual XalanDocument*
        parseXMLStream(
  -                     URLInputSource&         reader,
  -                     const DOMString&        identifier = DOMString());
  +                     InputSource&                    inputSource,
  +                     const XalanDOMString&   identifier = XalanDOMString());
   
        virtual void
        parseXMLStream(
  -                     InputSource&            urlInputSource,
  -                     DocumentHandler&        handler,
  -                     const DOMString&        identifier = DOMString());
  +                     InputSource&                    inputSource,
  +                     DocumentHandler&                handler,
  +                     const XalanDOMString&   identifier = XalanDOMString());
   
  -     virtual void
  -     parseXMLStream(
  -                     URLInputSource&         urlInputSource,
  -                     DocumentHandler&        handler,
  -                     const DOMString&        identifier = DOMString());
  -
  -     virtual DOM_Document
  +     virtual XalanDocument*
        createDocument();
     
  -     virtual DOM_Document
  +     virtual XalanDocument*
        getDOMFactory();
   
  -     virtual DOMString
  -     getExpandedElementName(const DOM_Element&       elem) const;
  +     virtual XalanDOMString
  +     getExpandedElementName(const XalanElement&      elem) const;
   
  -     virtual DOMString
  -     getExpandedAttributeName(const DOM_Attr&        attr) const;
  +     virtual XalanDOMString
  +     getExpandedAttributeName(const XalanAttr&       attr) const;
   
        virtual void
  -     setSpecialCharacters(const DOMString&   str) { m_SpecialCharacters = 
str; }
  +     setSpecialCharacters(const XalanDOMString&      str) { 
m_SpecialCharacters = str; }
   
  -     virtual DOMString
  +     virtual XalanDOMString
        getSpecialCharacters() const { return m_SpecialCharacters; }
   
        virtual int
  @@ -163,16 +150,16 @@
        virtual void
        setUseValidation(bool b) { m_fUseValidation = b; }
   
  -     virtual const DOMString&
  +     virtual const XalanDOMString&
        getParserDescription() const { return m_ParserDescription; }
   
        // These interfaces are inherited from Formatter...
   
        virtual void
        toMarkup(
  -                     const DOM_Document&             doc,
  +                     const XalanDocument&    doc,
                        PrintWriter&                    pw,
  -                     const DOMString&                resultns,
  +                     const XalanDOMString&   resultns,
                        bool                                    format);
   
        virtual FormatterListener*
  @@ -180,9 +167,9 @@
   
        virtual void
        setFormatterListener(
  -                     PrintWriter&            pw,
  -                     const DOMString&        resultns,
  -                     bool                            format);
  +                     PrintWriter&                    pw,
  +                     const XalanDOMString&   resultns,
  +                     bool                                    format);
   
        virtual void
        setFormatterListener(FormatterListener*         fl);
  @@ -201,14 +188,14 @@
        operator=(const XMLParserLiaisonDefault&);
   
        // Data members...
  -     DOMString                               m_SpecialCharacters;
  +     XalanDOMString                  m_SpecialCharacters;
   
        int                                             m_Indent;
   
        bool                                    m_fShouldExpandEntityRefs;
        bool                                    m_fUseValidation;
   
  -     const DOMString                 m_ParserDescription;
  +     const XalanDOMString    m_ParserDescription;
   
        FormatterListener*              m_FormatterListener;
   
  
  
  
  1.2       +1 -1      xml-xalan/c/src/XMLSupport/XMLSupportException.cpp
  
  Index: XMLSupportException.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/XMLSupportException.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XMLSupportException.cpp   1999/12/18 19:47:52     1.1
  +++ XMLSupportException.cpp   2000/04/11 14:43:02     1.2
  @@ -60,7 +60,7 @@
   
   
   
  -XMLSupportException::XMLSupportException(const DOMString&    message) :
  +XMLSupportException::XMLSupportException(const XalanDOMString&       
message) :
        XSLException(message)
   {
   }
  
  
  
  1.3       +2 -2      xml-xalan/c/src/XMLSupport/XMLSupportException.hpp
  
  Index: XMLSupportException.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XMLSupport/XMLSupportException.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLSupportException.hpp   2000/03/06 17:05:21     1.2
  +++ XMLSupportException.hpp   2000/04/11 14:43:02     1.3
  @@ -64,7 +64,7 @@
   
   
   
  -#include <dom/DOMString.hpp>
  +#include <XalanDOM/XalanDOMString.hpp>
   
   
   
  @@ -84,7 +84,7 @@
         */
        explicit
        XMLSupportException(
  -                     const DOMString&        message = DOMString());
  +                     const XalanDOMString&   message = XalanDOMString());
   
        virtual
        ~XMLSupportException();
  
  
  

Reply via email to