2002/css-validator/org/w3c/css/values CssValueList.java,NONE,1.1 ATSCColor.java,1.8,1.9 CssAngle.java,1.7,1.8 CssColor.java,1.18,1.19 CssColorCSS1.java,1.13,1.14 CssColorCSS2.java,1.13,1.14 CssColorCSS21.java,1.5,1.6 CssColorConstants.java,1.6,1.7 CssDate.java,1.4,1.5 CssExpression.java,1.8,1.9 CssFrequency.java,1.6,1.7 CssFunction.java,1.6,1.7 CssIdent.java,1.9,1.10 CssLength.java,1.6,1.7 CssNumber.java,1.7,1.8 CssOperator.java,1.3,1.4 CssPercentage.java,1.7,1.8 CssResolution.java,1.4,1.5 CssString.java,1.6,1.7 CssTypes.java,1.2,1.3 CssURL.java,1.6,1.7 CssUnicodeRange.java,1.5,1.6 CssValue.java,1.6,1.7 CssValueFloat.java,1.2,1.3 HSL.java,1.5,1.6 HSLA.java,1.5,1.6 RGB.java,1.7,1.8 RGBA.java,1.6,1.7

Update of /sources/public/2002/css-validator/org/w3c/css/values
In directory hutz:/tmp/cvs-serv25562/org/w3c/css/values

Modified Files:
	ATSCColor.java CssAngle.java CssColor.java CssColorCSS1.java 
	CssColorCSS2.java CssColorCSS21.java CssColorConstants.java 
	CssDate.java CssExpression.java CssFrequency.java 
	CssFunction.java CssIdent.java CssLength.java CssNumber.java 
	CssOperator.java CssPercentage.java CssResolution.java 
	CssString.java CssTypes.java CssURL.java CssUnicodeRange.java 
	CssValue.java CssValueFloat.java HSL.java HSLA.java RGB.java 
	RGBA.java 
Added Files:
	CssValueList.java 
Log Message:
Implementation of css3-background (partial, missing background-color and background, also borders not done)
cf. http://www.w3.org/TR/2009/CR-css3-background-20091217/

moved and corrected implementation of css3-multicol 
cf. http://www.w3.org/TR/2009/CR-css3-multicol-20091217/

Some reorganization of code.


Index: CssResolution.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssResolution.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- CssResolution.java	25 Mar 2008 18:30:11 -0000	1.4
+++ CssResolution.java	5 Jan 2010 13:50:00 -0000	1.5
@@ -41,7 +41,7 @@
    * Set the value of this Resolution.
    *
    * @param s     the string representation of the Resolution.
