public void startSelector(SelectorList selectors) throws CSSException { CssRule r; if (nextSelectorCreatesRule) { r = new CssRule(); addNode(r); currentRule = r; } else { r = (CssRule) currentRule; nextSelectorCreatesRule = true; } for (int i = 0; i < selectors.getLength(); i++) { r.getSelectors().add(new CssSelector(valueOf(selectors.item(i)))); } }
public void startSelector(SelectorList selectors) throws CSSException { for (int i = 0; i < selectors.getLength(); i++) { Selector selector = selectors.item(i); if (i > 0) _buffer.append(','); _buffer.append(selector.toString()); } _buffer.append("{"); }
public void startSelector(SelectorList selectors) throws CSSException { for (int i = 0; i < selectors.getLength(); i++) { Selector selector = selectors.item(i); if (i > 0) _buffer.append(','); _buffer.append(selector.toString()); } _buffer.append("{"); }
public static String toString(SelectorList selectorList) { StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < selectorList.getLength(); i++) { String selectorString = toString(selectorList.item(i)); stringBuilder.append(selectorString); if (selectorList.getLength() > i + 1) { stringBuilder.append(", "); } } return stringBuilder.toString(); }
private static String toString( SelectorList patterns ) { StringBuilder buffer = new StringBuilder(); buffer.append( "[" ); int length = patterns.getLength(); for( int i = 0; i < length; i++ ) { buffer.append( " " ); Selector selector = patterns.item( i ); buffer.append( selector.toString() ); } buffer.append( " ]" ); return buffer.toString(); }
public void startSelector(SelectorList selectors) throws CSSException { for (int i = 0; i < selectors.getLength(); i++) { Selector selector = selectors.item(i); if (i > 0) _buffer.append(','); _buffer.append(selector.toString()); } _buffer.append("{"); }
public void startSelector(SelectorList selectors) throws CSSException { for (int i = 0; i < selectors.getLength(); i++) { Selector selector = selectors.item(i); if (i > 0) _buffer.append(','); _buffer.append(selector.toString()); } _buffer.append("{"); }
private List<W3cCssSelectorWithMap> createParsedSelectorList() { List<W3cCssSelectorWithMap> w3cCssSelectorWithMapList = new LinkedList<>(); for (int i = 0; i < selectorList.getLength(); i++) { W3cCssSelectorWithMap w3cCssSelectorWithMap = new W3cCssSelectorWithMap(selectorList.item(i), this.argumentMap); w3cCssSelectorWithMapList.add(w3cCssSelectorWithMap); } return w3cCssSelectorWithMapList; }
private List<W3cCssSelectorWithMap> createParsedSelectorList() { List<W3cCssSelectorWithMap> w3cCssSelectorWithMapList = new LinkedList<>(); for (int i = 0; i < selectorList.getLength(); i++) { W3cCssSelectorWithMap w3cCssSelectorWithMap = new W3cCssSelectorWithMap(selectorList.item(i), this.argumentMap); w3cCssSelectorWithMapList.add(w3cCssSelectorWithMap); } return w3cCssSelectorWithMapList; }
private void createSelectorWrappers() { List<SelectorWrapper> selectorWrappersList = new LinkedList<>(); for( int pos = 0; pos < styleRules.length; pos++ ) { StyleRule styleRule = styleRules[ pos ]; SelectorList selectors = styleRule.getSelectors(); StylePropertyMap properties = styleRule.getProperties(); int length = selectors.getLength(); for( int i = 0; i < length; i++ ) { Selector selector = selectors.item( i ); SelectorWrapper selectorWrapper = new SelectorWrapper( selector, properties, pos ); selectorWrappersList.add( selectorWrapper ); } } Collections.sort( selectorWrappersList, COMPARATOR ); Collections.reverse( selectorWrappersList ); selectorWrappers = new SelectorWrapper[ selectorWrappersList.size() ]; selectorWrappersList.toArray( selectorWrappers ); }
private List<CompiledCssSelector> compileCssSelector(String selector) { W3cCssSelectorListWithMap w3cCssSelectorListWithMap = W3cCssSelectorWithMapParser.parseSelector(selector); SelectorList selectorList = w3cCssSelectorListWithMap.getSelectorList(); ArgumentMap argumentMap = w3cCssSelectorListWithMap.getArgumentMap(); List<CompiledCssSelector> compiledCssSelectors = new ArrayList<>(); for (int i = 0; i < selectorList.getLength(); i++) { Selector parsedSimpleSelector = selectorList.item(i); boolean hasNegatedPresent = hasNegatedPresent(argumentMap, parsedSimpleSelector.toString()); CssSelector<Selector, TagComponent> cssSelector = CssSelectorFactory.parsedSelectorToCssSelector(parsedSimpleSelector); compiledCssSelectors.add(new CompiledCssSelector(cssSelector, hasNegatedPresent, argumentMap, parsedSimpleSelector)); } return compiledCssSelectors; }
private List<CompiledCssSelector> compileCssSelector(String selector) { W3cCssSelectorListWithMap w3cCssSelectorListWithMap = W3cCssSelectorWithMapParser.parseSelector(selector); SelectorList selectorList = w3cCssSelectorListWithMap.getSelectorList(); ArgumentMap argumentMap = w3cCssSelectorListWithMap.getArgumentMap(); List<CompiledCssSelector> compiledCssSelectors = new ArrayList<>(); for (int i = 0; i < selectorList.getLength(); i++) { Selector parsedSimpleSelector = selectorList.item(i); boolean hasNegatedPresent = hasNegatedPresent(argumentMap, parsedSimpleSelector.toString()); CssSelector<Selector, TagComponent> cssSelector = CssSelectorFactory.parsedSelectorToCssSelector(parsedSimpleSelector); compiledCssSelectors.add(new CompiledCssSelector(cssSelector, hasNegatedPresent, argumentMap, parsedSimpleSelector)); } return compiledCssSelectors; }
private static boolean hasNegatedPresent(ArgumentMap argumentMap, String parsedSimpleSelector) { Matcher m = NOT_SQ_PATTERN.matcher(parsedSimpleSelector); while (m.find()) { String argumentMapIndex = m.group(1); String notPseudoClassContent = argumentMap.get(argumentMapIndex); W3cCssSelectorListWithMap parsedPseudoClassContent = W3cCssSelectorWithMapParser.parseSelector(notPseudoClassContent); SelectorList parsedPseudoClassContentSelectorList = parsedPseudoClassContent.getSelectorList(); ArgumentMap parsedPseudoClassContentArgumentMap = parsedPseudoClassContent.getArgumentMap(); for (int i = 0; i < parsedPseudoClassContentSelectorList.getLength(); i++) { Selector parsedPseudoClassContentSimpleSelector = parsedPseudoClassContentSelectorList.item(i); if (!hasNegatedPresent(parsedPseudoClassContentArgumentMap, parsedPseudoClassContentSimpleSelector.toString())) { return true; } } } return false; }
private static boolean hasNegatedPresent(ArgumentMap argumentMap, String parsedSimpleSelector) { Matcher m = NOT_SQ_PATTERN.matcher(parsedSimpleSelector); while (m.find()) { String argumentMapIndex = m.group(1); String notPseudoClassContent = argumentMap.get(argumentMapIndex); W3cCssSelectorListWithMap parsedPseudoClassContent = W3cCssSelectorWithMapParser.parseSelector(notPseudoClassContent); SelectorList parsedPseudoClassContentSelectorList = parsedPseudoClassContent.getSelectorList(); ArgumentMap parsedPseudoClassContentArgumentMap = parsedPseudoClassContent.getArgumentMap(); for (int i = 0; i < parsedPseudoClassContentSelectorList.getLength(); i++) { Selector parsedPseudoClassContentSimpleSelector = parsedPseudoClassContentSelectorList.item(i); if (!hasNegatedPresent(parsedPseudoClassContentArgumentMap, parsedPseudoClassContentSimpleSelector.toString())) { return true; } } } return false; }
public void property(String name, LexicalUnit value, boolean important) throws CSSException { CSSProperty property = new CSSProperty(name.intern(), value, important); SACMediaList mediaList = getCurrentMedia(); int selectorCount = curSelectors.getLength(); for(int i = 0; i < selectorCount; i++) { ExtendedSelector selector = (ExtendedSelector)curSelectors.item(i); stylesheet.addRule(new CSSRule(selector, property, mediaList)); } }
public void startSelector(SelectorList selectors) throws CSSException { CssRule r; if (nextSelectorCreatesRule) { r = new CssRule(); addNode(r); currentRule = r; } else { r = (CssRule) currentRule; nextSelectorCreatesRule = true; } for (int i = 0; i < selectors.getLength(); i++) { r.getSelectors().add(new CssSelector(valueOf(selectors.item(i)))); } }
public void startSelector(SelectorList selectors) throws CSSException { CssRule r; if (nextSelectorCreatesRule) { r = new CssRule(); addNode(r); currentRule = r; } else { r = (CssRule) currentRule; nextSelectorCreatesRule = true; } for (int i = 0; i < selectors.getLength(); i++) { r.getSelectors().add(new CssSelector(valueOf(selectors.item(i)))); } }
protected void doneParsing() throws SAXException { super.doneParsing(); try { final NamespaceCollection namespaceCollection = StyleSheetParserUtil.getInstance().getNamespaceCollection(); final SelectorList selectorList = StyleSheetParserUtil.getInstance().parseSelector( namespaceCollection, getResult() ); for ( int i = 0; i < selectorList.getLength(); i += 1 ) { selector.add( (CSSSelector) selectorList.item( i ) ); } } catch ( CSSParseException e ) { throw new ParseException( "Failed to parse selector", e, getLocator() ); } }
public void testParsing() throws Exception { final NamespaceCollection namespaceCollection = StyleSheetParserUtil.getInstance().getNamespaceCollection(); final SelectorList selectorList = StyleSheetParserUtil.getInstance().parseSelector( namespaceCollection, "h1.test[x-lang=\"fr'\\\"\"]" ); for ( int i = 0; i < selectorList.getLength(); i += 1 ) { CSSSelector item = (CSSSelector) selectorList.item( i ); System.out.println( item.print( namespaceCollection ) ); } }
public void testParsingClass() throws Exception { final NamespaceCollection namespaceCollection = StyleSheetParserUtil.getInstance().getNamespaceCollection(); final SelectorList selectorList = StyleSheetParserUtil.getInstance().parseSelector( namespaceCollection, ".\\aa test" ); for ( int i = 0; i < selectorList.getLength(); i += 1 ) { CSSSelector item = (CSSSelector) selectorList.item( i ); System.out.println( item.print( namespaceCollection ) ); } }