Java 类org.w3c.dom.css.CSSRule 实例源码
项目:InuktitutComputing
文件:NRC_HTMLDocumentByCobra.java
private void checkForCSSPseudoRules() {
Collection ss = document.getStyleSheets();
java.util.Iterator itss = ss.iterator();
Pattern patRule = Pattern.compile("^([^:]+?):(link|active|visited|hover)\\s+(\\{.+)$");
HashSet newRules = new HashSet();
while (itss.hasNext()) {
CSSStyleSheetImpl ss1 = (CSSStyleSheetImpl)itss.next();
CSSRuleList ruleList = ss1.getCssRules();
for (int i=0; i < ruleList.getLength(); i++) {
CSSRule rule = ruleList.item(i);
String ruleText = rule.getCssText();
// System.out.println("rule : "+ruleText);
Matcher mpatRule = patRule.matcher(ruleText);
if (mpatRule.find()) {
String newRuleText = mpatRule.group(1)+" "+mpatRule.group(3);
if (!newRules.contains(mpatRule.group(1))) {
newRules.add(mpatRule.group(1));
// System.out.println("***new rule : "+newRuleText);
ss1.insertRule(newRuleText, i++);
}
}
}
}
}
项目:svgtoandroid
文件:StyleParser.java
private void init() {
if (style != null) {
String styleContent = style.getValue().getText();
if (styleContent != null && !styleContent.isEmpty()) {
InputSource source = new InputSource(new StringReader(styleContent));
CSSOMParser parser = new CSSOMParser(new SACParserCSS3());
parser.setErrorHandler(new ParserErrorHandler());
try {
styleSheet = parser.parseStyleSheet(source, null, null);
cssFormat = new CSSFormat().setRgbAsHex(true);
CSSRuleList rules = styleSheet.getCssRules();
for (int i = 0; i < rules.getLength(); i++) {
final CSSRule rule = rules.item(i);
if (rule instanceof CSSStyleRuleImpl) {
styleRuleMap.put(((CSSStyleRuleImpl) rule).getSelectorText(), (CSSStyleRuleImpl) rule);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
项目:LoboEvolution
文件:CSSStyleSheetImpl.java
private void readObject(final ObjectInputStream in) throws IOException, ClassNotFoundException {
baseUri_ = (String) in.readObject();
cssRules_ = (CSSRuleList) in.readObject();
if (cssRules_ != null) {
for (int i = 0; i < cssRules_.getLength(); i++) {
final CSSRule cssRule = cssRules_.item(i);
if (cssRule instanceof AbstractCSSRuleImpl) {
((AbstractCSSRuleImpl) cssRule).setParentStyleSheet(this);
}
}
}
disabled_ = in.readBoolean();
href_ = (String) in.readObject();
media_ = (MediaList) in.readObject();
// TODO ownerNode may not be serializable!
// ownerNode = (Node) in.readObject();
readOnly_ = in.readBoolean();
title_ = (String) in.readObject();
}
项目:LoboEvolution
文件:CssParserTest.java
/**
* Show style sheet.
*
* @param styleSheet
* the style sheet
*/
private void showStyleSheet(CSSStyleSheet styleSheet) {
StringWriter stringWriter = new StringWriter();
PrintWriter writer = new PrintWriter(stringWriter);
writer.println("<DL>");
CSSRuleList ruleList = styleSheet.getCssRules();
int length = ruleList.getLength();
for (int i = 0; i < length; i++) {
CSSRule rule = ruleList.item(i);
writer.println("<DT><strong>Rule: type=" + rule.getType() + ",class=" + rule.getClass().getName()
+ "</strong></DT>");
writer.println("<DD>");
this.writeRuleInfo(writer, rule);
writer.println("</DD>");
}
writer.println("</DL>");
writer.flush();
String html = stringWriter.toString();
HtmlRendererContext rcontext = new SimpleHtmlRendererContext(this.cssOutput, (UserAgentContext) null);
this.cssOutput.setHtml(html, "about:css", rcontext);
}
项目:kie-wb-common
文件:SVGStyleTranslatorHelper.java
public static StyleSheetDefinition parseStyleSheetDefinition(final String cssPath,
final InputStream cssStream) throws TranslatorException {
final CSSStyleSheetImpl sheet = parseStyleSheet(new InputSource(new InputStreamReader(cssStream)));
final CSSRuleList cssRules = sheet.getCssRules();
final StyleSheetDefinition result = new StyleSheetDefinition(cssPath);
for (int i = 0; i < cssRules.getLength(); i++) {
final CSSRule item = cssRules.item(i);
if (CSSRule.STYLE_RULE == item.getType()) {
final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) item;
final String selectorText = rule.getSelectorText();
final CSSStyleDeclaration declaration = rule.getStyle();
final StyleDefinition styleDefinition = parseStyleDefinition(declaration);
result.addStyle(selectorText, styleDefinition);
}
}
return result;
}
项目:openjdk-jdk10
文件:PackageInfoTest.java
@DataProvider(name = "jdkClasses")
public Object[][] jdkClasses() {
return new Object[][] {
{ java.awt.Button.class, null },
{ java.lang.Object.class, null },
{ org.w3c.dom.css.CSSRule.class, null },
{ loadClass("org.w3c.dom.css.Fake"), loadClass("org.w3c.dom.css.FakePackage") },
};
}
项目:openjdk9
文件:PackageInfoTest.java
@DataProvider(name = "jdkClasses")
public Object[][] jdkClasses() {
return new Object[][] {
{ java.awt.Button.class, null },
{ java.lang.Object.class, null },
{ org.w3c.dom.css.CSSRule.class, null },
{ loadClass("org.w3c.dom.css.Fake"), loadClass("org.w3c.dom.css.FakePackage") },
};
}
项目:Push2Display
文件:CSSOMSVGStyleDeclaration.java
/**
* Creates a new CSSOMSVGStyleDeclaration.
*/
public CSSOMSVGStyleDeclaration(ValueProvider vp,
CSSRule parent,
CSSEngine eng) {
super(vp, parent);
cssEngine = eng;
}
项目:Push2Display
文件:CSSOMSVGStyleDeclaration.java
/**
* Creates a new CSSOMSVGStyleDeclaration.
*/
public CSSOMSVGStyleDeclaration(ValueProvider vp,
CSSRule parent,
CSSEngine eng) {
super(vp, parent);
cssEngine = eng;
}
项目:feathers-sdk
文件:CSSOMSVGStyleDeclaration.java
/**
* Creates a new CSSOMSVGStyleDeclaration.
*/
public CSSOMSVGStyleDeclaration(ValueProvider vp,
CSSRule parent,
CSSEngine eng) {
super(vp, parent);
cssEngine = eng;
}
项目:LoboEvolution
文件:CSSOMParser.java
private CSSRule getParentRule() {
if (!nodeStack_.empty() && nodeStack_.size() > 1) {
final Object node = nodeStack_.get(nodeStack_.size() - 2);
if (node instanceof CSSRule) {
return (CSSRule) node;
}
}
return null;
}
项目:LoboEvolution
文件:CSSMediaRuleImpl.java
/**
* {@inheritDoc}
*/
@Override
public String getCssText(final CSSFormat format) {
final StringBuilder sb = new StringBuilder("@media ");
sb.append(((MediaListImpl) getMedia()).getMediaText(format));
sb.append(" {");
for (int i = 0; i < getCssRules().getLength(); i++) {
final CSSRule rule = getCssRules().item(i);
sb.append(rule.getCssText()).append(" ");
}
sb.append("}");
return sb.toString();
}
项目:LoboEvolution
文件:CSSMediaRuleImpl.java
private void readObject(final ObjectInputStream in) throws IOException, ClassNotFoundException {
cssRules_ = (CSSRuleList) in.readObject();
if (cssRules_ != null) {
for (int i = 0; i < cssRules_.getLength(); i++) {
final CSSRule cssRule = cssRules_.item(i);
if (cssRule instanceof AbstractCSSRuleImpl) {
((AbstractCSSRuleImpl) cssRule).setParentRule(this);
((AbstractCSSRuleImpl) cssRule).setParentStyleSheet(getParentStyleSheetImpl());
}
}
}
media_ = (MediaList) in.readObject();
}
项目:LoboEvolution
文件:AbstractCSSRuleImpl.java
@Override
public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof CSSRule)) {
return false;
}
return super.equals(obj);
// don't use parentRule and parentStyleSheet in equals()
// recursive loop -> stack overflow!
}
项目:LoboEvolution
文件:CSSRuleListImpl.java
@Override
public CSSRule item(final int index) {
if (index < 0 || null == rules_ || index >= rules_.size()) {
return null;
}
return rules_.get(index);
}
项目:LoboEvolution
文件:CSSRuleListImpl.java
/**
* {@inheritDoc}
*/
@Override
public String getCssText(final CSSFormat format) {
final StringBuilder sb = new StringBuilder();
for (int i = 0; i < getLength(); i++) {
if (i > 0) {
sb.append("\r\n");
}
final CSSRule rule = item(i);
sb.append(((CSSFormatable) rule).getCssText(format));
}
return sb.toString();
}
项目:LoboEvolution
文件:CSSRuleListImpl.java
private boolean equalsRules(final CSSRuleList crl) {
if ((crl == null) || (getLength() != crl.getLength())) {
return false;
}
for (int i = 0; i < getLength(); i++) {
final CSSRule cssRule1 = item(i);
final CSSRule cssRule2 = crl.item(i);
if (!LangUtils.equals(cssRule1, cssRule2)) {
return false;
}
}
return true;
}
项目:LoboEvolution
文件:StyleSheetAggregator.java
/**
* Adds the style sheet.
*
* @param styleSheet
* the style sheet
* @throws MalformedURLException
* the malformed url exception
* @throws UnsupportedEncodingException
*/
private final void addStyleSheet(CSSStyleSheet styleSheet)
throws MalformedURLException, UnsupportedEncodingException {
CSSRuleList ruleList = styleSheet.getCssRules();
int length = ruleList.getLength();
for (int i = 0; i < length; i++) {
CSSRule rule = ruleList.item(i);
this.addRule(styleSheet, rule);
}
}
项目:jStyleDomBridge
文件:CSSRuleListImpl.java
/**
* Used to retrieve a CSS rule by ordinal index. The order in this collection
* represents the order of the rules in the CSS style sheet. If index is
* greater than or equal to the number of rules in the list, this returns
* <code>null</code>.
*
* @param index
* Index into the collection
* @return The style rule at the <code>index</code> position in the
* <code>CSSRuleList</code>, or <code>null</code> if that is not a
* valid index.
*/
public CSSRule item(final int index) {
try {
final RuleBlock<?> ruleBlock = jSheet.asList().get(index);
if (ruleBlock instanceof RuleSet) {
final RuleSet ruleSet = (RuleSet) ruleBlock;
return new CSSStyleRuleImpl(ruleSet, parentStyleSheet);
} else if (ruleBlock instanceof RuleFontFace) {
final RuleFontFace ruleFontFace = (RuleFontFace) ruleBlock;
return new CSSFontFaceRuleImpl(ruleFontFace, parentStyleSheet);
} else if (ruleBlock instanceof RulePage) {
final RulePage rulePage = (RulePage) ruleBlock;
return new CSSPageRuleImpl(rulePage, parentStyleSheet);
} else if (ruleBlock instanceof RuleMedia) {
final RuleMedia mediaRule = (RuleMedia) ruleBlock;
return new CSSMediaRuleImpl(mediaRule, parentStyleSheet);
} else {
// TODO need to return the other types of RuleBlocks as well.
// * Import Rule
// * Charset Rule
// Currently returning Unknown rule
return new CSSUnknownRuleImpl(parentStyleSheet);
}
} catch (final ArrayIndexOutOfBoundsException e) {
return null;
}
}
项目:SimpleFunctionalTest
文件:CssParser.java
public HashMap<String, CSSStyleRule> extractCssStyleRules(String cssFile) throws IOException {
TEST_FILE_SYSTEM.filesExists(cssFile);
CSSOMParser cssParser = new CSSOMParser();
CSSStyleSheet css = cssParser.parseStyleSheet(new InputSource(new FileReader(TEST_FILE_SYSTEM.file(cssFile))), null, null);
CSSRuleList cssRules = css.getCssRules();
HashMap<String, CSSStyleRule> rules = new HashMap<String, CSSStyleRule>();
for (int i = 0; i < cssRules.getLength(); i++) {
CSSRule rule = cssRules.item(i);
if (rule instanceof CSSStyleRule) {
rules.put(((CSSStyleRule) rule).getSelectorText(), (CSSStyleRule) rule);
}
}
return rules;
}
项目:thymesheet
文件:AttributeRuleList.java
public AttributeRuleList(CSSRuleList ruleList) {
super(ruleList.getLength());
for (int i = 0; i < ruleList.getLength(); i++) {
CSSRule rule = ruleList.item(i);
if(rule instanceof CSSStyleRule) {
this.add((CSSStyleRule)rule);
}
}
}
项目:kie-wb-common
文件:SVGStyleTranslatorHelper.java
private static StyleDefinition parseElementStyleDefinition(final String styleRaw) throws TranslatorException {
final CSSStyleSheetImpl sheet = parseElementStyleSheet(styleRaw);
final CSSRuleList cssRules = sheet.getCssRules();
for (int i = 0; i < cssRules.getLength(); i++) {
final CSSRule item = cssRules.item(i);
if (CSSRule.STYLE_RULE == item.getType()) {
final CSSStyleRuleImpl rule = (CSSStyleRuleImpl) item;
String selectorText = rule.getSelectorText();
final CSSStyleDeclaration declaration = rule.getStyle();
return parseStyleDefinition(declaration);
}
}
return null;
}
项目:openjdk-jdk10
文件:PackageInfoTest.java
private Class<?> loadClass(String name) {
return Class.forName(CSSRule.class.getModule(), name);
}
项目:openjdk9
文件:PackageInfoTest.java
private Class<?> loadClass(String name) {
return Class.forName(CSSRule.class.getModule(), name);
}
项目:Push2Display
文件:CSSOMStyleDeclaration.java
/**
* Creates a new style declaration.
*/
public CSSOMStyleDeclaration(ValueProvider vp, CSSRule parent) {
valueProvider = vp;
parentRule = parent;
}
项目:Push2Display
文件:CSSOMStyleDeclaration.java
/**
* Creates a new style declaration.
*/
public CSSOMStyleDeclaration(ValueProvider vp, CSSRule parent) {
valueProvider = vp;
parentRule = parent;
}
项目:feathers-sdk
文件:CSSOMStyleDeclaration.java
/**
* Creates a new style declaration.
*/
public CSSOMStyleDeclaration(ValueProvider vp, CSSRule parent) {
valueProvider = vp;
parentRule = parent;
}
项目:LoboEvolution
文件:CSSOMParser.java
public CSSRule parseRule(final InputSource source) throws IOException {
final CSSOMHandler handler = new CSSOMHandler();
parser_.setDocumentHandler(handler);
parser_.parseRule(source);
return (CSSRule) handler.getRoot();
}
项目:LoboEvolution
文件:CSSMediaRuleImpl.java
public CSSMediaRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule, final MediaList media) {
super(parentStyleSheet, parentRule);
media_ = media;
}
项目:LoboEvolution
文件:CSSStyleSheetImpl.java
@Override
public CSSRule getOwnerRule() {
return ownerRule_;
}
项目:LoboEvolution
文件:CSSStyleSheetImpl.java
public void setOwnerRule(final CSSRule ownerRule) {
ownerRule_ = ownerRule;
}
项目:LoboEvolution
文件:CSSUnknownRuleImpl.java
public CSSUnknownRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule, final String text) {
super(parentStyleSheet, parentRule);
text_ = text;
}
项目:LoboEvolution
文件:AbstractCSSRuleImpl.java
public void setParentRule(final CSSRule parentRule) {
parentRule_ = parentRule;
}
项目:LoboEvolution
文件:AbstractCSSRuleImpl.java
public AbstractCSSRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule) {
super();
parentStyleSheet_ = parentStyleSheet;
parentRule_ = parentRule;
}
项目:LoboEvolution
文件:AbstractCSSRuleImpl.java
public CSSRule getParentRule() {
return parentRule_;
}
项目:LoboEvolution
文件:CSSCharsetRuleImpl.java
public CSSCharsetRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule,
final String encoding) {
super(parentStyleSheet, parentRule);
encoding_ = encoding;
}
项目:LoboEvolution
文件:CSSFontFaceRuleImpl.java
public CSSFontFaceRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule) {
super(parentStyleSheet, parentRule);
}
项目:LoboEvolution
文件:CSSPageRuleImpl.java
public CSSPageRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule,
final String pseudoPage) {
super(parentStyleSheet, parentRule);
pseudoPage_ = pseudoPage;
}
项目:LoboEvolution
文件:CSSImportRuleImpl.java
public CSSImportRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule, final String href,
final MediaList media) {
super(parentStyleSheet, parentRule);
href_ = href;
media_ = media;
}
项目:LoboEvolution
文件:CSSStyleRuleImpl.java
public CSSStyleRuleImpl(final CSSStyleSheetImpl parentStyleSheet, final CSSRule parentRule,
final SelectorList selectors) {
super(parentStyleSheet, parentRule);
selectors_ = selectors;
}