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 8103a0f954e13cc0767187327722a6137b58d735..2491fb616b1010050894261f6eaf5bbc39fb53bc 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."); |
@@ -92,6 +93,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); |