- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 24 Aug 2012 07:24:41 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css1 In directory hutz:/tmp/cvs-serv12405/css1 Modified Files: CssDisplay.java Log Message: ident case sensitivity Index: CssDisplay.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css1/CssDisplay.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- CssDisplay.java 31 Aug 2011 18:34:50 -0000 1.6 +++ CssDisplay.java 24 Aug 2012 07:24:39 -0000 1.7 @@ -13,123 +13,87 @@ import org.w3c.css.values.CssTypes; import org.w3c.css.values.CssValue; -import java.util.HashMap; - /** - * http://www.w3.org/TR/2008/REC-CSS1-20080411/#display - * <p/> - * <H4> - * 'display' - * </H4> - * <p/> - * <EM>Value:</EM> block | inline | list-item | none<BR> - * <EM>Initial:</EM> block<BR> - * <EM>Applies to:</EM> all elements<BR> - * <EM>Inherited:</EM> no<BR> - * <EM>Percentage values:</EM> N/A<BR> - * <p/> - * This property describes how/if an element is displayed on the canvas (which - * may be on a printed page, a computer display etc.). - * <P> An element with a 'display' value of 'block' opens a new box. The box - * is positioned relative to adjacent boxes according to the CSS <A - * HREF="#formatting-model">formatting model</A>. Typically, elements like - * 'H1' and 'P' are of type 'block'. A value of 'list-item' is similar to - * 'block' except that a list-item marker is added. In HTML, 'LI' will - * typically have this value. - * <p/> - * An element with a 'display' value of 'inline' results in a new inline box - * on the same line as the previous content. The box is dimensioned according - * to the formatted size of the content. If the content is text, it may span - * several lines, and there will be a box on each line. The margin, border and - * padding properties apply to 'inline' elements, but will not have any effect - * at the line breaks. - * <p/> - * A value of 'none' turns off the display of the element, including children - * elements and the surrounding box. - * <PRE> - * P { display: block } - * EM { display: inline } - * LI { display: list-item } - * IMG { display: none } - * </PRE> - * <p/> - * The last rule turns off the display of images. - * <P> The initial value of 'display' is 'block', but a UA will typically have - * default values for all HTML elements according to the suggested rendering - * of elements in the HTML specification. - * - * @version $Revision$ + * @spec http://www.w3.org/TR/2008/REC-CSS1-20080411/#display */ public class CssDisplay extends org.w3c.css.properties.css.CssDisplay { - CssIdent value; - public static CssIdent block; - public static HashMap<String, CssIdent> allowed_values; + public static CssIdent block; + public static CssIdent[] allowed_values; - static { - allowed_values = new HashMap<String, CssIdent>(); - String[] DISPLAY = { - "block", "inline", "list-item", "none"}; - for (String aDISPLAY : DISPLAY) { - allowed_values.put(aDISPLAY, CssIdent.getIdent(aDISPLAY)); - } - block = CssIdent.getIdent("block"); - } + static { + String[] DISPLAY = { + "block", "inline", "list-item", "none"}; + allowed_values = new CssIdent[DISPLAY.length]; + int i = 0; + for (String aDISPLAY : DISPLAY) { + allowed_values[i++] = CssIdent.getIdent(aDISPLAY); + } + block = CssIdent.getIdent("block"); + } - /** - * Create a new CssDisplay - */ - public CssDisplay() { - // nothing to do - } + public static CssIdent getMatchingIdent(CssIdent ident) { + for (CssIdent id : allowed_values) { + if (id.equals(ident)) { + return id; + } + } + return null; + } - /** - * Create a new CssDisplay - * - * @param ac The context - * @param expression The expression for this property - * @param check boolean, if check has to be enforced - * @throws InvalidParamException Values are incorect - */ - public CssDisplay(ApplContext ac, CssExpression expression, - boolean check) throws InvalidParamException { + /** + * Create a new CssDisplay + */ + public CssDisplay() { + // nothing to do + } - if (check && expression.getCount() > 1) { - throw new InvalidParamException("unrecognize", ac); - } + /** + * Create a new CssDisplay + * + * @param ac The context + * @param expression The expression for this property + * @param check boolean, if check has to be enforced + * @throws InvalidParamException Values are incorect + */ + public CssDisplay(ApplContext ac, CssExpression expression, + boolean check) throws InvalidParamException { - CssValue val = expression.getValue(); + if (check && expression.getCount() > 1) { + throw new InvalidParamException("unrecognize", ac); + } - setByUser(); + CssValue val = expression.getValue(); - if (val.getType() == CssTypes.CSS_IDENT) { - CssIdent id_val = (CssIdent) val; - String id_value = id_val.toString(); + setByUser(); - value = allowed_values.get(id_value); - if (value != null) { - expression.next(); - return; - } - } + if (val.getType() == CssTypes.CSS_IDENT) { + CssIdent id_val = (CssIdent) val; - throw new InvalidParamException("value", expression.getValue(), - getPropertyName(), ac); + value = getMatchingIdent(id_val); + if (value != null) { + expression.next(); + return; + } + } - } + throw new InvalidParamException("value", expression.getValue(), + getPropertyName(), ac); - public CssDisplay(ApplContext ac, CssExpression expression) - throws InvalidParamException { - this(ac, expression, false); - } + } + public CssDisplay(ApplContext ac, CssExpression expression) + throws InvalidParamException { + this(ac, expression, false); + } - /** - * Is the value of this property is a default value. - * It is used by all macro for the function <code>print</code> - */ - public boolean isDefault() { - return (value == block); - } + + /** + * Is the value of this property is a default value. + * It is used by all macro for the function <code>print</code> + */ + public boolean isDefault() { + return (value == block); + } }
Received on Friday, 24 August 2012 07:24:43 UTC