- From: CVS User ylafon <cvsmail@w3.org>
- Date: Thu, 13 Dec 2012 09:21:45 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3 In directory roscoe:/tmp/cvs-serv30432 Modified Files: CssUnicodeBidi.java Log Message: upgraded unicode-bidi to http://www.w3.org/TR/2012/WD-css3-writing-modes-20121115/#unicode-bidi --- /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssUnicodeBidi.java 2012/11/05 14:26:00 1.1 +++ /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssUnicodeBidi.java 2012/12/13 09:21:45 1.2 @@ -1,4 +1,4 @@ -// $Id: CssUnicodeBidi.java,v 1.1 2012/11/05 14:26:00 ylafon Exp $ +// $Id: CssUnicodeBidi.java,v 1.2 2012/12/13 09:21:45 ylafon Exp $ // Author: Yves Lafon <ylafon@w3.org> // // (c) COPYRIGHT MIT, ERCIM and Keio University, 2012. @@ -11,46 +11,26 @@ import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssTypes; import org.w3c.css.values.CssValue; -import org.w3c.css.values.CssValueList; - -import java.util.ArrayList; - -import static org.w3c.css.values.CssOperator.SPACE; /** - * @spec http://www.w3.org/TR/2012/WD-css3-writing-modes-20120501/#unicode-bidi + * @spec http://www.w3.org/TR/2012/WD-css3-writing-modes-20121115/#unicode-bidi */ public class CssUnicodeBidi extends org.w3c.css.properties.css.CssUnicodeBidi { - public static final CssIdent[] allowed_values_single; - public static final CssIdent[] allowed_values_multi; + public static final CssIdent[] allowed_values; static { - String[] _allowed_values_single = {"normal", "embed"}; - String[] _allowed_values_multi = {"isolate", "bidi-override"}; + String[] _allowed_values = {"normal", "embed", "isolate", "bidi-override", + "isolate-override", "plaintext"}; int i = 0; - allowed_values_single = new CssIdent[_allowed_values_single.length]; - for (String s : _allowed_values_single) { - allowed_values_single[i++] = CssIdent.getIdent(s); - } - i = 0; - allowed_values_multi = new CssIdent[_allowed_values_multi.length]; - for (String s : _allowed_values_multi) { - allowed_values_multi[i++] = CssIdent.getIdent(s); - } - } - - public static final CssIdent getAllowedSingleIdent(CssIdent ident) { - for (CssIdent id : allowed_values_single) { - if (id.equals(ident)) { - return id; - } + allowed_values = new CssIdent[_allowed_values.length]; + for (String s : _allowed_values) { + allowed_values[i++] = CssIdent.getIdent(s); } - return null; } - public static final CssIdent getAllowedIdentMulti(CssIdent ident) { - for (CssIdent id : allowed_values_multi) { + public static final CssIdent getAllowedIdent(CssIdent ident) { + for (CssIdent id : allowed_values) { if (id.equals(ident)) { return id; } @@ -59,14 +39,6 @@ } - public static final CssIdent getAllowedIdent(CssIdent ident) { - CssIdent id = getAllowedSingleIdent(ident); - if (id == null) { - id = getAllowedIdentMulti(ident); - } - return id; - } - /** * Create a new CssUnicodeBidi */ @@ -83,7 +55,7 @@ */ public CssUnicodeBidi(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { - if (check && expression.getCount() > 2) { + if (check && expression.getCount() > 1) { throw new InvalidParamException("unrecognize", ac); } setByUser(); @@ -101,55 +73,12 @@ CssIdent id = (CssIdent) val; if (inherit.equals(id)) { value = inherit; - if (expression.getCount() > 1) { - throw new InvalidParamException("value", val, - getPropertyName(), ac); - } } else { - switch (expression.getCount()) { - case 1: - value = getAllowedSingleIdent(id); - if (value == null) { - throw new InvalidParamException("value", val, - getPropertyName(), ac); - } - break; - case 2: - ArrayList<CssValue> vals = new ArrayList<CssValue>(4); - CssValue v; - v = getAllowedIdentMulti(id); - if (v == null) { - throw new InvalidParamException("value", val, - getPropertyName(), ac); - } - vals.add(v); - if (op != SPACE) { - throw new InvalidParamException("operator", - ((new Character(op)).toString()), ac); - } - expression.next(); - val = expression.getValue(); - if (val.getType() != CssTypes.CSS_IDENT) { - throw new InvalidParamException("value", val, - getPropertyName(), ac); - } - v = getAllowedIdentMulti((CssIdent) val); - if (v == null) { - throw new InvalidParamException("value", val, - getPropertyName(), ac); - } - vals.add(v); - if (v == vals.get(0)) { - // we can't have the same ident twice - // and yes we can use == here - // TODO fixme duplicate keyword error - throw new InvalidParamException("value", val, - getPropertyName(), ac); - } - value = new CssValueList(vals); - break; - default: - throw new InvalidParamException("unrecognize", ac); + value = getAllowedIdent(id); + if (value == null) { + throw new InvalidParamException("value", + val.toString(), + getPropertyName(), ac); } } expression.next();
Received on Thursday, 13 December 2012 09:21:46 UTC