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;
+ }
}