Я хочу знать это, чтобы я мог применить преобразования xsl к документу xml, не теряя при этом некоторые сущности, такие как –
Как мне сказать синтаксическому анализатору (любому парсеру, который меня не интересует), какой каталог использовать и затем выполнить преобразования xsl ?, Как подключить новый сконфигурированный синтаксический анализатор к фабрике преобразований.
Приведенный ниже код представляет преобразования, которые я хочу выполнить для файла xml (он работает нормально). Я просто хочу знать, как я могу добавить каталог XML, чтобы xml -документ корректно загружал свое DTD и продолжал выполнять шаги преобразования xsl.
try {
SAXTransformerFactory stf = (SAXTransformerFactory) TransformerFactory.newInstance();
Templates step1Template = stf.newTemplates(new StreamSource(
this.getClass().getResourceAsStream("xsltransformation_step1.xsl")
));
Templates step2Template = stf.newTemplates(new StreamSource(
this.getClass().getResourceAsStream("xsltransformation_step2.xsl")
));
Templates step3Template = stf.newTemplates(new StreamSource(
this.getClass().getResourceAsStream("xsltransformation_step3.xsl")
));
TransformerHandler th1 = stf.newTransformerHandler(step1Template);
TransformerHandler th2 = stf.newTransformerHandler(step2Template);
TransformerHandler th3 = stf.newTransformerHandler(step3Template);
StreamSource xmlStreamSource = new StreamSource(new File(xmlInputFile));
StreamResult outputStreamSource1 = new StreamResult(new File (outputNewFile1));
StreamResult outputStreamSource2 = new StreamResult(new File (outputNewFile2));
th1.setResult(new SAXResult(th2));
th2.setResult(new SAXResult(th3));
th3.setResult(outputStreamSource1);
Transformer t = stf.newTransformer();
t.transform(xmlStreamSource, new SAXResult(th1));
}catch (TransformerException e){
e.printStackTrace();
return false;
}
Это пример сущностей, содержащих xmlInputFile
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE manual PUBLIC '-//docufy//Docufy Standard DTD 20080125//EN' '/system/cosimago/dtd/manual.dtd'>
<chapter>
<title>LEDs „5 – 8“ am CPU-Board prüfen</title>
<body>
<!-- just content -->
</body>
</chapter>
Пожалуйста, я был бы очень благодарен, если бы какая-то хорошая душа помогла мне с этим.
Заранее спасибо.
Андрес