dbertoni    01/09/14 08:38:29

  Modified:    c/src/XMLSupport FormatterToHTML.cpp FormatterToHTML.hpp
  Log:
  Fix for bug 3583.
  
  Revision  Changes    Path
  1.61      +32 -6     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.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- FormatterToHTML.cpp       2001/08/14 16:22:01     1.60
  +++ FormatterToHTML.cpp       2001/09/14 15:38:29     1.61
  @@ -67,8 +67,7 @@
   
   
   #include <cassert>
  -//#include <climits>
  -#include <map>
  +//#include <map>
   
   
   
  @@ -120,6 +119,7 @@
        m_inBlockElem(false),
        m_isRawStack(),
        m_isScriptOrStyleElem(false),
  +     m_inScriptElemStack(),
        m_escapeURLs(true),
        m_isFirstElement(false),
        m_isUTF8(XalanTranscodingServices::encodingIsUTF8(m_encoding)),
  @@ -216,7 +216,12 @@
        m_isFirstElement = true;
       m_startNewLine = false;
        m_shouldWriteXMLHeader = false;
  +     m_isScriptOrStyleElem = false;
   
  +     m_isRawStack.clear();
  +     m_inScriptElemStack.push_back(false);
  +     m_hasNamespaceStack.clear();
  +
        const bool      isEmptySystem = isEmpty(m_doctypeSystem);
   
        const bool      isEmptyPublic = isEmpty(m_doctypePublic);
  @@ -263,6 +268,8 @@
   {
        assert(m_elementLevel == 0);
   
  +     m_inScriptElemStack.pop_back();
  +
        FormatterToXML::endDocument();
   }
   
  @@ -279,7 +286,6 @@
        }
        else
        {
  -
                writeParentTagEnd();
   
                const ElemDesc&         elemDesc =
  @@ -287,10 +293,22 @@
   
                const bool      isBlockElement = elemDesc.is(ElemDesc::BLOCK);
   
  -             m_isScriptOrStyleElem = 
  -                             equalsIgnoreCaseASCII(name, 
c_wstr(s_scriptString)) ||
  -                             equalsIgnoreCaseASCII(name, 
c_wstr(s_styleString));
  +             if (equalsIgnoreCaseASCII(name, c_wstr(s_scriptString)) == true)
  +             {
  +                     m_isScriptOrStyleElem = true;
   
  +                     m_inScriptElemStack.push_back(true);
  +             }
  +             else
  +             {
  +                     if (equalsIgnoreCaseASCII(name, c_wstr(s_styleString)) 
== true)
  +                     {
  +                             m_isScriptOrStyleElem = true;
  +                     }
  +
  +                     
m_inScriptElemStack.push_back(m_inScriptElemStack.back());
  +             }
  +
                // Increment the level...
                ++m_elementLevel;
   
  @@ -367,7 +385,11 @@
   
                const bool      hasChildNodes = childNodesWereAdded();
   
  +             assert(m_isRawStack.empty() == false);
  +             assert(m_inScriptElemStack.empty() == false);
  +
                m_isRawStack.pop_back();
  +             m_inScriptElemStack.pop_back();
       
                const ElemDesc&         elemDesc =
                                getElemDesc(name);
  @@ -455,6 +477,10 @@
                {
                        m_nextIsRaw = false;
   
  +                     charactersRaw(chars, length);
  +             }
  +             else if (m_inScriptElemStack.back() == true)
  +             {
                        charactersRaw(chars, length);
                }
                else if (m_isRawStack.empty() == false &&
  
  
  
  1.27      +3 -1      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.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- FormatterToHTML.hpp       2001/07/08 18:16:13     1.26
  +++ FormatterToHTML.hpp       2001/09/14 15:38:29     1.27
  @@ -58,7 +58,7 @@
   #define FORMATTERTOHTML_HEADER_GUARD_1357924680
   
   /**
  - * $Id: FormatterToHTML.hpp,v 1.26 2001/07/08 18:16:13 dbertoni Exp $
  + * $Id: FormatterToHTML.hpp,v 1.27 2001/09/14 15:38:29 dbertoni Exp $
    * 
    * $State: Exp $
    * 
  @@ -443,6 +443,8 @@
        BoolStackType                   m_isRawStack;
   
        bool                                    m_isScriptOrStyleElem;
  +
  +     BoolStackType                   m_inScriptElemStack;
   
        bool                                    m_escapeURLs;
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to