Index: src/com/dom_distiller/client/ContentExtractor.java |
diff --git a/src/com/dom_distiller/client/ContentExtractor.java b/src/com/dom_distiller/client/ContentExtractor.java |
index 669422854829f4e8577c1e66e86696a21e2ad12e..4063f09a4dfaf569c5a7977d40f04e66d991f9f6 100644 |
--- a/src/com/dom_distiller/client/ContentExtractor.java |
+++ b/src/com/dom_distiller/client/ContentExtractor.java |
@@ -27,6 +27,7 @@ import org.timepedia.exporter.client.Export; |
import org.timepedia.exporter.client.Exportable; |
import org.xml.sax.AttributesImpl; |
+import org.xml.sax.ContentHandler; |
import org.xml.sax.SAXException; |
@Export() |
@@ -40,7 +41,7 @@ public class ContentExtractor implements Exportable { |
try { |
htmlParser.startDocument(); |
Element documentElement = Document.get().getDocumentElement(); |
- textNodes = DomToSaxParser.parse(documentElement, htmlParser); |
+ textNodes = parse(documentElement, htmlParser); |
htmlParser.endDocument(); |
} catch (SAXException e) { |
logger.warning("Parsing failed."); |
@@ -88,6 +89,13 @@ public class ContentExtractor implements Exportable { |
return Element.as(clonedSubtree).getInnerHTML(); |
} |
+ private static List<Node> parse(Element e, ContentHandler handler) { |
+ DomToSaxVisitor domToSaxVisitor = new DomToSaxVisitor(handler); |
+ FilteringDomVisitor filteringDomVisitor = new FilteringDomVisitor(domToSaxVisitor); |
+ new DomWalker(filteringDomVisitor).walk(e); |
+ return domToSaxVisitor.getTextNodes(); |
+ } |
+ |
private static void makeAllLinksAbsolute(Node rootNode) { |
Element root = Element.as(rootNode); |