/*******************************************************************************
* Copyright (c) 2010 Martin Schnabel <mb0@mb0.org>.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
******************************************************************************/
package org.axdt.asdoc.parser.html;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.sax.TransformerHandler;
import org.axdt.asdoc.parser.AsdocXmlHelper;
import org.ccil.cowan.tagsoup.Parser;
import org.w3c.dom.Node;
public class HtmlLoader extends AsdocXmlHelper {
private Parser parser;
private SAXTransformerFactory saxFactory;
public HtmlLoader() {
super();
MutableNamespaceContext nc = new MutableNamespaceContext();
nc.setNamespace("html", "http://www.w3.org/1999/xhtml");
xpath.setNamespaceContext(nc);
saxFactory = (SAXTransformerFactory) TransformerFactory.newInstance();
parser = new Parser();
}
@Override
public Node readXML(String uri) throws Exception {
TransformerHandler handler = saxFactory.newTransformerHandler();
DOMResult result = new DOMResult();
handler.setResult(result);
parser.setContentHandler(handler);
parser.parse(getInputSource(uri));
return result.getNode();
}
}