dbertoni    01/03/03 11:57:37

  Modified:    c/src/XSLT ElemTemplateElement.cpp
  Log:
  Allow extender and combining characters in NCNames.
  
  Revision  Changes    Path
  1.48      +25 -15    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.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- ElemTemplateElement.cpp   2001/03/02 15:35:50     1.47
  +++ ElemTemplateElement.cpp   2001/03/03 19:57:37     1.48
  @@ -233,28 +233,38 @@
   {
       const unsigned int       len = length(s);
   
  -    XalanDOMChar             c = charAt(s, 0);
  +     if (len == 0)
  +     {
  +             return false;
  +     }
  +     else
  +     {
  +             XalanDOMChar    c = charAt(s, 0);
   
  -    if(!(isXMLLetterOrDigit(c) || (c == XalanUnicode::charLowLine)))
  -      return false;
  +             if(!(XalanXMLChar::isLetter(c) || (c == 
XalanUnicode::charLowLine)))
  +               return false;
   
  -    if(len > 0)
  -    {
  -             for(unsigned int i = 1; i < len; i++)
  +             if(len > 1)
                {
  -                     c = charAt(s, i); 
  -
  -                     if(!(isXMLLetterOrDigit(c) ||
  -                              c == XalanUnicode::charLowLine ||
  -                              c == XalanUnicode::charHyphenMinus ||
  -                              c == XalanUnicode::charFullStop))
  +                     for(unsigned int i = 1; i < len; i++)
                        {
  -                             return false;
  +                             c = charAt(s, i); 
  +
  +                             if(!(XalanXMLChar::isLetter(c) ||
  +                                      XalanXMLChar::isDigit(c) ||
  +                                      XalanXMLChar::isExtender(c) ||
  +                                      XalanXMLChar::isCombiningChar(c) ||
  +                                      c == XalanUnicode::charLowLine ||
  +                                      c == XalanUnicode::charHyphenMinus ||
  +                                      c == XalanUnicode::charFullStop))
  +                             {
  +                                     return false;
  +                             }
                        }
                }
  -    }
   
  -    return true;
  +             return true;
  +     }
   }
   
   
  
  
  

Reply via email to