Я пытаюсь создать выход html 5 из java-трансформатора. У меня естьjava transform to html with doctype
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element html= doc.createElement("html");
.... //populate the html element
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource domSource = new DOMSource(html);
StreamResult result = new StreamResult(new File(fileLocation));
transformer.setOutputProperty(OutputKeys.METHOD, "html");
transformer.transform(domSource, result);
Это отлично работает и создает для меня html-файл, как я хочу. но он не имеет <! DOCTYPE html> наверху, и я не могу понять, как это получить. Глядя на документацию по трансформатору, я вижу только, как включить или выключить xml-версию заголовка.
Как вы можете видеть в моем коде, я попытался установить метод выходных ключей на html, и я попытался реализовать то, что предлагается here, но в файлах html все еще нет строки типа документа.
Еще один вариант, о котором я подумал, - создать элемент doctype, но я не знаю, как связать его с моим элементом html.
Выход html механизма преобразования XSLT 1.0, заключенного в Java, предшествует HTML5 с более чем десятилетием. –
Я боялся чего-то подобного –
Это не делает невозможным, просто сложнее и, скорее всего, зависит от реализации. –