- 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