-   * @param frame For errors and warnings reports.
+   * @param ac For errors and warnings reports.
    * @exception InvalidParamException The unit is incorrect
    */
   public void set(String s, ApplContext ac) throws InvalidParamException {
@@ -79,7 +79,7 @@
   }
 
   /**
-   * Returns the current value
+   * @return the current value
    */
   public String getUnit() {
     return unit;
@@ -89,7 +89,7 @@
    * Returns a string representation of the object.
    */
   public String toString() {
-      if (value.floatValue() != 0) {
+      if (value.floatValue() != 0.0) {
 	  return Util.displayFloat(value) + getUnit();
       } else {
 	  return Util.displayFloat(value);
@@ -104,7 +104,7 @@
   public boolean equals(Object value) {
     return (value instanceof CssResolution &&
 	    this.value.equals(((CssResolution) value).value) &&
-	     unit == ((CssResolution) value).unit);
+            unit.equals(((CssResolution) value).unit));
   }
 
   private Float value;



Index: CssDate.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssDate.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- CssDate.java	25 Mar 2008 18:30:11 -0000	1.4
+++ CssDate.java	5 Jan 2010 13:50:00 -0000	1.5
@@ -38,7 +38,7 @@
    * Set the value of this date.
    *
    * @param s     the string representation of the time.
-   * @param frame For errors and warnings reports.
+   * @param ac For errors and warnings reports.
    * @exception InvalidParamException The date format is incorrect
    */
   public void set(String s, ApplContext ac) throws InvalidParamException {
@@ -69,7 +69,8 @@
 	      throw new InvalidParamException("value", s, ac);
 		}
 
-		if (d.intValue() > 31 || d.intValue() < 0 || m.intValue() > 12 || m.intValue() < 0 || y.intValue() < 0) {
+		if (d.intValue() > 31 || d.intValue() < 0 || m.intValue() > 12 ||
+           m.intValue() < 0 || y.intValue() < 0) {
 			throw new InvalidParamException("value", s, ac);
 		}
 	}

Index: CssFrequency.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssFrequency.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssFrequency.java	25 Mar 2008 18:30:11 -0000	1.6
+++ CssFrequency.java	5 Jan 2010 13:50:00 -0000	1.7
@@ -54,7 +54,7 @@
    * Set the value of this frequency.
    *
    * @param s     the string representation of the frequency.
-   * @param frame For errors and warnings reports.
+   * @param ac For errors and warnings reports.
    * @exception InvalidParamException The unit is incorrect
    */
   public void set(String s, ApplContext ac) throws InvalidParamException {
@@ -64,10 +64,10 @@
     float v;
     if (s.charAt(length-3) == 'k') {
       unit = s.substring(length-3, length);
-      v = new Float(s.substring(0, length-3)).floatValue();
+      v = Float.parseFloat(s.substring(0, length - 3));
     } else {
       unit = s.substring(length-2, length);
-      v = new Float(s.substring(0, length-2)).floatValue();
+      v = Float.parseFloat(s.substring(0, length - 2));
     }
     int hash = unit.hashCode();
 

Index: CssLength.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssLength.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssLength.java	25 Mar 2008 18:30:11 -0000	1.6
+++ CssLength.java	5 Jan 2010 13:50:00 -0000	1.7
@@ -12,156 +12,155 @@
 import org.w3c.css.util.Util;
 
 /**
- *   <H3>
- *     &nbsp;&nbsp; Length units
- *   </H3>
- *   <P>
- *   The format of a length value is an optional sign character ('+' or '-', with
- *   '+' being the default) immediately followed by a number (with or without
- *   a decimal point) immediately followed by a unit identifier (a two-letter
- *   abbreviation). After a '0' number, the unit identifier is optional.
- *   <P>
- *   Some properties allow negative length units, but this may complicate the
- *   formatting model and there may be implementation-specific limits. If a negative
- *   length value cannot be supported, it should be clipped to the nearest value
- *   that can be supported.
- *   <P>
- *   There are two types of length units: relative and absolute. Relative units
- *   specify a length relative to another length property. Style sheets that use
- *   relative units will more easily scale from one medium to another (e.g. from
- *   a computer display to a laser printer). Percentage
- *   units (described below) and keyword values (e.g. 'x-large') offer similar
- *   advantages.
- *   <P>
- *   These relative units are supported:
- *   <PRE>
- *   H1 { margin: 0.5em }      /* ems, the height of the element's font * /
- *   H1 { margin: 1ex }        /* x-height, ~ the height of the letter 'x' * /
- *   P  { font-size: 12px }    /* pixels, relative to canvas * /
- *   P  { layout-grid: strict both 20 pt 15 pt; margin 1gd 3gd 1gd 2gd } /* grid units * /
- *  </PRE>
- *   <P>
- *   The relative units 'em' and 'ex' are relative to the font size of the element
- *   itself. The only exception to this rule in CSS1 is the 'font-size' property
- *   where 'em' and 'ex' values refer to the font size of the parent element.
- *   <P>
- *   The existence of a grid in an element makes it possible and very useful to express various
- *   measurements in that element in terms of grid units. Grid units are used very frequently
- *   in East Asian typography, especially for the left, right, top and bottom element margins.
- *   Therefore a new length unit is necessary: gd to enable the author to specify the various
- *   measurements in terms of the grid.
- *   <P>
- *   Pixel units, as used in the last rule, are relative to the resolution of
- *   the canvas, i.e. most often a computer display. If the pixel density of the
- *   output device is very different from that of a typical computer display,
- *   the UA should rescale pixel values. The suggested <EM>reference pixel</EM>
- *   is the visual angle of one pixel on a device with a pixel density of 90dpi
- *   and a distance from the reader of an arm's length. For a nominal arm's length
- *   of 28 inches, the visual angle is about 0.0227 degrees.
- *   <P>
- *   Child elements inherit the computed value, not the relative value:
- *   <PRE>
- *   BODY {
- *     font-size: 12pt;
- *     text-indent: 3em;  /* i.e. 36pt * /
- *   }
- *   H1 { font-size: 15pt }
+ * <H3>
+ * &nbsp;&nbsp; Length units
+ * </H3>
+ * <p/>
+ * The format of a length value is an optional sign character ('+' or '-', with
+ * '+' being the default) immediately followed by a number (with or without
+ * a decimal point) immediately followed by a unit identifier (a two-letter
+ * abbreviation). After a '0' number, the unit identifier is optional.
+ * <p/>
+ * Some properties allow negative length units, but this may complicate the
+ * formatting model and there may be implementation-specific limits. If a negative
+ * length value cannot be supported, it should be clipped to the nearest value
+ * that can be supported.
+ * <p/>
+ * There are two types of length units: relative and absolute. Relative units
+ * specify a length relative to another length property. Style sheets that use
+ * relative units will more easily scale from one medium to another (e.g. from
+ * a computer display to a laser printer). Percentage
+ * units (described below) and keyword values (e.g. 'x-large') offer similar
+ * advantages.
+ * <p/>
+ * These relative units are supported:
+ * <PRE>
+ * H1 { margin: 0.5em }      /* ems, the height of the element's font * /
+ * H1 { margin: 1ex }        /* x-height, ~ the height of the letter 'x' * /
+ * P  { font-size: 12px }    /* pixels, relative to canvas * /
+ * P  { layout-grid: strict both 20 pt 15 pt; margin 1gd 3gd 1gd 2gd } /* grid units * /
  * </PRE>
- *   <P>
- *   In the example above, the 'text-indent' value of 'H1' elements will be 36pt,
- *   not 45pt.
- *   <P>
- *   Absolute length units are only useful when the physical properties of the
- *   output medium are known. These absolute units are supported:
- *   <PRE>
- *   H1 { margin: 0.5in }      /* inches, 1in = 2.54cm * /
- *   H2 { line-height: 3cm }   /* centimeters * /
- *   H3 { word-spacing: 4mm }  /* millimeters * /
- *   H4 { font-size: 12pt }    /* points, 1pt = 1/72 in * /
- *   H4 { font-size: 1pc }     /* picas, 1pc = 12pt * /
+ * <p/>
+ * The relative units 'em' and 'ex' are relative to the font size of the element
+ * itself. The only exception to this rule in CSS1 is the 'font-size' property
+ * where 'em' and 'ex' values refer to the font size of the parent element.
+ * <p/>
+ * The existence of a grid in an element makes it possible and very useful to express various
+ * measurements in that element in terms of grid units. Grid units are used very frequently
+ * in East Asian typography, especially for the left, right, top and bottom element margins.
+ * Therefore a new length unit is necessary: gd to enable the author to specify the various
+ * measurements in terms of the grid.
+ * <p/>
+ * Pixel units, as used in the last rule, are relative to the resolution of
+ * the canvas, i.e. most often a computer display. If the pixel density of the
+ * output device is very different from that of a typical computer display,
+ * the UA should rescale pixel values. The suggested <EM>reference pixel</EM>
+ * is the visual angle of one pixel on a device with a pixel density of 90dpi
+ * and a distance from the reader of an arm's length. For a nominal arm's length
+ * of 28 inches, the visual angle is about 0.0227 degrees.
+ * <p/>
+ * Child elements inherit the computed value, not the relative value:
+ * <PRE>
+ * BODY {
+ * font-size: 12pt;
+ * text-indent: 3em;  /* i.e. 36pt * /
+ * }
+ * H1 { font-size: 15pt }
  * </PRE>
- *   <P>
- *   In cases where the specified length cannot be supported, UAs should try to
- *   approximate. For all CSS1 properties, further computations and inheritance
- *   should be based on the approximated value.
+ * <p/>
+ * In the example above, the 'text-indent' value of 'H1' elements will be 36pt,
+ * not 45pt.
+ * <p/>
+ * Absolute length units are only useful when the physical properties of the
+ * output medium are known. These absolute units are supported:
+ * <PRE>
+ * H1 { margin: 0.5in }      /* inches, 1in = 2.54cm * /
+ * H2 { line-height: 3cm }   /* centimeters * /
+ * H3 { word-spacing: 4mm }  /* millimeters * /
+ * H4 { font-size: 12pt }    /* points, 1pt = 1/72 in * /
+ * H4 { font-size: 1pc }     /* picas, 1pc = 12pt * /
+ * </PRE>
+ * <p/>
+ * In cases where the specified length cannot be supported, UAs should try to
+ * approximate. For all CSS1 properties, further computations and inheritance
+ * should be based on the approximated value.
  *
- * @see CssPercentage
  * @version $Revision$
+ * @see CssPercentage
  */
 public class CssLength extends CssValue {
 
     public static final int type = CssTypes.CSS_LENGTH;
-    
+
     public final int getType() {
-	return type;
+        return type;
     }
-    
+
     /**
      * Create a new CssLength
      */
     public CssLength() {
-	value = defaultValue;
+        value = defaultValue;
     }
 
     /**
      * Set the value of this length.
      *
-     * @param s     the string representation of the length.
-     * @param frame For errors and warnings reports.
-     * @exception InvalidParamException The unit is incorrect
+     * @param s the string representation of the length.
+     * @throws InvalidParamException The unit is incorrect
      */
     public void set(String s, ApplContext ac) throws InvalidParamException {
-	s = s.toLowerCase();
-	int length = s.length();
-	String unit = s.substring(length-2, length);
-	this.value = new Float(s.substring(0, length-2));
+        s = s.toLowerCase();
+        int length = s.length();
+        String unit = s.substring(length - 2, length);
+        this.value = new Float(s.substring(0, length - 2));
 
-	this.unit = 2; // there is no unit by default
+        this.unit = 2; // there is no unit by default
 
-	if (unit.equals("gd") && (cssversion.equals("css2"))) {
-	    throw new InvalidParamException("unit", unit, ac);
-	}
+        if (unit.equals("gd") && (cssversion.equals("css2"))) {
+            throw new InvalidParamException("unit", unit, ac);
+        }
 
-	if (value.floatValue() != 0) {
-	    int hash = unit.hashCode();
-	    int i = 0;
-	    while (i<units.length) {
-		if (hash == hash_units[i]) {
-		    this.unit = i;
-		    return;
-		}
-		i++;
-	    }
-	} else {
-	    return;
-	}
+        if (value.floatValue() != 0) {
+            int hash = unit.hashCode();
+            int i = 0;
+            while (i < units.length) {
+                if (hash == hash_units[i]) {
+                    this.unit = i;
+                    return;
+                }
+                i++;
+            }
+        } else {
+            return;
+        }
 
-	throw new InvalidParamException("unit", unit, ac);
+        throw new InvalidParamException("unit", unit, ac);
     }
 
     /**
      * Returns the current value
      */
     public Object get() {
-	return value;
+        return value;
     }
 
     /**
      * Returns the current value
      */
     public String getUnit() {
-	return units[unit];
+        return units[unit];
     }
 
     /**
      * Returns a string representation of the object.
      */
     public String toString() {
-	if (value.floatValue() != 0) {
-	    return Util.displayFloat(value) + getUnit();
-	} else {
-	    return Util.displayFloat(value);
-	}
+        if (value.floatValue() != 0) {
+            return Util.displayFloat(value) + getUnit();
+        } else {
+            return Util.displayFloat(value);
+        }
     }
 
     /**
@@ -170,22 +169,22 @@
      * @param value The other value.
      */
     public boolean equals(Object value) {
-	return (value instanceof CssLength &&
-		this.value.equals(((CssLength) value).value) &&
-		unit == ((CssLength) value).unit);
+        return (value instanceof CssLength &&
+                this.value.equals(((CssLength) value).value) &&
+                unit == ((CssLength) value).unit);
     }
 
     private Float value;
     private int unit;
-    private static String[] units = { "mm", "cm", "pt", "pc", "em", 
-				      "ex", "px", "in", "gd" };
+    private static String[] units = {"mm", "cm", "pt", "pc", "em",
+            "ex", "px", "in", "gd"};
     private static int[] hash_units;
     private static Float defaultValue = new Float(0);
 
     static {
-	hash_units = new int[units.length];
-	for (int i=0; i<units.length; i++)
-	    hash_units[i] = units[i].hashCode();
+        hash_units = new int[units.length];
+        for (int i = 0; i < units.length; i++)
+            hash_units[i] = units[i].hashCode();
     }
 }
 

Index: CssColorCSS2.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS2.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- CssColorCSS2.java	9 Mar 2009 17:17:48 -0000	1.13
+++ CssColorCSS2.java	5 Jan 2010 13:50:00 -0000	1.14
@@ -6,226 +6,231 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import java.util.HashMap;
-
 import org.w3c.css.util.ApplContext;
 import org.w3c.css.util.InvalidParamException;
-import org.w3c.css.util.Util;
+
+import java.util.HashMap;
 
 /**
- *   <H3>
- *     &nbsp;&nbsp; Color units
- *   </H3>
- *   <P>
- *   A color is a either a keyword or a numerical RGB specification.
- *   <P>
- *   The suggested list of keyword color names is: aqua, black, blue, fuchsia,
- *   gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white,
- *   and yellow. These 16 colors are taken from the Windows VGA palette, and their
- *   RGB values are not defined in this specification.
- *   <PRE>
- *   BODY {color: black; background: white }
- *   H1 { color: maroon }
- *   H2 { color: olive }
+ * <H3>
+ * &nbsp;&nbsp; Color units
+ * </H3>
+ * <p/>
+ * A color is a either a keyword or a numerical RGB specification.
+ * <p/>
+ * The suggested list of keyword color names is: aqua, black, blue, fuchsia,
+ * gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white,
+ * and yellow. These 16 colors are taken from the Windows VGA palette, and their
+ * RGB values are not defined in this specification.
+ * <PRE>
+ * BODY {color: black; background: white }
+ * H1 { color: maroon }
+ * H2 { color: olive }
  * </PRE>
- *   <P>
- *   The RGB color model is being used in numerical color specifications. These
- *   examples all specify the same color:
- *   <PRE>
- *   EM { color: #f00 }              / * #rgb * /
- *   EM { color: #ff0000 }           / * #rrggbb * /
- *   EM { color: rgb(255,0,0) }      / * integer range 0 - 255 * /
- *   EM { color: rgb(100%, 0%, 0%) } / * float range 0.0% - 100.0% * /
+ * <p/>
+ * The RGB color model is being used in numerical color specifications. These
+ * examples all specify the same color:
+ * <PRE>
+ * EM { color: #f00 }              / * #rgb * /
+ * EM { color: #ff0000 }           / * #rrggbb * /
+ * EM { color: rgb(255,0,0) }      / * integer range 0 - 255 * /
+ * EM { color: rgb(100%, 0%, 0%) } / * float range 0.0% - 100.0% * /
  * </PRE>
- *   <P>
- *   The format of an RGB value in hexadecimal notation is a '#' immediately followed
- *   by either three or six hexadecimal characters. The three-digit RGB notation
- *   (#rgb) is converted into six-digit form (#rrggbb) by replicating digits,
- *   not by adding zeros. For example, #fb0 expands to #ffbb00. This makes sure
- *   that white (#ffffff) can be specified with the short notation (#fff) and
- *   removes any dependencies on the color depth of the display.
- *   <P>
- *   The format of an RGB value in the functional notation is 'rgb(' followed
- *   by a comma-separated list of three numerical values (either three integer
- *   values in the range of 0-255, or three percentage values in the range of
- *   0.0% to 100.0%) followed by ')'. Whitespace characters are allowed around
- *   the numerical values.
- *   <P>
- *   Values outside the numerical ranges should be clipped. The three rules below
- *   are therefore equivalent:
- *   <PRE>
- *   EM { color: rgb(255,0,0) }       / * integer range 0 - 255 * /
- *   EM { color: rgb(300,0,0) }       / * clipped to 255 * /
- *   EM { color: rgb(110%, 0%, 0%) }  / * clipped to 100% * /
+ * <p/>
+ * The format of an RGB value in hexadecimal notation is a '#' immediately followed
+ * by either three or six hexadecimal characters. The three-digit RGB notation
+ * (#rgb) is converted into six-digit form (#rrggbb) by replicating digits,
+ * not by adding zeros. For example, #fb0 expands to #ffbb00. This makes sure
+ * that white (#ffffff) can be specified with the short notation (#fff) and
+ * removes any dependencies on the color depth of the display.
+ * <p/>
+ * The format of an RGB value in the functional notation is 'rgb(' followed
+ * by a comma-separated list of three numerical values (either three integer
+ * values in the range of 0-255, or three percentage values in the range of
+ * 0.0% to 100.0%) followed by ')'. Whitespace characters are allowed around
+ * the numerical values.
+ * <p/>
+ * Values outside the numerical ranges should be clipped. The three rules below
+ * are therefore equivalent:
+ * <PRE>
+ * EM { color: rgb(255,0,0) }       / * integer range 0 - 255 * /
+ * EM { color: rgb(300,0,0) }       / * clipped to 255 * /
+ * EM { color: rgb(110%, 0%, 0%) }  / * clipped to 100% * /
  * </PRE>
- *   <P>
- *   RGB colors are specified in the sRGB color space <A HREF="#ref9">[9]</A>.
- *   UAs may vary in the fidelity with which they represent these colors, but
- *   use of sRGB provides an unambiguous and objectively measurable definition
- *   of what the color should be, which can be related to international standards
- *   <A HREF="#ref10">[10]</A>.
- *   <P>
- *   UAs may limit their efforts in displaying colors to performing a gamma-correction
- *   on them. sRGB specifies a display gamma of 2.2 under specified viewing
- *   conditions. UAs adjust the colors given in CSS such that, in combination
- *   with an output device's "natural" display gamma, an effective display gamma
- *   of 2.2 is produced. <A HREF="#appendix-d">Appendix D</A> gives further details
- *   of this. Note that only colors specified in CSS are affected; e.g., images
- *   are expected to carry their own color information.
- *
- *
- *   <H2>
- *     <A NAME="appendix-d">Appendix D: Gamma correction</A>
- *   </H2>
- *   <P>
- *   (This appendix is informative, not normative)
- *   <P>
- *   See the <A href="http://www.w3.org/pub/WWW/TR/PNG-GammaAppendix">Gamma
- *   Tutorial</A> in the PNG specification <A href="#ref12">[12]</A> if you aren't
- *   already familiar with gamma issues.
- *   <P>
- *   In the computation, UAs displaying on a CRT may assume an ideal CRT and ignore
- *   any effects on apparent gamma caused by dithering. That means the minimal
- *   handling they need to do on current platforms is:
- *   <DL>
- *     <DT>
- *       PC using MS-Windows
- *     <DD>
- *       none
- *     <DT>
- *       Unix using X11
- *     <DD>
- *       none
- *     <DT>
- *       Mac using QuickDraw
- *     <DD>
- *       apply gamma 1.39 <A HREF="#ref13">[13]</A> (ColorSync-savvy applications
- *       may simply pass the sRGB ICC profile <A HREF="#ref14">[14]</A> to ColorSync
- *       to perform correct color correction)
- *     <DT>
- *       SGI using X
- *     <DD>
- *       apply the gamma value from <TT>/etc/config/system.glGammaVal</TT> (the default
- *       value being 1.70; applications running on Irix 6.2 or above may simply pass
- *       the sRGB ICC profile to the color management system)
- *     <DT>
- *       NeXT using NeXTStep
- *     <DD>
- *       apply gamma 2.22
- *   </DL>
- *   <P>
- *   "Applying gamma" means that each of the three R, G and B must be converted
- *   to R'=R<SUP>gamma</SUP>, G'=G<SUP>gamma</SUP>, G'=B<SUP>gamma</SUP>, before
- *   handing to the OS.
- *   <P>
- *   This may rapidly be done by building a 256-element lookup table once per
- *   browser invocation thus:
- *   <PRE>
- *   for i := 0 to 255 do
- *     raw := i / 255;
- *     corr := pow (raw, gamma);
- *     table[i] := trunc (0.5 + corr * 255.0)
- *   end
+ * <p/>
+ * RGB colors are specified in the sRGB color space <A HREF="#ref9">[9]</A>.
+ * UAs may vary in the fidelity with which they represent these colors, but
+ * use of sRGB provides an unambiguous and objectively measurable definition
+ * of what the color should be, which can be related to international standards
+ * <A HREF="#ref10">[10]</A>.
+ * <p/>
+ * UAs may limit their efforts in displaying colors to performing a gamma-correction
+ * on them. sRGB specifies a display gamma of 2.2 under specified viewing
+ * conditions. UAs adjust the colors given in CSS such that, in combination
+ * with an output device's "natural" display gamma, an effective display gamma
+ * of 2.2 is produced. <A HREF="#appendix-d">Appendix D</A> gives further details
+ * of this. Note that only colors specified in CSS are affected; e.g., images
+ * are expected to carry their own color information.
+ * <p/>
+ * <p/>
+ * <H2>
+ * <A NAME="appendix-d">Appendix D: Gamma correction</A>
+ * </H2>
+ * <p/>
+ * (This appendix is informative, not normative)
+ * <p/>
+ * See the <A href="http://www.w3.org/pub/WWW/TR/PNG-GammaAppendix">Gamma
+ * Tutorial</A> in the PNG specification <A href="#ref12">[12]</A> if you aren't
+ * already familiar with gamma issues.
+ * <p/>
+ * In the computation, UAs displaying on a CRT may assume an ideal CRT and ignore
+ * any effects on apparent gamma caused by dithering. That means the minimal
+ * handling they need to do on current platforms is:
+ * <DL>
+ * <DT>
+ * PC using MS-Windows
+ * <DD>
+ * none
+ * <DT>
+ * Unix using X11
+ * <DD>
+ * none
+ * <DT>
+ * Mac using QuickDraw
+ * <DD>
+ * apply gamma 1.39 <A HREF="#ref13">[13]</A> (ColorSync-savvy applications
+ * may simply pass the sRGB ICC profile <A HREF="#ref14">[14]</A> to ColorSync
+ * to perform correct color correction)
+ * <DT>
+ * SGI using X
+ * <DD>
+ * apply the gamma value from <TT>/etc/config/system.glGammaVal</TT> (the default
+ * value being 1.70; applications running on Irix 6.2 or above may simply pass
+ * the sRGB ICC profile to the color management system)
+ * <DT>
+ * NeXT using NeXTStep
+ * <DD>
+ * apply gamma 2.22
+ * </DL>
+ * <p/>
+ * "Applying gamma" means that each of the three R, G and B must be converted
+ * to R'=R<SUP>gamma</SUP>, G'=G<SUP>gamma</SUP>, G'=B<SUP>gamma</SUP>, before
+ * handing to the OS.
+ * <p/>
+ * This may rapidly be done by building a 256-element lookup table once per
+ * browser invocation thus:
+ * <PRE>
+ * for i := 0 to 255 do
+ * raw := i / 255;
+ * corr := pow (raw, gamma);
+ * table[i] := trunc (0.5 + corr * 255.0)
+ * end
  * </PRE>
- *   <P>
- *   which then avoids any need to do transcendental math per color attribute,
- *   far less per pixel.
-
+ * <p/>
+ * which then avoids any need to do transcendental math per color attribute,
+ * far less per pixel.
+ * <p/>
  * See also
- * <P>
+ * <p/>
  * <A NAME="ref9">[9]</A> M Anderson, R Motta, S Chandrasekar, M Stokes:
  * "<A HREF="http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm">Proposal
  * for a Standard Color Space for the Internet - sRGB</A>"
  * (http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm)
- *   <P>
- *  <A NAME="ref10">[10]</A> CIE Publication 15.2-1986,
- *  "<A HREF="http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html">Colorimetry,
- *  Second Edition</A>", ISBN 3-900-734-00-3
- *  (http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html)
- * <P>
+ * <p/>
+ * <A NAME="ref10">[10]</A> CIE Publication 15.2-1986,
+ * "<A HREF="http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html">Colorimetry,
+ * Second Edition</A>", ISBN 3-900-734-00-3
+ * (http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html)
+ * <p/>
  * <A NAME="ref12">[12]</A>
  * "<A href="http://www.w3.org/pub/WWW/TR/REC-png-multi.html">PNG (Portable
  * Network Graphics) Specification, Version 1.0 specification</A>"
  * (http://www.w3.org/pub/WWW/TR/REC-png-multi.html)
- * <P>
+ * <p/>
  * <A NAME="ref13">[13]</A> Charles A. Poynton:
  * "<A HREF="ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf">Gamma
  * correction on the Macintosh Platform</A>"
  * (ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf)
- * <P>
+ * <p/>
  * <A NAME="ref14">[14]</A> International Color Consortium:
  * "<A HREF="ftp://sgigate.sgi.com/pub/icc/ICC32.pdf">ICC Profile Format
- *  Specification, version 3.2</A>", 1995 (ftp://sgigate.sgi.com/pub/icc/ICC32.pdf)
+ * Specification, version 3.2</A>", 1995 (ftp://sgigate.sgi.com/pub/icc/ICC32.pdf)
  *
  * @version $Revision$
  */
 public class CssColorCSS2 extends CssColor {
 
-    static HashMap<String,Object> definedColorsCSS2;
+    static HashMap<String, Object> definedColorsCSS2;
 
     /**
      * Create a new CssColorCSS2.
      */
     public CssColorCSS2() {
-	//color = new CssIdent("");
+        //color = new CssIdent("");
     }
 
     /**
      * Create a new CssColorCSS2 with a color name.
      *
-     * @param s The name color.
-     * @exception InvalidParamException the color is incorrect
+     * @param ac The context
+     * @param s  The name color.
+     * @throws InvalidParamException the color is incorrect
      */
     public CssColorCSS2(ApplContext ac, String s) throws InvalidParamException {
-	//	setIdentColor(s.toLowerCase(), ac);
-	setIdentColor(s, ac);
+        //	setIdentColor(s.toLowerCase(), ac);
+        setIdentColor(s, ac);
     }
 
     /**
      * Parse an ident color.
+     *
+     * @param s  the color name as a <EM>String<EM>
+     * @param ac The context
+     * @throws org.w3c.css.util.InvalidParamException
+     *          when the color definition is invalid
      */
     private void setIdentColor(String s, ApplContext ac)
-	    throws InvalidParamException {
-	String lower_s = s.toLowerCase();
-	if (!computeIdentColor(definedColorsCSS2, lower_s)) {
-	    throw new InvalidParamException("value", s, "color", ac);
-	}
+            throws InvalidParamException {
+        String lower_s = s.toLowerCase();
+        if (!computeIdentColor(definedColorsCSS2, lower_s)) {
+            throw new InvalidParamException("value", s, "color", ac);
+        }
     }
 
     static {
-	definedColorsCSS2 = new HashMap<String,Object>();
-	definedColorsCSS2.put("black",
-			  new RGB(0, 0, 0));
-	definedColorsCSS2.put("silver",
-			  new RGB(192, 192, 192));
-	definedColorsCSS2.put("gray",
-			  new RGB(128, 128, 128));
-	definedColorsCSS2.put("white",
-			  new RGB(255, 255, 255));
-	definedColorsCSS2.put("maroon",
-			  new RGB(128, 0, 0));
-	definedColorsCSS2.put("red",
-			  new RGB(255, 0, 0));
-	definedColorsCSS2.put("purple",
-			  new RGB(128, 0, 128));
-	definedColorsCSS2.put("fuchsia",
-			  new RGB(255, 0, 255));
-	definedColorsCSS2.put("green",
-			  new RGB(0, 128, 0));
-	definedColorsCSS2.put("lime",
-			  new RGB(0, 255, 0));
-	definedColorsCSS2.put("olive",
-			  new RGB(128, 128, 0));
-	definedColorsCSS2.put("yellow",
-			  new RGB(255, 255, 0));
-	definedColorsCSS2.put("navy",
-			  new RGB(0, 0, 128));
-	definedColorsCSS2.put("blue",
-			  new RGB(0, 0, 255));
-	definedColorsCSS2.put("teal",
-			  new RGB(0, 128, 128));
-	definedColorsCSS2.put("aqua",
-			  new RGB(0, 255, 255));
+        definedColorsCSS2 = new HashMap<String, Object>();
+        definedColorsCSS2.put("black",
+                new RGB(0, 0, 0));
+        definedColorsCSS2.put("silver",
+                new RGB(192, 192, 192));
+        definedColorsCSS2.put("gray",
+                new RGB(128, 128, 128));
+        definedColorsCSS2.put("white",
+                new RGB(255, 255, 255));
+        definedColorsCSS2.put("maroon",
+                new RGB(128, 0, 0));
+        definedColorsCSS2.put("red",
+                new RGB(255, 0, 0));
+        definedColorsCSS2.put("purple",
+                new RGB(128, 0, 128));
+        definedColorsCSS2.put("fuchsia",
+                new RGB(255, 0, 255));
+        definedColorsCSS2.put("green",
+                new RGB(0, 128, 0));
+        definedColorsCSS2.put("lime",
+                new RGB(0, 255, 0));
+        definedColorsCSS2.put("olive",
+                new RGB(128, 128, 0));
+        definedColorsCSS2.put("yellow",
+                new RGB(255, 255, 0));
+        definedColorsCSS2.put("navy",
+                new RGB(0, 0, 128));
+        definedColorsCSS2.put("blue",
+                new RGB(0, 0, 255));
+        definedColorsCSS2.put("teal",
+                new RGB(0, 128, 128));
+        definedColorsCSS2.put("aqua",
+                new RGB(0, 255, 255));
         definedColorsCSS2.put("activeborder", "ActiveBorder");
         definedColorsCSS2.put("activecaption", "ActiveCaption");
         definedColorsCSS2.put("appworkspace", "AppWorkspace");

Index: CssExpression.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssExpression.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- CssExpression.java	17 Dec 2009 16:09:58 -0000	1.8
+++ CssExpression.java	5 Jan 2010 13:50:00 -0000	1.9
@@ -6,7 +6,7 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import java.util.Vector;
+import java.util.ArrayList;
 
 /**
  * This class is used by the CSS1 parser to generate all expressions.
@@ -15,7 +15,7 @@
  */
 public class CssExpression implements CssOperator {
 
-    private Vector<ValueOperator> items = new Vector<ValueOperator>();
+    private ArrayList<ValueOperator> items = new ArrayList<ValueOperator>();
     private int count = 0;
     private int index = 0;
 
@@ -26,8 +26,8 @@
      * @param value The value to append
      */
     public void addValue(CssValue value) {
-	items.addElement(new ValueOperator(value));
-	count++;
+        items.add(new ValueOperator(value));
+        count++;
     }
 
     /**
@@ -38,7 +38,7 @@
      * @see CssOperator
      */
     public void setOperator(char operator) {
-	(items.elementAt(count-1)).operator = operator;
+        (items.get(count - 1)).operator = operator;
     }
 
     /**
@@ -49,7 +49,7 @@
      * @see CssOperator
      */
     public void setCurrentOperator(char operator) {
-	(items.elementAt(index)).operator = operator;
+        (items.get(index)).operator = operator;
     }
 
     /**
@@ -57,11 +57,11 @@
      * don't change the position in the expression
      */
     public CssValue getValue() {
-	if (index == count) {
-	    return null;
-	} else {
-	    return (items.elementAt(index)).value;
-	}
+        if (index == count) {
+            return null;
+        } else {
+            return (items.get(index)).value;
+        }
     }
 
     /**
@@ -69,38 +69,39 @@
      * don't change the position in the expression
      */
     public CssValue getNextValue() {
-	if (index+1 >= count) {
-	    return null;
-	} else {
-	    return (items.elementAt(index+1)).value;
-	}
+        if (index + 1 >= count) {
+            return null;
+        } else {
+            return (items.get(index + 1)).value;
+        }
     }
 
     /* Modified by Sijtsche de Jong */
+
     /**
      * Returns the operator <strong>after</strong> the current value
      * don't change the position in the expression
      */
     public char getOperator() {
-	if (index == count) {
-	    return SPACE;
-	} else {
-	    return (items.elementAt(index)).operator;
-	}
+        if (index == count) {
+            return SPACE;
+        } else {
+            return (items.get(index)).operator;
+        }
     }
 
     /**
      * Returns the number of elements
      */
     public int getCount() {
-	return count;
+        return count;
     }
 
     /**
      * Returns the number of remaining elements
      */
     public int getRemainingCount() {
-	return count-index;
+        return count - index;
     }
 
     /**
@@ -109,95 +110,94 @@
      * @param value The value to insert
      */
     public void insert(CssValue value) {
-	items.insertElementAt(new ValueOperator(value), index);
-	count++;
+        items.add(index, new ValueOperator(value));
+        count++;
     }
 
     /**
      * Removes the current value and his operator
      */
     public void remove() {
-	if (index != count) {
-	    items.removeElementAt(index);
-	}
-	count--;
+        if (index != count) {
+            items.remove(index);
+        }
+        count--;
     }
 
     /**
-     * Returns true if there is no other element
+     * @return true if there is no other element
      */
     public boolean end() {
-	return index == count;
+        return (index == count);
     }
 
     /**
      * Change the position to the beginning
      */
     public void starts() {
-	index = 0;
+        index = 0;
     }
 
     /**
      * Change the position to the end
      */
     public void ends() {
-	index = count;
+        index = count;
     }
 
     /**
      * Change the position to the next
      */
     public void next() {
-	if (index < count) {
-	    index++;
-	}
+        if (index < count) {
+            index++;
+        }
     }
 
     /**
      * Change the position to the precedent
      */
     public void precedent() {
-	if (index > 0)
-	    index--;
+        if (index > 0)
+            index--;
     }
 
     /**
      * Returns a string representation of the object from the current position.
      */
     public String toString() {
-	StringBuilder sb = new StringBuilder();
-	for (int i = index; i < count; i++) {
-	    ValueOperator vo = items.elementAt(i);
-	    sb.append(vo.value.toString()).append(vo.operator);
-	}
-	// remove the last one
-	if (sb.length() > 0) {
-	    return sb.deleteCharAt(sb.length()-1).toString();
-	} else {
-	    return "**invalid state**";
-	}
+        StringBuilder sb = new StringBuilder();
+        for (int i = index; i < count; i++) {
+            ValueOperator vo = items.get(i);
+            sb.append(vo.value.toString()).append(vo.operator);
+        }
+        // remove the last one
+        if (sb.length() > 0) {
+            return sb.deleteCharAt(sb.length() - 1).toString();
+        } else {
+            return "**invalid state**";
+        }
     }
 
     /**
-     * Returns a string representation of the object before the current 
+     * Returns a string representation of the object before the current
      * position.
      */
     public String toStringFromStart() {
-	StringBuilder sb = new StringBuilder();
-	for (int i = 0; i < index; i++) {
-	    ValueOperator vo = items.elementAt(i);
-	    sb.append(vo.value.toString()).append(vo.operator);
-	}
-
-	return sb.toString();
+        StringBuilder sb = new StringBuilder();
+        for ( ValueOperator anItem : items) {
+            sb.append(anItem.value.toString()).append(anItem.operator);
+        }
+        return sb.toString();
     }
 
-    class ValueOperator {
-	ValueOperator(CssValue value) {
-	    this.value = value;
-	    this.operator = SPACE;
-	}
-	CssValue value;
-	char operator;
+    private class ValueOperator {
+        CssValue value;
+        char operator;
+
+        ValueOperator(CssValue value) {
+            this.value = value;
+            this.operator = SPACE;
+        }
     }
 }



Index: CssString.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssString.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssString.java	25 Mar 2008 18:30:11 -0000	1.6
+++ CssString.java	5 Jan 2010 13:50:01 -0000	1.7
@@ -18,11 +18,11 @@
 public class CssString extends CssValue {
 
     public static final int type = CssTypes.CSS_STRING;
-    
+
     String value;
 
     public final int getType() {
-	return type;
+        return type;
     }
 
     /**
@@ -33,17 +33,19 @@
 
     /**
      * Create a new CssString
+     *
+     * @param s the <EM>String</EM>
      */
     public CssString(String s) {
-	value = s;
+        value = s;
     }
 
     /**
      * Set the value of this string.
      *
-     * @param s     the string representation of the string.
-     * @param frame For errors and warnings reports.
-     * @exception InvalidParamException The unit is incorrect
+     * @param s  the string representation of the string.
+     * @param ac For errors and warnings reports.
+     * @throws InvalidParamException The unit is incorrect
      */
     public void set(String s, ApplContext ac) throws InvalidParamException {
 //	if (s.indexOf('\'') == -1 &&
@@ -51,28 +53,28 @@
 //	    throw new InvalidParamException("string", s, ac);
 //      }
 // tokenizer is taking care of the validity of the value
-	value = s;
+        value = s;
     }
 
     /**
      * Returns the string
      */
     public Object get() {
-	return value;
+        return value;
     }
 
     /**
      * Returns a string representation of the object.
      */
     public String toString() {
-	return value;
+        return value;
     }
 
     /**
      * Get the hash code of the internal string.
      */
     public int hashCode() {
-	return value.hashCode();
+        return value.hashCode();
     }
 
     /**
@@ -81,8 +83,8 @@
      * @param value The other value.
      */
     public boolean equals(Object value) {
-	return (value instanceof CssString &&
-		this.value.equals(((CssString) value).value));
+        return (value instanceof CssString &&
+                this.value.equals(((CssString) value).value));
     }
 
 }

--- NEW FILE: CssValueList.java ---
// $Id: CssValueList.java,v 1.1 2010/01/05 13:50:01 ylafon Exp $
// @author Yves Lafon <ylafon@w3.org>
//
// (c) COPYRIGHT MIT, ERCIM and Keio University, 2010.
// Please first read the full copyright statement in file COPYRIGHT.html

package org.w3c.css.values;

import org.w3c.css.util.ApplContext;
import org.w3c.css.util.InvalidParamException;

import java.util.ArrayList;

/**
 * A space separated value list.
 *
 */
public class CssValueList extends CssValue {

    public static final int type = CssTypes.CSS_VALUE_LIST;

    public ArrayList<CssValue> value;

    public final int getType() {
        return type;
    }

    /**
     * Create a new CssValueList
     */
    public CssValueList() {
        value = new ArrayList<CssValue>();
    }

    /**
     * Create a new CssValueList
     *
     * @param val the <EM>ArrayList</EM> of CssValue
     */
    public CssValueList(ArrayList<CssValue> val) {
        value = val;
    }

    /**
     * Set the value of this string.
     *
     * @param s the ArrayList of CSS values
     * @param ac  For errors and warnings reports.
     * @throws org.w3c.css.util.InvalidParamException
     *          The unit is incorrect
     */
    public void set(String s, ApplContext ac)
            throws InvalidParamException {
        throw new InvalidParamException("invalid-class", s, ac);
    }

    public void add(CssValue val) {
        value.add(val);
    }

    /**
     * Returns the value
     */
    public Object get() {
        return value;
    }

    /**
     * Returns a string representation of the object.
     */
    public String toString() {
        StringBuilder sb = new StringBuilder();
        for (CssValue aCssValue: value) {
            sb.append(aCssValue.toString()).append(" ");
        }
        sb.setLength(sb.length()-1);
        return sb.toString();
    }

    /**
     * Get the hash code of the internal string.
     */
    public int hashCode() {
        return value.hashCode();
    }

    /**
     * Compares two values for equality.
     *
     * @param value The other value.
     */
    public boolean equals(Object value) {
        return (value instanceof CssValueList &&
                this.value.equals(((CssValueList) value).value));
    }

}
Index: CssNumber.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssNumber.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- CssNumber.java	25 Mar 2008 18:30:11 -0000	1.7
+++ CssNumber.java	5 Jan 2010 13:50:00 -0000	1.8
@@ -17,9 +17,9 @@
 public class CssNumber extends CssValue implements CssValueFloat {
 
     public static final int type = CssTypes.CSS_NUMBER;
-    
+
     public final int getType() {
-	return type;
+        return type;
     }
 
     ApplContext ac;
@@ -36,150 +36,149 @@
      * Create a new CssNumber
      */
     public CssNumber(ApplContext ac, float value) {
-	this.ac = ac;
-	this.value = new Float(value);
+        this.ac = ac;
+        this.value = new Float(value);
     }
 
     public CssNumber(float value) {
-	this.value = new Float(value);
+        this.value = new Float(value);
     }
 
     /**
      * Set the value of this frequency.
      *
-     * @param s     the string representation of the frequency.
-     * @param frame For errors and warnings reports.
+     * @param s  the string representation of the frequency.
+     * @param ac For errors and warnings reports.
      */
     public void set(String s, ApplContext ac) {
-	try {
-	    new Integer(s);
-	    isInt = true;
-	}
-	catch(NumberFormatException e) {
-	    isInt = false;
-	}
-	finally {
-	    value = new Float(s);
-	}
-	this.ac = ac;
+        try {
+            new Integer(s);
+            isInt = true;
+        }
+        catch (NumberFormatException e) {
+            isInt = false;
+        }
+        finally {
+            value = new Float(s);
+        }
+        this.ac = ac;
     }
 
     /**
      * Returns the value
      */
     public Object get() {
-	if(isInt) {
-	    return new Integer(value.intValue());
-	}
-	return value;
+        if (isInt) {
+            return new Integer(value.intValue());
+        }
+        return value;
     }
 
     /**
      * Return the float value
      */
     public float getValue() {
-	return value.floatValue();
+        return value.floatValue();
     }
 
     public int getInt() throws InvalidParamException {
-	if(isInt) {
-	    return value.intValue();
-	}
-	else {
-	    throw new InvalidParamException("invalid-color", ac);
-	}
+        if (isInt) {
+            return value.intValue();
+        } else {
+            throw new InvalidParamException("invalid-color", ac);
+        }
     }
 
     public boolean isInteger() {
-	return isInt;
+        return isInt;
     }
 
     /**
      * Returns a length.
      * Only zero can be a length.
      *
-     * @exception InvalidParamException The value is not zero
+     * @throws InvalidParamException The value is not zero
      */
     public CssLength getLength() throws InvalidParamException {
-	float num = value.floatValue();
-	if (num == 0) {
-	    return new CssLength();
-	} else {
-	    throw new InvalidParamException("zero", "length", ac);
-	}
+        float num = value.floatValue();
+        if (num == 0) {
+            return new CssLength();
+        } else {
+            throw new InvalidParamException("zero", "length", ac);
+        }
     }
 
     /**
      * Returns a percentage.
      * Only zero can be a length.
      *
-     * @exception InvalidParamException The value is not zero
+     * @throws InvalidParamException The value is not zero
      */
     public CssPercentage getPercentage() throws InvalidParamException {
-	float num = value.floatValue();
-	if (num == 0)
-	    return new CssPercentage();
-	else {
-	    throw new InvalidParamException("zero",
-					    value.toString(),
-					    "percentage", ac);
-	}
+        float num = value.floatValue();
+        if (num == 0)
+            return new CssPercentage();
+        else {
+            throw new InvalidParamException("zero",
+                    value.toString(),
+                    "percentage", ac);
+        }
     }
 
     /**
      * Returns a time.
      * Only zero can be a length.
      *
-     * @exception InvalidParamException The value is not zero
+     * @throws InvalidParamException The value is not zero
      */
     public CssTime getTime() throws InvalidParamException {
-	float num = value.floatValue();
-	if (num == 0)
-	    return new CssTime();
-	else
-	    throw new InvalidParamException("zero", value.toString(),
-					    "time", ac);
+        float num = value.floatValue();
+        if (num == 0)
+            return new CssTime();
+        else
+            throw new InvalidParamException("zero", value.toString(),
+                    "time", ac);
     }
 
     /**
      * Returns a angle.
      * Only zero can be a length.
      *
-     * @exception InvalidParamException The value is not zero
+     * @throws InvalidParamException The value is not zero
      */
     public CssAngle getAngle() throws InvalidParamException {
-	float num = value.floatValue();
-	if (num == 0)
-	    return new CssAngle();
-	else
-	    throw new InvalidParamException("zero", value.toString(),
-					    "angle", ac);
+        float num = value.floatValue();
+        if (num == 0)
+            return new CssAngle();
+        else
+            throw new InvalidParamException("zero", value.toString(),
+                    "angle", ac);
     }
 
     /**
      * Returns a frequency.
      * Only zero can be a length.
      *
-     * @exception InvalidParamException The value is not zero
+     * @throws InvalidParamException The value is not zero
      */
     public CssFrequency getFrequency() throws InvalidParamException {
-	float num = value.floatValue();
-	if (num == 0) {
-	    return new CssFrequency();
-	} else {
-	    throw new InvalidParamException("zero",
-					    value.toString(), "frequency", ac);
-	}
+        float num = value.floatValue();
+        if (num == 0) {
+            return new CssFrequency();
+        } else {
+            throw new InvalidParamException("zero",
+                    value.toString(), "frequency", ac);
+        }
     }
 
     /**
      * Returns a string representation of the object.
      */
     public String toString() {
-	if(isInt) {
-	    return value.intValue() + "";
-	}
-	return value.toString();
+        if (isInt) {
+            return value.intValue() + "";
+        }
+        return value.toString();
     }
 
     /**
@@ -188,8 +187,8 @@
      * @param value The other value.
      */
     public boolean equals(Object value) {
-	return (value instanceof CssNumber &&
-		this.value.equals(((CssNumber) value).value));
+        return (value instanceof CssNumber &&
+                this.value.equals(((CssNumber) value).value));
     }
 
 }

Index: CssTypes.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssTypes.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- CssTypes.java	6 Mar 2009 11:02:46 -0000	1.2
+++ CssTypes.java	5 Jan 2010 13:50:01 -0000	1.3
@@ -25,4 +25,7 @@
     public static final int CSS_FUNCTION      = 12;
     public static final int CSS_UNICODE_RANGE = 13;
 
+    // not generated by the parser
+    public static final int CSS_VALUE_LIST    = 20;
+
 }



Index: CssUnicodeRange.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssUnicodeRange.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssUnicodeRange.java	25 Mar 2008 18:30:12 -0000	1.5
+++ CssUnicodeRange.java	5 Jan 2010 13:50:01 -0000	1.6
@@ -39,7 +39,7 @@
      * Set the value of this frequency.
      *
      * @param s     the string representation of the frequency.
-     * @param frame For errors and warnings reports.
+     * @param ac For errors and warnings reports.
      */
     public void set(String s, ApplContext ac) {
 	value = s;
@@ -65,8 +65,7 @@
      * @param value The other value.
      */
     public boolean equals(Object value) {
-	return ((value instanceof CssUnicodeRange)
-		&& (value != null)
+	return ((value != null) && (value instanceof CssUnicodeRange)
 		&& this.value.equals(((CssUnicodeRange) value).value));
     }
 

Index: CssAngle.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssAngle.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- CssAngle.java	25 Mar 2008 18:30:11 -0000	1.7
+++ CssAngle.java	5 Jan 2010 13:50:00 -0000	1.8
@@ -12,32 +12,33 @@
 
 /**
  * <H3>Angle</H3>
-
+ * <p/>
  * <P>Angle units are used with aural cascading style sheets.
- *
+ * <p/>
  * <P>These are the legal angle units:
- *
+ * <p/>
  * <UL>
  * <LI>deg: degrees
  * <LI>grad: gradians
  * <LI>rad: radians
  * </UL>
- *
+ * <p/>
  * <p>Values in these units may be negative. They should be normalized to the
  * range 0-360deg by the UA. For example, -10deg and 350deg are equivalent.
  *
- * @version $Revision$ */
+ * @version $Revision$
+ */
 public class CssAngle extends CssValue implements CssValueFloat {
 
     public static final int type = CssTypes.CSS_ANGLE;
-    
+
     public final int getType() {
-	return type;
+        return type;
     }
 
     Float value;
     int unit;
-    static String[] units = { "deg", "grad", "rad" };
+    static String[] units = {"deg", "grad", "rad"};
     static int[] hash_units;
     static Float defaultValue = new Float(0);
 
@@ -45,87 +46,87 @@
      * Create a new CssAngle.
      */
     public CssAngle() {
-	this(defaultValue);
+        this(defaultValue);
     }
 
     /**
      * Create a new CssAngle
      */
     public CssAngle(float v) {
-	this(new Float(v));
+        this(new Float(v));
     }
 
     /**
      * Create a new CssAngle
      */
     public CssAngle(Float angle) {
-	value = angle;
+        value = angle;
     }
 
     /**
      * Set the value of this angle.
      *
-     * @param s The string representation of the angle
-     * @param frame For errors and warnings reports
-     * @exception InvalidParamException The unit is incorrect
+     * @param s  The string representation of the angle
+     * @param ac For errors and warnings reports
+     * @throws InvalidParamException The unit is incorrect
      */
     public void set(String s, ApplContext ac) throws InvalidParamException {
-	s = s.toLowerCase();
-	int length = s.length();
-	String unit;
-	//float v;
-	if (s.indexOf("grad") == -1) {
-	    unit = s.substring(length-3, length);
-	    value = new Float(s.substring(0, length-3));
-	} else {
-	    unit = "grad";
-	    value = new Float(s.substring(0, length-4));
-	}
-	int hash = unit.hashCode();
+        s = s.toLowerCase();
+        int length = s.length();
+        String unit;
+        //float v;
+        if (s.indexOf("grad") == -1) {
+            unit = s.substring(length - 3, length);
+            value = new Float(s.substring(0, length - 3));
+        } else {
+            unit = "grad";
+            value = new Float(s.substring(0, length - 4));
+        }
+        int hash = unit.hashCode();
 
 
-	int i = 0;
-	while (i<units.length) {
-	    if (hash == hash_units[i]) {
-		this.unit = i;
-		break;
-	    }
-	    i++;
-	}
+        int i = 0;
+        while (i < units.length) {
+            if (hash == hash_units[i]) {
+                this.unit = i;
+                break;
+            }
+            i++;
+        }
 
-	if (i > 2) {
-	    throw new InvalidParamException("unit", unit, ac);
-	}
+        if (i > 2) {
+            throw new InvalidParamException("unit", unit, ac);
+        }
 
-	this.unit = i; // there is no unit by default
+        this.unit = i; // there is no unit by default
 
-	/* clipping with degree */
-	/*
-	  while (v < 0) {
-	  v += 360;
-	  }
-	  while (v > 360) {
-	  v -= 360;
-	  }
-	*/
+        /* clipping with degree */
+        /*
+        while (v < 0) {
+        v += 360;
+        }
+        while (v > 360) {
+        v -= 360;
+        }
+      */
     }
 
     /**
      * Returns the current value
      */
     public Object get() {
-	return value;
+        return value;
     }
 
     public float getValue() {
-	return value.floatValue();
+        return value.floatValue();
     }
 
     /**
      * Returns the current value
      */
     public String getUnit() {
-	return units[unit];
+        return units[unit];
     }
 
     /**
@@ -133,11 +134,11 @@
      */
     public String toString() {
 
-	if (value.floatValue() != 0) {
-	    return Util.displayFloat(value) + getUnit();
-	} else {
-	    return Util.displayFloat(value);
-	}
+        if (value.floatValue() != 0) {
+            return Util.displayFloat(value) + getUnit();
+        } else {
+            return Util.displayFloat(value);
+        }
     }
 
     /**
@@ -146,39 +147,39 @@
      * @param value The other value.
      */
     public boolean equals(Object value) {
-	return (value instanceof CssAngle &&
-		this.value.equals(((CssAngle) value).value) &&
-		unit == ((CssAngle) value).unit);
+        return (value instanceof CssAngle &&
+                this.value.equals(((CssAngle) value).value) &&
+                unit == ((CssAngle) value).unit);
     }
 
 
     private float normalize(float degree) {
-	while (degree < 0) {
-	    degree += 360;
-	}
-	while (degree > 360) {
-	    degree -= 360;
-	}
-	return degree;
+        while (degree < 0) {
+            degree += 360;
+        }
+        while (degree > 360) {
+            degree -= 360;
+        }
+        return degree;
     }
 
     //@@FIXME I should return the remainder for all ...
 
     public float getDegree() {
-	float angle = value.floatValue();
-	switch (unit) {
-	case 0:
-	    // angle % 360
-	    return normalize(angle);
-	case 1:
-	    return normalize(angle * (9.f / 10.f));
-	case 2:
-	    return normalize(angle * (180.f / ((float) Math.PI)));
-	default:
-	    System.err.println("[ERROR] in org.w3c.css.values.CssAngle");
-	    System.err.println("[ERROR] Please report (" + unit + ")");
-	    return (float) 0;
-	}
+        float angle = value.floatValue();
+        switch (unit) {
+            case 0:
+                // angle % 360
+                return normalize(angle);
+            case 1:
+                return normalize(angle * (9.f / 10.f));
+            case 2:
+                return normalize(angle * (180.f / ((float) Math.PI)));
+            default:
+                System.err.println("[ERROR] in org.w3c.css.values.CssAngle");
+                System.err.println("[ERROR] Please report (" + unit + ")");
+                return (float) 0;
+        }
     }
 /*
  // These functions are not used, don't normalize angles, and are false
@@ -216,22 +217,24 @@
 	}
     }
 */
+
     public boolean isDegree() {
-	return unit == 0;
+        return unit == 0;
     }
 
     public boolean isGradian() {
-	return unit == 1;
+        return unit == 1;
     }
 
     public boolean isRadian() {
-	return unit == 2;
+        return unit == 2;
     }
 
     static {
-	hash_units = new int[units.length];
-	for (int i=0; i<units.length; i++)
-	    hash_units[i] = units[i].hashCode();
+        hash_units = new int[units.length];
+        for (int i = 0; i < units.length; i++) {
+            hash_units[i] = units[i].hashCode();
+        }
     }
 }
 



Index: CssColorCSS1.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS1.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- CssColorCSS1.java	6 Mar 2009 14:26:59 -0000	1.13
+++ CssColorCSS1.java	5 Jan 2010 13:50:00 -0000	1.14
@@ -6,11 +6,10 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import java.util.HashMap;
-
 import org.w3c.css.util.ApplContext;
 import org.w3c.css.util.InvalidParamException;
-import org.w3c.css.util.Util;
+
+import java.util.HashMap;
 
 /**
  *   <H3>

Index: CssURL.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssURL.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssURL.java	25 Mar 2008 18:30:11 -0000	1.6
+++ CssURL.java	5 Jan 2010 13:50:01 -0000	1.7
@@ -6,44 +6,45 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import java.net.MalformedURLException;
-import java.net.URL;
-
 import org.w3c.css.util.ApplContext;
 import org.w3c.css.util.HTTPURL;
 import org.w3c.css.util.InvalidParamException;
 
+import java.net.MalformedURLException;
+import java.net.URL;
+
 /**
- *   <H3>
- *     &nbsp;&nbsp; URL
- *   </H3>
- *   <P>
- *   A Uniform Resource Locator (URL) is identified with a functional notation:
- *   <PRE>
- *   BODY { background: url(http://www.bg.com/pinkish.gif) }
- *   </PRE>
- *   <P>
- *   The format of a URL value is 'url(' followed by optional white space followed
- *   by an optional single quote (') or double quote (") character followed by
- *   the URL itself (as defined in <A HREF="#ref11">[11]</A>) followed by an optional
- *   single quote (') or double quote (") character followed by optional whitespace
- *   followed by ')'. Quote characters that are not part of the URL itself must
- *   be balanced.
- *   <P>
- *   Parentheses, commas, whitespace characters, single quotes (') and double
- *   quotes (") appearing in a URL must be escaped with a backslash: '\(', '\)',
- *   '\,'.
- *   <P>
- *   Partial URLs are interpreted relative to the source of the style sheet, not
- *   relative to the document:
- *   <PRE>
- *   BODY { background: url(yellow) }
- *   </PRE>
- *   See also
- *  <P>
- *  <A NAME="ref11">[11]</A> T Berners-Lee, L Masinter, M McCahill: "Uniform
- *  Resource Locators (URL)", <A href="ftp://ds.internic.net/rfc/rfc1738.txt">RFC
- *  1738</A>, CERN, Xerox Corporation, University of Minnesota, December 1994
+ * <H3>
+ * &nbsp;&nbsp; URL
+ * </H3>
+ * <p/>
+ * A Uniform Resource Locator (URL) is identified with a functional notation:
+ * <PRE>
+ * BODY { background: url(http://www.bg.com/pinkish.gif) }
+ * </PRE>
+ * <p/>
+ * The format of a URL value is 'url(' followed by optional white space followed
+ * by an optional single quote (') or double quote (") character followed by
+ * the URL itself (as defined in <A HREF="#ref11">[11]</A>) followed by an optional
+ * single quote (') or double quote (") character followed by optional whitespace
+ * followed by ')'. Quote characters that are not part of the URL itself must
+ * be balanced.
+ * <p/>
+ * Parentheses, commas, whitespace characters, single quotes (') and double
+ * quotes (") appearing in a URL must be escaped with a backslash: '\(', '\)',
+ * '\,'.
+ * <p/>
+ * Partial URLs are interpreted relative to the source of the style sheet, not
+ * relative to the document:
+ * <PRE>
+ * BODY { background: url(yellow) }
+ * </PRE>
+ * See also
+ * <p/>
+ * <A NAME="ref11">[11]</A> T Berners-Lee, L Masinter, M McCahill: "Uniform
+ * Resource Locators (URL)", <A href="ftp://ds.internic.net/rfc/rfc1738.txt">RFC
+ * 1738</A>, CERN, Xerox Corporation, University of Minnesota, December 1994
+ *
  * @version $Revision$
  */
 public class CssURL extends CssValue {
@@ -51,7 +52,7 @@
     public static final int type = CssTypes.CSS_URL;
 
     public final int getType() {
-	return type;
+        return type;
     }
 
     String value;
@@ -62,75 +63,78 @@
     /**
      * Set the value of this URL.
      *
-     * @param s     the string representation of the URL.
-     * @param frame For errors and warnings reports.
-     * @exception InvalidParamException The unit is incorrect
+     * @param s  the string representation of the URL.
+     * @param ac For errors and warnings reports.
+     * @throws InvalidParamException The unit is incorrect
      * @deprecated
      */
     public void set(String s, ApplContext ac)
-	    throws InvalidParamException {
-	throw new InvalidParamException("Deprecated method invocation", ac);
+            throws InvalidParamException {
+        throw new InvalidParamException("Deprecated method invocation", ac);
     }
 
     /**
      * Set the value of this URL.
      *
-     * @param s     the string representation of the URL.
-     * @param frame For errors and warnings reports.
+     * @param s    the string representation of the URL.
+     * @param ac   For errors and warnings reports.
      * @param base the base location of the style sheet
-     * @exception InvalidParamException The unit is incorrect
+     * @throws InvalidParamException The unit is incorrect
      */
     public void set(String s, ApplContext ac, URL base)
-	    throws InvalidParamException {
-	String urlHeading = s.substring(0,3).toLowerCase();
-	String urlname = s.substring(4, s.length()-1).trim();
-	this.base = base;
+            throws InvalidParamException {
+        String urlHeading = s.substring(0, 3).toLowerCase();
+        String urlname = s.substring(4, s.length() - 1).trim();
+        this.base = base;
 
 //	try {
 //	    CssString convert = new CssString();
 //	    convert.set(urlname, ac);
 //	    value = (String) convert.get();
 //	} catch (InvalidParamException e) {
-	    value = urlname;
-	    full = null;
+        value = urlname;
+        full = null;
 //	}
-	if (!urlHeading.startsWith("url"))
-	    throw new InvalidParamException("url", s, ac);
+        if (!urlHeading.startsWith("url"))
+            throw new InvalidParamException("url", s, ac);
     }
 
     /**
      * Get the internal value.
      */
     public Object get() {
-	return value;
+        return value;
     }
 
     /**
      * Returns the URL
+     *
+     * @return the URL
+     * @throws java.net.MalformedURLException (self explanatory)
      */
     public URL getURL() throws MalformedURLException {
-	return HTTPURL.getURL(base, value);
+        return HTTPURL.getURL(base, value);
     }
 
     /**
      * Returns a string representation of the object.
      */
     public String toString() {
-	if (full != null) {
-	    return full;
-	}
-	StringBuilder sb = new StringBuilder("url(");
-	sb.append(value).append(')');
-	return full = sb.toString();
+        if (full != null) {
+            return full;
+        }
+        StringBuilder sb = new StringBuilder("url(");
+        sb.append(value).append(')');
+        return full = sb.toString();
     }
 
     /**
      * Compares two values for equality.
      *
-     * @param value The other value.
+     * @param url The other value.
      */
     public boolean equals(Object url) {
-	return (url instanceof CssURL && value.equals(((CssURL) url).value));
+        return (url instanceof CssURL && value.equals(((CssURL) url).value));
     }
 
 }

Index: CssValue.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssValue.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssValue.java	25 Mar 2008 18:30:12 -0000	1.6
+++ CssValue.java	5 Jan 2010 13:50:01 -0000	1.7
@@ -19,39 +19,39 @@
     String cssversion;
 
     public int getType() {
-	return type;
+        return type;
     }
-    
-  /**
-   * Set the value of this value.
-   *
-   * @param s     the string representation of the value.
-   * @param frame For errors and warnings reports.
-   * @exception InvalidParamException The unit is incorrect
-   */
-  public abstract void set(String s, ApplContext ac)
-      throws InvalidParamException;
 
-  /**
-   * Returns the internal value
-   */
-  public abstract Object get();
+    /**
+     * Set the value of this value.
+     *
+     * @param s  the string representation of the value.
+     * @param ac For errors and warnings reports.
+     * @throws InvalidParamException The unit is incorrect
+     */
+    public abstract void set(String s, ApplContext ac)
+            throws InvalidParamException;
 
-  /**
-   * Compares two values for equality.
-   *
-   * @param value The other value.
-   */
-  public boolean equals(Object value) {
-    return super.equals(value);
-  }
+    /**
+     * @return the internal value
+     */
+    public abstract Object get();
+
+    /**
+     * Compares two values for equality.
+     *
+     * @param value The other value.
+     */
+    public boolean equals(Object value) {
+        return super.equals(value);
+    }
 
     public void setCssVersion(String cssversion) {
-	this.cssversion = cssversion;
+        this.cssversion = cssversion;
     }
 
     public boolean isDefault() {
-	return false;
+        return false;
     }
 
 }

Index: CssIdent.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssIdent.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- CssIdent.java	17 Dec 2009 21:57:30 -0000	1.9
+++ CssIdent.java	5 Jan 2010 13:50:00 -0000	1.10
@@ -6,82 +6,85 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import java.util.HashMap;
-
 import org.w3c.css.util.ApplContext;
 
+import java.util.HashMap;
+
 /**
  * @version $Revision$
  */
 public class CssIdent extends CssValue {
 
-    public static HashMap<String,CssIdent> allowedvalues;
+    public static HashMap<String, CssIdent> allowedvalues;
+
     static {
-	allowedvalues = new HashMap<String,CssIdent>();
-	allowedvalues.put("inherit", new CssIdent("inherit"));
-	allowedvalues.put("none", new CssIdent("none"));
+        allowedvalues = new HashMap<String, CssIdent>();
+        allowedvalues.put("inherit", new CssIdent("inherit"));
+        allowedvalues.put("none", new CssIdent("none"));
     }
+
     /**
      * Get a cached CssIdent, useful for common values like "inherit"
+     *
      * @param name, the ident name
      * @return a CssIdent
      */
     public static CssIdent getIdent(String name) {
-	CssIdent val = allowedvalues.get(name);
-	if (val != null) {
-	    return val;
-	}
-	val = new CssIdent(name);
-	allowedvalues.put(name, val);
-	return val;
+        CssIdent val = allowedvalues.get(name);
+        if (val != null) {
+            return val;
+        }
+        val = new CssIdent(name);
+        allowedvalues.put(name, val);
+        return val;
     }
 
     public static final int type = CssTypes.CSS_IDENT;
-    
+
     private int hashcode = 0;
 
     public final int getType() {
-	return type;
+        return type;
     }
-    
+
     /**
      * Create a new CssIdent
      */
     public CssIdent() {
     }
-    
+
     /**
      * Create a new CssIdent
      *
      * @param s The identificator
      */
     public CssIdent(String s) {
-	value = s;
+        value = s;
     }
 
     /**
      * Set the value of this ident.
      *
-     * @param s     the string representation of the identificator.
-     * @param frame For errors and warnings reports.
+     * @param s  the string representation of the identificator.
+     * @param ac For errors and warnings reports.
      */
     public void set(String s, ApplContext ac) {
-	value = s;
-	hashcode = 0;
+        value = s;
+        hashcode = 0;
     }
 
     /**
      * Returns the internal value.
      */
     public Object get() {
-	return value;
+        return value;
     }
 
     /**
      * Returns a string representation of the object.
      */
     public String toString() {
-	return value;
+        return value;
     }
 
     /**
@@ -90,27 +93,28 @@
      * @param value The other value.
      */
     public boolean equals(Object value) {
-	return (value instanceof CssIdent && value.hashCode() == hashCode());
+        return ((value instanceof CssIdent) && (value.hashCode()==hashCode()));
     }
 
     /**
      * Compares two values for equality.
      *
      * @param value The other value.
+     * @return true is the two values are matching
      */
     public boolean equals(CssIdent value) {
-	return (value.hashCode() == hashCode());
+        return (value.hashCode() == hashCode());
     }
 
     /**
      * Returns a hashcode for this ident.
      */
     public int hashCode() {
-	// we cache, as we use toLowerCase and don't store the resulting string
-	if (hashcode == 0) {
-	    hashcode = value.toLowerCase().hashCode();
-	}
-	return hashcode;
+        // we cache, as we use toLowerCase and don't store the resulting string
+        if (hashcode == 0) {
+            hashcode = value.toLowerCase().hashCode();
+        }
+        return hashcode;
     }
 
     private String value;


Index: RGB.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/RGB.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- RGB.java	7 Jul 2009 13:32:57 -0000	1.7
+++ RGB.java	5 Jan 2010 13:50:01 -0000	1.8
@@ -64,6 +64,9 @@
 
     /**
      * Create a new RGB with default values
+     * @param r the red channel, an <EM>int</EM>
+     * @param g the green channel, an <EM>int</EM>
+     * @param b the blue channel, an <EM>int</EM>
      */
     public RGB(int r, int g, int b) {
 	this.r = r;

Index: CssPercentage.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssPercentage.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- CssPercentage.java	5 Mar 2009 18:02:21 -0000	1.7
+++ CssPercentage.java	5 Jan 2010 13:50:00 -0000	1.8
@@ -2,7 +2,7 @@
 // $Id$
 // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr)
 //
-// (c) COPYRIGHT MIT and INRIA, 1997.
+// (c) COPYRIGHT MIT, ERCIM and Keio University, 2010.
 // Please first read the full copyright statement in file COPYRIGHT.html
 
 package org.w3c.css.values;
@@ -12,32 +12,33 @@
 import org.w3c.css.util.Util;
 
 /**
- *   <H3>
- *     &nbsp;&nbsp; Percentage units
- *   </H3>
- *   <P>
- *   The format of a percentage value is an optional sign character ('+' or '-',
- *   with '+' being the default) immediately followed by a number (with or without
- *   a decimal point) immediately followed by '%'.
- *   <P>
- *   Percentage values are always relative to another value, for example a length
- *   unit. Each property that allows percentage units also defines what value
- *   the percentage value refer to. Most often this is the font size of the element
- *   itself:
- *   <PRE>
- *   P { line-height: 120% }   / * 120% of the element's 'font-size' * /
+ * <H3>
+ * &nbsp;&nbsp; Percentage units
+ * </H3>
+ * <p/>
+ * The format of a percentage value is an optional sign character ('+' or '-',
+ * with '+' being the default) immediately followed by a number (with or without
+ * a decimal point) immediately followed by '%'.
+ * <p/>
+ * Percentage values are always relative to another value, for example a length
+ * unit. Each property that allows percentage units also defines what value
+ * the percentage value refer to. Most often this is the font size of the element
+ * itself:
+ * <PRE>
+ * P { line-height: 120% }   / * 120% of the element's 'font-size' * /
  * </PRE>
- *   <P>
- *   In all inherited CSS1 properties, if the value is specified as a percentage,
- *   child elements inherit the resultant value, not the percentage value.
+ * <p/>
+ * In all inherited CSS1 properties, if the value is specified as a percentage,
+ * child elements inherit the resultant value, not the percentage value.
+ *
  * @version $Revision$
  */
 public class CssPercentage extends CssValue {
 
     public static final int type = CssTypes.CSS_PERCENTAGE;
-    
+
     public final int getType() {
-	return type;
+        return type;
     }
 
     static Float defaultValue = new Float(0);
@@ -47,7 +48,7 @@
      * Create a new CssPercentage
      */
     public CssPercentage() {
-	this(defaultValue);
+        this(defaultValue);
     }
 
     /**
@@ -56,7 +57,7 @@
      * @param value The value.
      */
     public CssPercentage(int value) {
-	this(new Float(value));
+        this(new Float(value));
     }
 
     /**
@@ -65,7 +66,7 @@
      * @param value the float value.
      */
     public CssPercentage(float value) {
-	this(new Float(value));
+        this(new Float(value));
     }
 
     /**
@@ -74,52 +75,53 @@
      * @param value the Float object.
      */
     public CssPercentage(Float value) {
-	this.value = value;
+        this.value = value;
     }
 
     /**
      * Set the value of this percentage.
      *
-     * @param s     the string representation of the percentage.
-     * @param frame For errors and warnings reports.
-     * @exception InvalidParamException The unit is incorrect
+     * @param s  the string representation of the percentage.
+     * @param ac For errors and warnings reports.
+     * @throws InvalidParamException The unit is incorrect
      */
     public void set(String s, ApplContext ac) throws InvalidParamException {
-	if (s.charAt(s.length()-1) != '%') {
-	    throw new InvalidParamException("percentage", s, ac);
-	}
-	this.value = new Float(s.substring(0, s.length()-1));
+        int slength = s.length();
+        if (s.charAt(slength - 1) != '%') {
+            throw new InvalidParamException("percentage", s, ac);
+        }
+        this.value = new Float(s.substring(0, slength - 1));
     }
 
     /**
      * Returns the current value
      */
     public Object get() {
-	return value;
+        return value;
     }
 
     /**
      * Returns the value as a float
      */
     public float getValue() {
-	return value.floatValue();
+        return value.floatValue();
     }
 
     /**
      * Returns a string representation of the object.
      */
     public String toString() {
-	return Util.displayFloat(value) + "%";
+        return Util.displayFloat(value) + "%";
     }
 
     /**
      * Compares two values for equality.
      *
-     * @param value The other value.
+     * @param val The other value.
      */
     public boolean equals(Object val) {
-	return ((val instanceof CssPercentage)
-		&& value.equals(((CssPercentage) val).value));
+        return ((val instanceof CssPercentage)
+                && value.equals(((CssPercentage) val).value));
     }
 
 }

Received on Tuesday, 5 January 2010 13:50:08 UTC