- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 12 Feb 2009 10:32:53 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/parser In directory hutz:/tmp/cvs-serv630/org/w3c/css/parser Modified Files: CssSelectors.java CssSelectorsConstant.java Log Message: Pseudo Elements and Pseudo Classes are now distinct, and pseudo-elements are displayed as they should. General Siblig connectos (CSS3) handled properly. Index: CssSelectors.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/CssSelectors.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- CssSelectors.java 28 Mar 2008 16:36:46 -0000 1.24 +++ CssSelectors.java 12 Feb 2009 10:32:51 -0000 1.25 @@ -11,10 +11,11 @@ import java.util.Enumeration; import org.w3c.css.properties.css1.CssProperty; -import org.w3c.css.selectors.AdjacentSelector; +import org.w3c.css.selectors.AdjacentSiblingSelector; import org.w3c.css.selectors.AttributeSelector; import org.w3c.css.selectors.ChildSelector; import org.w3c.css.selectors.DescendantSelector; +import org.w3c.css.selectors.GeneralSiblingSelector; import org.w3c.css.selectors.PseudoClassSelector; import org.w3c.css.selectors.PseudoElementSelector; import org.w3c.css.selectors.PseudoFactory; @@ -44,7 +45,8 @@ * * @version $Revision$ */ -public final class CssSelectors extends SelectorsList implements CssSelectorsConstant { +public final class CssSelectors extends SelectorsList + implements CssSelectorsConstant { ApplContext ac; @@ -177,17 +179,16 @@ return isBlock; } - public void addPseudo(String pseudo) throws InvalidParamException { - if(pseudo == null) { + public void addPseudoClass(String pseudo) throws InvalidParamException { + if(pseudo == null) { return; } String profile = ac.getProfile(); if(profile == null || profile.equals("") || profile.equals("none")) { profile = ac.getCssVersion(); - } - - // is it a pseudo-class? + } + // is it a pseudo-class? String[] ps = PseudoFactory.getPseudoClass(profile); if(ps != null) { for(int i = 0; i < ps.length; i++) { @@ -198,9 +199,21 @@ } } // it's not a pseudo-class + throw new InvalidParamException("pseudo", ":" + pseudo, ac); + } + + public void addPseudoElement(String pseudo) throws InvalidParamException { + if(pseudo == null) { + return; + } + + String profile = ac.getProfile(); + if(profile == null || profile.equals("") || profile.equals("none")) { + profile = ac.getCssVersion(); + } // is it a pseudo-element? - ps = PseudoFactory.getPseudoElement(profile); + String[] ps = PseudoFactory.getPseudoElement(profile); if(ps != null) { for(int i = 0; i < ps.length; i++) { if(pseudo.equals(ps[i])) { @@ -211,7 +224,7 @@ } // the ident isn't a valid pseudo-something - throw new InvalidParamException("pseudo", ":" + pseudo, ac); + throw new InvalidParamException("pseudo", "::" + pseudo, ac); } public void setPseudoFun(String pseudo, String param) @@ -306,12 +319,19 @@ connector = CHILD; } - public void addAdjacent(AdjacentSelector adjacent) + public void addAdjacentSibling(AdjacentSiblingSelector adjacent) throws InvalidParamException { - super.addAdjacent(adjacent); - connector = ADJACENT; + super.addAdjacentSibling(adjacent); + connector = ADJACENT_SIBLING; } + public void addGeneralSibling(GeneralSiblingSelector sibling) + throws InvalidParamException { + super.addGeneralSibling(sibling); + connector = GENERAL_SIBLING; + } + + public void addAttribute(AttributeSelector attribute) throws InvalidParamException { int _s = size(); Index: CssSelectorsConstant.java =================================================================== RCS file: /sources/public/2002/css-validator/org/w3c/css/parser/CssSelectorsConstant.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- CssSelectorsConstant.java 14 Sep 2005 15:14:18 -0000 1.9 +++ CssSelectorsConstant.java 12 Feb 2009 10:32:51 -0000 1.10 @@ -37,6 +37,8 @@ public static final char DESCENDANT = ' '; /** child connector */ public static final char CHILD = '>'; - /** adjacent connector */ - public static final char ADJACENT = '+'; + /** adjacent sibling connector */ + public static final char ADJACENT_SIBLING = '+'; + /** general sibling connector */ + public static final char GENERAL_SIBLING = '~'; }
Received on Thursday, 12 February 2009 10:33:02 UTC