XMLInputSource inputSource = new XMLInputSource(null, null, null);
inputSource.setEncoding("UTF-8");
inputSource.setCharacterStream(new StringReader(source));
try {
htmlScanner.setInputSource(inputSource);
htmlScanner.scanDocument(true);
Document document = handler.getDocument();
DocumentFragment fragment = handler.getFragment();
normalizeFragment(document, fragment);
HtmlSerializer.attach(document, new NekoSerializer(), source);
return document;