У меня есть проект Java maven, который включает преобразования XSLT. Я загружаю таблицу стилей следующим образом:
TransformerFactory tFactory = TransformerFactory.newInstance();
DocumentBuilderFactory dFactory = DocumentBuilderFactory
.newInstance();
dFactory.setNamespaceAware(true);
DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
ClassLoader cl = this.getClass().getClassLoader();
java.io.InputStream in = cl.getResourceAsStream("xsl/stylesheet.xsl");
InputSource xslInputSource = new InputSource(in);
Document xslDoc = dBuilder.parse(xslInputSource);
DOMSource xslDomSource = new DOMSource(xslDoc);
Transformer transformer = tFactory.newTransformer(xslDomSource);
В файле stylesheet.xsl есть несколько операторов. Это, кажется, вызывает проблемы, когда я пытаюсь запустить свои юнит-тесты, я получаю следующие ошибки:
C:\Code\workspace\app\dummy.xsl; Line #0; Column #0; Had IO Exception with stylesheet file: footer.xsl
C:\Code\workspace\app\dummy.xsl; Line #0; Column #0; Had IO Exception with stylesheet file: topbar.xsl
Операторы включения в XSLT являются относительными ссылками
xsl:include href="footer.xsl"
xsl:include href="topbar.xsl"
Я попытался поэкспериментировать и изменить их на следующее - но я все еще получаю ошибку.
xsl:include href="xsl/footer.xsl"
xsl:include href="xsl/topbar.xsl"
Есть идеи? Любая помощь высоко ценится.