You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sa...@apache.org on 2002/09/10 22:04:46 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/xsltc/dom NodeCounter.java

santiagopg    2002/09/10 13:04:46

  Modified:    java/src/org/apache/xalan/xsltc/dom NodeCounter.java
  Log:
  Support for Greek alphabet in xsl:number.
  
  Revision  Changes    Path
  1.7       +14 -6     xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeCounter.java
  
  Index: NodeCounter.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/NodeCounter.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- NodeCounter.java	5 Nov 2001 11:26:01 -0000	1.6
  +++ NodeCounter.java	10 Sep 2002 20:04:46 -0000	1.7
  @@ -289,8 +289,8 @@
        * lang="en".
        */
       private void formatValue(int value, String format, StringBuffer buffer) {
  -
           char c = format.charAt(0);
  +
           if (Character.isDigit(c)) {
               char zero = (char)(c - Character.getNumericValue(c));
   
  @@ -326,10 +326,18 @@
               buffer.append(romanValue(value).toUpperCase());
           } 
   	else {
  -            int min = (int) c;
  -            int max = (int) c;
  -            while (Character.isLetterOrDigit((char) (max+1))) {
  -		max++;
  +	    int min = (int) c;
  +	    int max = (int) c;
  +
  +	    // Special case for Greek alphabet 
  +	    if (c >= 0x3b1 && c <= 0x3c9) {
  +		max = 0x3c9;	// omega
  +	    }
  +	    else {
  +		// General case: search for end of group
  +		while (Character.isLetterOrDigit((char) (max + 1))) {
  +		    max++;
  +		}
   	    }
               buffer.append(alphaValue(value, min, max));
           }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org