Как вызвать шаблон XSL из кода Java? - PullRequest
4 голосов
/ 16 декабря 2009

Как вызвать шаблон XSL из кода Java?

Обратите внимание, что мне не нужно знать, как преобразовать документ XML в XSL в Java.

Что мне нужно, так это то, что у меня есть документ XSLT, содержащий шаблон, который что-то делает, например:

<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <tr>
        <td>.</td>
        <td>.</td>
      </tr>
    </table>
  </body>
  </html>
</xsl:template>

Тогда мне нужно, чтобы этот шаблон вызывался из кода Java. Как ??

Спасибо всем, парень, я сделал это, пожалуйста, смотрите: http://m -hewedy.blogspot.com / 2009/12 / как к вызову, XSLT-шаблона из-your.html

Ответы [ 3 ]

16 голосов
/ 16 декабря 2009

Для этого можно использовать API javax.xml.transformer.Transformer.

Вот базовый пример:

Source xmlInput = new StreamSource(new File("c:/path/to/input.xml"));
Source xsl = new StreamSource(new File("c:/path/to/file.xsl"));
Result xmlOutput = new StreamResult(new File("c:/path/to/output.xml"));

try {
    Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
    transformer.transform(xmlInput, xmlOutput);
} catch (TransformerException e) {
    // Handle.
}
2 голосов
/ 16 декабря 2009

Вот код для простого преобразования XSL, а также несколько советов по использованию XSL в Java. И вот еще один пример , дополненный примером XML и XSL.

0 голосов
/ 17 декабря 2009

Ваш вопрос, что у вас есть XSLT, для которого не требуется входной документ? Затем просто передайте объекту Transformer какой-нибудь минимальный документ:

transformer.transform (новый StreamSource (новый StringReader ("")), вашResult);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...