mmidy 00/08/07 14:45:35
Modified: java/src/org/apache/xalan/templates ElemNumber.java
Log:
Initialize character array if necessary
Revision Changes Path
1.3 +20 -8
xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java
Index: ElemNumber.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemNumber.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ElemNumber.java 2000/07/05 14:40:12 1.2
+++ ElemNumber.java 2000/08/07 21:45:35 1.3
@@ -450,7 +450,7 @@
throws SAXException
{
if(TransformerImpl.S_DEBUG)
- transformer.getTraceManager().fireTraceEvent(sourceNode, mode, this);
+ transformer.getTraceManager().fireTraceEvent(sourceNode, mode, this);
String countString = getCountString(transformer, sourceNode);
@@ -1023,16 +1023,28 @@
contextNode, this,
new StringBuffer()) : null;
switch(numberType)
- {
+ {
case 'A':
+ if (m_alphaCountTable == null)
+ {
+ thisBundle =
(XSLTResourceBundle)XSLTResourceBundle.loadResourceBundle(
Constants.LANG_BUNDLE_NAME, getLocale(transformer, contextNode) );
+ char[] alphabet;
+ alphabet= (char[]) thisBundle.getObject(Constants.LANG_ALPHABET);
+ m_alphaCountTable = alphabet;
+ }
int2alphaCount(listElement, m_alphaCountTable, formattedNumber);
break;
- case 'a':
- {
- StringBuffer stringBuf = new StringBuffer();
- int2alphaCount(listElement, m_alphaCountTable, stringBuf);
-
formattedNumber.append(stringBuf.toString().toLowerCase(getLocale(transformer,
contextNode)));
- }
+ case 'a':
+ if (m_alphaCountTable == null)
+ {
+ thisBundle =
(XSLTResourceBundle)XSLTResourceBundle.loadResourceBundle(
Constants.LANG_BUNDLE_NAME, getLocale(transformer, contextNode) );
+ char[] alphabet;
+ alphabet= (char[]) thisBundle.getObject(Constants.LANG_ALPHABET);
+ m_alphaCountTable = alphabet;
+ }
+ StringBuffer stringBuf = new StringBuffer();
+ int2alphaCount(listElement, m_alphaCountTable, stringBuf);
+
formattedNumber.append(stringBuf.toString().toLowerCase(getLocale(transformer,
contextNode)));
break;
case 'I':
formattedNumber.append( long2roman(listElement, true));