我有以下XSLT文件,它已经在使用我们在ActiveMQ上的XML文件。问题是我们正在升级系统,我们不再拥有XML视图。相反,我们有一个URL,在JSON中返回队列信息。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>PROJECT Notification</h2>
<div style="width:600px;background-color:#e5eecc;border:1px solid #98bf21;margin:10px;">
<table border="1" style="border-style:dashed">
<tr bgcolor="#9acd32">
<th width="300px;">Queue Name</th>
<th>Queue Size</th>
</tr>
<xsl:apply-templates select="queues" />
</table>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="queue">
<tr>
<td><xsl:value-of select="@name"/></td><td><xsl:value-of select="./stats/@size" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>
我想知道是否可以继续使用同一个XSLT文件,只需修改标签即可开始从JSON URL读取。
我使用camel路由到这个XSLT,但我不想创建一个处理器来将JSON转换为XML。相反,我想立即使用JSON。
答案 0 :(得分:-1)
XSLT对XML输入进行操作,而不是JSON输入。 (虽然你可以使用XSLT 2.0字符串处理工具解析JSON,但它仍然不适合这项工作。)
您的HTML目标非常简单,因此从XML / XSLT迁移不应该像其他情况那样具有挑战性。查看基于JavaScript的模板引擎,例如Mustache.js,Handlebars.js, Underscore.js,Hogan.js ......