По умолчанию Sesame SPARQLResultsXMLWriter не имеет опции для этого.Тем не менее, это должно быть довольно легко настроить.Что вам нужно сделать, это создать подкласс класса info.aduna.xml.XMLWriter
(который является служебным классом для правильно отформатированного XML, который внутренне используется SPARQLResultsXMLWriter).В этом подклассе добавьте метод получения / установки, чтобы указать ссылку на таблицу стилей, а затем переопределите метод startDocument следующим образом:
public class MyXMLWriter extends info.aduna.xml.XMLWriter {
@Override
public void startDocument() throws IOException {
super.startDocument();
_write("<?xml-stylesheet type=\"text/xsl\"");
_write(" href=\"" + getStylesheetRef() + "\"");
_writeLn("?>");
}
}
Затем просто предоставьте этот настраиваемый XMLWriter для вашего SPARQLResultsXMLWriter и установите правильную ссылку на таблицу стилей на правильнуюзначение:
MyXMLWriter writer = new MyXMLWriter(out);
writer.setStylesheetRef("example.xsl");
SPARQLResultsXMLWriter sparqlWriter = new SPARQLResultsXMLWriter(writer);
Не проверено, но достаточно уверенно, что это должно сработать.
В качестве альтернативы, вы можете запросить функцию в проекте Sesame и / или предоставить им патч.