diff options
Diffstat (limited to 'gnu/javax/swing/text/html/css/CSSParser.java')
-rw-r--r-- | gnu/javax/swing/text/html/css/CSSParser.java | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/gnu/javax/swing/text/html/css/CSSParser.java b/gnu/javax/swing/text/html/css/CSSParser.java index 0d68457a3..5647e2506 100644 --- a/gnu/javax/swing/text/html/css/CSSParser.java +++ b/gnu/javax/swing/text/html/css/CSSParser.java @@ -45,6 +45,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.util.StringTokenizer; /** * A parser for CSS stylesheets. @@ -158,7 +159,15 @@ public class CSSParser { StringBuilder selector = new StringBuilder(); parseSelector(selector); - callback.startStatement(new Selector(selector.toString())); + StringTokenizer selSplitter = + new StringTokenizer(selector.toString(), ","); + Selector[] sels = new Selector[selSplitter.countTokens()]; + for (int i = 0; selSplitter.hasMoreTokens(); i++) + { + String sel = selSplitter.nextToken().trim(); + sels[i] = new Selector(sel); + } + callback.startStatement(sels); // Read any number of whitespace. int token; do @@ -260,7 +269,7 @@ public class CSSParser StringBuilder value = new StringBuilder(); if (parseValue(value)) { - callback.declaration(property, value.toString()); + callback.declaration(property, value.toString().trim()); } else { @@ -458,9 +467,17 @@ public class CSSParser InputStreamReader r = new InputStreamReader(bin); CSSParserCallback cb = new CSSParserCallback() { - public void startStatement(Selector selector) + public void startStatement(Selector[] selector) { - System.out.println("startStatement: " + selector); + System.out.print("startStatement: "); + for (int i = 0; i < selector.length; i++) + { + System.out.print(selector[i]); + if (i < selector.length - 1) + System.out.print(','); + else + System.out.println(); + } } public void endStatement() { |