auriemma    00/10/11 12:43:09

  Modified:    c/src/DOMSupport DOMServices.cpp
               c/src/PlatformSupport DOMStringHelper.cpp
                        DOMStringHelper.hpp DoubleSupport.cpp
               c/src/XMLSupport FormatterToHTML.cpp FormatterToXML.cpp
               c/src/XPath FunctionNormalize.hpp XPathProcessorImpl.cpp
               c/src/XSLT ElemNumber.cpp ElemTemplateElement.cpp
                        ElemTemplateElement.hpp StylesheetHandler.cpp
                        XSLTEngineImpl.cpp XSLTEngineImpl.hpp
               c/src/XercesParserLiaison XercesCDATASectionBridge.cpp
                        XercesTextBridge.cpp
  Log:
  Changed implementation of isDigit, isLetterOrDigit, and isWhitespace to use a 
charater class table.
  
  Revision  Changes    Path
  1.18      +1 -1      xml-xalan/c/src/DOMSupport/DOMServices.cpp
  
  Index: DOMServices.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/DOMSupport/DOMServices.cpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- DOMServices.cpp   2000/09/05 19:33:39     1.17
  +++ DOMServices.cpp   2000/10/11 19:43:03     1.18
  @@ -159,7 +159,7 @@
        {
                const XalanDOMChar      theChar = charAt(theData, i);
   
  -             if (!isSpace(theChar))
  +             if (!isXMLWhitespace(theChar))
                {
                        break;
                }
  
  
  
  1.39      +6 -6      xml-xalan/c/src/PlatformSupport/DOMStringHelper.cpp
  
  Index: DOMStringHelper.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/DOMStringHelper.cpp,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- DOMStringHelper.cpp       2000/10/03 18:24:45     1.38
  +++ DOMStringHelper.cpp       2000/10/11 19:43:03     1.39
  @@ -1247,14 +1247,14 @@
        int leadingSpace = 0;
   
        for (; leadingSpace < strLen; ++leadingSpace)
  -             if (!isSpace(charAt(theString, leadingSpace)))
  +             if (!isXMLWhitespace(charAt(theString, leadingSpace)))
                        break;
   
        // index of last non-whitespace character
        int trailingSpace = strLen - 1;
   
        for (; trailingSpace>=0; --trailingSpace)
  -             if (!isSpace(charAt(theString, trailingSpace)))
  +             if (!isXMLWhitespace(charAt(theString, trailingSpace)))
                        break;
   
        return substring(theString, leadingSpace, trailingSpace + 1);
  @@ -1516,13 +1516,13 @@
   
   
   XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
  -isWhiteSpace(const XalanDOMString&   string)
  +isWhitespace(const XalanDOMString&   string)
   {
        const unsigned int      theLength = length(string);
   
        for(unsigned int s = 0; s < theLength;  s++) 
        {
  -             if (!isSpace(charAt(string, s)))
  +             if (!isXMLWhitespace(charAt(string, s)))
                        return false;
        }
   
  @@ -1532,7 +1532,7 @@
   
   
   XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
  -isWhiteSpace(
  +isWhitespace(
                        const XalanDOMChar*             ch,
                        unsigned int                    start,
                        unsigned int                    length)
  @@ -1541,7 +1541,7 @@
   
        for(unsigned int s = start; s < end; s++) 
        {
  -             if (!isSpace(ch[s]))    
  +             if (!isXMLWhitespace(ch[s]))    
                        return false;
        }
   
  
  
  
  1.31      +11 -13    xml-xalan/c/src/PlatformSupport/DOMStringHelper.hpp
  
  Index: DOMStringHelper.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/DOMStringHelper.hpp,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- DOMStringHelper.hpp       2000/09/27 16:23:55     1.30
  +++ DOMStringHelper.hpp       2000/10/11 19:43:04     1.31
  @@ -89,6 +89,7 @@
   
   
   #include <PlatformSupport/XalanUnicode.hpp>
  +#include <PlatformSupport/XalanXMLChar.hpp>
   
   
   
  @@ -957,13 +958,9 @@
    * @return true if character represents white space
    */
   inline bool
  -isSpace(XalanDOMChar theChar)
  +isXMLWhitespace(XalanDOMChar theChar)
   {
  -     return theChar > XalanUnicode::charSpace ? false :
  -                (theChar == XalanUnicode::charSpace ||
  -                 theChar == XalanUnicode::charCR ||
  -                 theChar == XalanUnicode::charLF ||
  -                 theChar == XalanUnicode::charHTab) ? true : false;
  +     return XalanXMLChar::isWhitespace(theChar) ? true : false;
   }
   
   
  @@ -992,9 +989,9 @@
    * @return true if character represents a digit
    */
   inline bool
  -isDigit(XalanDOMChar theChar)
  -{
  -     return iswdigit(theChar) ? true : false;
  +isXMLDigit(XalanDOMChar      theChar)
  +{    
  +     return XalanXMLChar::isDigit(theChar) ? true : false;
   }
   
   
  @@ -1006,9 +1003,10 @@
    * @return true if character represents a letter or digit
    */
   inline bool
  -isLetterOrDigit(XalanDOMChar theChar)
  +isXMLLetterOrDigit(XalanDOMChar      theChar)
   {
  -     return iswalnum(theChar) ? true : false;
  +     return  XalanXMLChar::isDigit(theChar) || 
  +                     XalanXMLChar::isLetter(theChar) ? true : false;
   }
   
   
  @@ -2067,7 +2065,7 @@
    * @return true if string contains only whitespace
    */
   XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
  -isWhiteSpace(const XalanDOMString&   string);
  +isWhitespace(const XalanDOMString&   string);
   
   
   
  @@ -2080,7 +2078,7 @@
    * @return true if specified range contains only whitespace
    */
   XALAN_PLATFORMSUPPORT_EXPORT_FUNCTION(bool)
  -isWhiteSpace(
  +isWhitespace(
                        const XalanDOMChar*             ch,
                        unsigned int                    start,
                        unsigned int                    length);
  
  
  
  1.14      +1 -1      xml-xalan/c/src/PlatformSupport/DoubleSupport.cpp
  
  Index: DoubleSupport.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/PlatformSupport/DoubleSupport.cpp,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DoubleSupport.cpp 2000/09/27 16:23:57     1.13
  +++ DoubleSupport.cpp 2000/10/11 19:43:04     1.14
  @@ -339,7 +339,7 @@
   consumeWhitespace(const XalanDOMChar*&       theString)
   {
        while(*theString != 0 &&
  -               isSpace(*theString))
  +               isXMLWhitespace(*theString))
        {
                ++theString;
        }
  
  
  
  1.29      +2 -2      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.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- FormatterToHTML.cpp       2000/10/06 22:27:57     1.28
  +++ FormatterToHTML.cpp       2000/10/11 19:43:04     1.29
  @@ -55,7 +55,7 @@
    * <http://www.apache.org/>.
    */
   /**
  - * $Id: FormatterToHTML.cpp,v 1.28 2000/10/06 22:27:57 dbertoni Exp $
  + * $Id: FormatterToHTML.cpp,v 1.29 2000/10/11 19:43:04 auriemma Exp $
    * 
    * $State: Exp $
    * 
  @@ -731,7 +731,7 @@
   
                if (length(data) > 0)
                {
  -                     if(isSpace(data[0]) == false)
  +                     if(isXMLWhitespace(data[0]) == false)
                        {
                                accum(XalanUnicode::charSpace);
                        }
  
  
  
  1.33      +1 -1      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.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- FormatterToXML.cpp        2000/10/07 15:25:34     1.32
  +++ FormatterToXML.cpp        2000/10/11 19:43:04     1.33
  @@ -760,7 +760,7 @@
   
                        const unsigned int      len = length(data);
   
  -                     if ( len > 0 && !isSpace(data[0]))
  +                     if ( len > 0 && !isXMLWhitespace(data[0]))
                        {
                                accum(XalanUnicode::charSpace);
                        }
  
  
  
  1.8       +3 -3      xml-xalan/c/src/XPath/FunctionNormalize.hpp
  
  Index: FunctionNormalize.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionNormalize.hpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- FunctionNormalize.hpp     2000/09/27 16:39:34     1.7
  +++ FunctionNormalize.hpp     2000/10/11 19:43:05     1.8
  @@ -143,12 +143,12 @@
                {
                        const XalanDOMChar      theCurrentChar = 
charAt(theSourceString, i);
   
  -                     if (isSpace(theCurrentChar) == true)
  +                     if (isXMLWhitespace(theCurrentChar) == true)
                        {
                                // If the previous character wasn't a space, 
and we've
                                // encountered some non-space characters, then 
push the
                                // space.
  -                             if (isSpace(thePreviousChar) == false && 
theVector.size() > 0)
  +                             if (isXMLWhitespace(thePreviousChar) == false 
&& theVector.size() > 0)
                                {
                                        
theVector.push_back(XalanDOMChar(XalanUnicode::charSpace));
                                }
  @@ -161,7 +161,7 @@
                        thePreviousChar = theCurrentChar;
                }
   
  -             if (theVector.empty() == false && isSpace(theVector.back()) == 
true)
  +             if (theVector.empty() == false && 
isXMLWhitespace(theVector.back()) == true)
                {
                        // The last character is a space, so remove it
                        theVector.pop_back();
  
  
  
  1.24      +4 -4      xml-xalan/c/src/XPath/XPathProcessorImpl.cpp
  
  Index: XPathProcessorImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathProcessorImpl.cpp,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- XPathProcessorImpl.cpp    2000/10/03 15:27:02     1.23
  +++ XPathProcessorImpl.cpp    2000/10/11 19:43:05     1.24
  @@ -405,11 +405,11 @@
                                {
                                        startSubstring = i;
   
  -                                     isNum = isDigit(c);
  +                                     isNum = isXMLDigit(c);
                                }
                                else if(isNum == true)
                                {
  -                                     isNum = isDigit(c);
  +                                     isNum = isXMLDigit(c);
                                }
                        }
                }
  @@ -1513,8 +1513,8 @@
        }
        else if((XalanUnicode::charFullStop == m_tokenChar &&
                                m_token.length() > 1 &&
  -                             isDigit(charAt(m_token, 1)) == true)
  -                      || isDigit(m_tokenChar) == true)
  +                             isXMLDigit(charAt(m_token, 1)) == true)
  +                      || isXMLDigit(m_tokenChar) == true)
        {
                m_expression->appendOpCode(XPathExpression::eOP_NUMBERLIT);
   
  
  
  
  1.27      +10 -10    xml-xalan/c/src/XSLT/ElemNumber.cpp
  
  Index: ElemNumber.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/ElemNumber.cpp,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- ElemNumber.cpp    2000/10/04 18:00:02     1.26
  +++ ElemNumber.cpp    2000/10/11 19:43:06     1.27
  @@ -699,7 +699,7 @@
        {
                it = tokenVector.begin();
   
  -             if(!isLetterOrDigit(charAt(*it, 0)))
  +             if(!isXMLLetterOrDigit(charAt(*it, 0)))
                {
                        leaderStr = *it;
                        tokenVector.erase(it);
  @@ -709,7 +709,7 @@
                {
                        it = tokenVector.end() - 1;
   
  -                     if(!isLetterOrDigit(charAt(*it, 0)))
  +                     if(!isXMLLetterOrDigit(charAt(*it, 0)))
                        {
                                trailerStr = *it;
                                tokenVector.erase(it);
  @@ -728,7 +728,7 @@
                {
                        // $$$ ToDo: This assert is commented out until we get
                        // out character classification problems fixed.
  -                     // assert(isLetterOrDigit(charAt((*it), 0)));
  +                     // assert(isXMLLetterOrDigit(charAt((*it), 0)));
                        formatToken = *it++;
                        numberWidth = length(formatToken);
                        numberType = charAt(formatToken, numberWidth - 1);
  @@ -737,7 +737,7 @@
                {
                        // $$$ ToDo: This assert is commented out until we get
                        // out character classification problems fixed.
  -                     //assert(!isLetterOrDigit(charAt((*it), 0)));
  +                     //assert(!isXMLLetterOrDigit(charAt((*it), 0)));
                        sepString = *it++;
                }
                formattedNumber += getFormattedNumber(executionContext, 
contextNode,
  @@ -1303,16 +1303,16 @@
   
        const int       start = m_currentPosition;
   
  -     if (isLetterOrDigit(charAt(m_str, m_currentPosition)))
  +     if (isXMLLetterOrDigit(charAt(m_str, m_currentPosition)))
        {
                while ((m_currentPosition < m_maxPosition) &&
  -                             isLetterOrDigit(charAt(m_str, 
m_currentPosition))) 
  +                             isXMLLetterOrDigit(charAt(m_str, 
m_currentPosition))) 
                        m_currentPosition++;
        }
        else
        {
                while ((m_currentPosition < m_maxPosition) &&
  -                             !isLetterOrDigit(charAt(m_str, 
m_currentPosition))) 
  +                             !isXMLLetterOrDigit(charAt(m_str, 
m_currentPosition))) 
                        m_currentPosition++;
        }
   
  @@ -1333,16 +1333,16 @@
        // non-alphabetic characters
        while (currpos < m_maxPosition) 
        {
  -             if (isLetterOrDigit(charAt(m_str, currpos)))
  +             if (isXMLLetterOrDigit(charAt(m_str, currpos)))
                {
                        while ((currpos < m_maxPosition) &&
  -                                     isLetterOrDigit(charAt(m_str, 
currpos))) 
  +                                     isXMLLetterOrDigit(charAt(m_str, 
currpos))) 
                                currpos++;
                }
                else
                {
                        while ((currpos < m_maxPosition) &&
  -                                     !isLetterOrDigit(charAt(m_str, 
currpos))) 
  +                                     !isXMLLetterOrDigit(charAt(m_str, 
currpos))) 
                                currpos++;
                }
                count++;
  
  
  
  1.35      +2 -2      xml-xalan/c/src/XSLT/ElemTemplateElement.cpp
  
  Index: ElemTemplateElement.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/ElemTemplateElement.cpp,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- ElemTemplateElement.cpp   2000/10/03 15:23:58     1.34
  +++ ElemTemplateElement.cpp   2000/10/11 19:43:06     1.35
  @@ -254,7 +254,7 @@
   
       XalanDOMChar             c = charAt(s, 0);
   
  -    if(!(isLetterOrDigit(c) || (c == XalanUnicode::charLowLine)))
  +    if(!(isXMLLetterOrDigit(c) || (c == XalanUnicode::charLowLine)))
         return false;
   
       if(len > 0)
  @@ -263,7 +263,7 @@
                {
                        c = charAt(s, i); 
   
  -                     if(!(isLetterOrDigit(c) ||
  +                     if(!(isXMLLetterOrDigit(c) ||
                                 c == XalanUnicode::charLowLine ||
                                 c == XalanUnicode::charHyphenMinus ||
                                 c == XalanUnicode::charFullStop))
  
  
  
  1.18      +1 -1      xml-xalan/c/src/XSLT/ElemTemplateElement.hpp
  
  Index: ElemTemplateElement.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/ElemTemplateElement.hpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ElemTemplateElement.hpp   2000/08/28 01:19:40     1.17
  +++ ElemTemplateElement.hpp   2000/10/11 19:43:06     1.18
  @@ -270,7 +270,7 @@
         * @return true if the string is pure whitespace
         */
        static bool
  -     isWhiteSpace(const XalanDOMString& theString);
  +     isWhitespace(const XalanDOMString& theString);
   
        /** 
         * Throw a template element runtime error.  
  
  
  
  1.45      +2 -2      xml-xalan/c/src/XSLT/StylesheetHandler.cpp
  
  Index: StylesheetHandler.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/StylesheetHandler.cpp,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- StylesheetHandler.cpp     2000/09/27 16:39:54     1.44
  +++ StylesheetHandler.cpp     2000/10/11 19:43:07     1.45
  @@ -1385,7 +1385,7 @@
                        false, preserveSpace, 
                        disableOutputEscaping);
   
  -             const bool isWhite = isWhiteSpace(chars, 0, length);
  +             const bool isWhite = isWhitespace(chars, 0, length);
   
                if(preserveSpace || (!preserveSpace && !isWhite))
                {
  @@ -1477,7 +1477,7 @@
                        true, preserveSpace, 
                        disableOutputEscaping);
   
  -             bool isWhite = isWhiteSpace(chars, 0, length);
  +             bool isWhite = isWhitespace(chars, 0, length);
   
                if(preserveSpace || (!preserveSpace && !isWhite))
                {
  
  
  
  1.65      +4 -4      xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp
  
  Index: XSLTEngineImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.cpp,v
  retrieving revision 1.64
  retrieving revision 1.65
  diff -u -r1.64 -r1.65
  --- XSLTEngineImpl.cpp        2000/09/27 16:39:54     1.64
  +++ XSLTEngineImpl.cpp        2000/10/11 19:43:07     1.65
  @@ -2864,7 +2864,7 @@
                                {
                                        return true;
                                }
  -                             else if(!isWhiteSpace(data))
  +                             else if(!isWhitespace(data))
                                {
                                        return false;
                                }
  @@ -2963,7 +2963,7 @@
   
   
   XalanDOMString
  -XSLTEngineImpl::fixWhiteSpace(
  +XSLTEngineImpl::fixWhitespace(
                        const XalanDOMString&   string, 
                        bool                                    trimHead, 
                        bool                                    trimTail, 
  @@ -2984,7 +2984,7 @@
   
        for(s = 0;      s < len;  ++s) 
        {
  -             if(isSpace(buf[s]) == true) 
  +             if(isXMLWhitespace(buf[s]) == true) 
                {
                        break;
                }
  @@ -2999,7 +2999,7 @@
        {
                const XalanDOMChar      c = buf[s];
   
  -             if (isSpace(c) == true) 
  +             if (isXMLWhitespace(c) == true) 
                {
                        if (!pres) 
                        {
  
  
  
  1.49      +1 -1      xml-xalan/c/src/XSLT/XSLTEngineImpl.hpp
  
  Index: XSLTEngineImpl.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XSLT/XSLTEngineImpl.hpp,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- XSLTEngineImpl.hpp        2000/09/27 16:39:54     1.48
  +++ XSLTEngineImpl.hpp        2000/10/11 19:43:07     1.49
  @@ -1011,7 +1011,7 @@
      * @param   doublePunctuationSpaces true to use double spaces for 
punctuation
      * @return trimmed string
      */
  -     XalanDOMString fixWhiteSpace(
  +     XalanDOMString fixWhitespace(
                        const XalanDOMString&   string, 
                        bool                            trimHead, 
                        bool                            trimTail, 
  
  
  
  1.3       +1 -1      
xml-xalan/c/src/XercesParserLiaison/XercesCDATASectionBridge.cpp
  
  Index: XercesCDATASectionBridge.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesCDATASectionBridge.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XercesCDATASectionBridge.cpp      2000/08/10 18:41:36     1.2
  +++ XercesCDATASectionBridge.cpp      2000/10/11 19:43:08     1.3
  @@ -462,5 +462,5 @@
   bool
   XercesCDATASectionBridge::isIgnorableWhitespace() const
   {
  -     return isWhiteSpace(m_xercesNode.getData());
  +     return isWhitespace(m_xercesNode.getData());
   }
  
  
  
  1.3       +1 -1      xml-xalan/c/src/XercesParserLiaison/XercesTextBridge.cpp
  
  Index: XercesTextBridge.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XercesParserLiaison/XercesTextBridge.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XercesTextBridge.cpp      2000/08/10 18:41:39     1.2
  +++ XercesTextBridge.cpp      2000/10/11 19:43:08     1.3
  @@ -463,5 +463,5 @@
   bool
   XercesTextBridge::isIgnorableWhitespace() const
   {
  -     return isWhiteSpace(m_xercesNode.getData());
  +     return isWhitespace(m_xercesNode.getData());
   }
  
  
  

Reply via email to