有人尝试过在node.js中使用XSLT样式表将xml文件转换为html网页吗?我的背景是Java。我通常使用SAXON将XML转换为HTML网页。我是node.js的新手。我尝试过使用node_xslt、libxsltjs等库来实现这一点,但没有成功。如果有人尝试过使用其他库来处理XSLT样式表,请张贴一个链接。2任何帮助将不胜感激。
l5tcr1uw1#
如果你想从Node.js应用程序中使用Saxon,你基本上有三个选择,没有一个是理想的:(a)调用Java,使用各种机制。(b)使用Saxon/C的端口连接到此处正在构建的Node.js:https://github.com/rimmartin/saxon-node这是前沿的东西,我不知道这个项目已经进行了多久。(c)等待Saxon-JS尽快到达。请参见http://dev.saxonica.com/blog/mike/2016/02/introducing-saxon-js.html
zbsbpyhn2#
在我写这篇文章的时候...1.安装撒克逊...〉npm安装saxon-js(参见https://www.npmjs.com/package/saxon-js)1.编写一个小测试程序const saxon = require('saxon-js'); const env = saxon.getPlatform(); const doc = env.parseXmlFromString(env.readFile("styles/listview.xsl")); doc._saxonBaseUri = "dummy"; const sef = saxon.compile(doc); let xml = "<EMPLOYEE_ID>107</EMPLOYEE_ID><FIRST_NAME>Summer</FIRST_NAME><LAST_NAME>Payne</LAST_NAME>summer.payne@example.com515.123.8181<HIRE_DATE>2016-06-07</HIRE_DATE><MANAGER_ID>106</MANAGER_ID><JOB_TITLE>Public Accountant</JOB_TITLE>"; let html = saxon.transform({ stylesheetInternal:sef, sourceType: "xml", sourceText:xml, destination: "serialized"}, "async" ).then( output => { console.log(output.principalResult); } );1.从命令行运行测试程序...〉节点测试. js输出应该是转换后的XML。运气。
const saxon = require('saxon-js'); const env = saxon.getPlatform(); const doc = env.parseXmlFromString(env.readFile("styles/listview.xsl")); doc._saxonBaseUri = "dummy"; const sef = saxon.compile(doc); let xml = "<EMPLOYEE_ID>107</EMPLOYEE_ID><FIRST_NAME>Summer</FIRST_NAME><LAST_NAME>Payne</LAST_NAME>summer.payne@example.com515.123.8181<HIRE_DATE>2016-06-07</HIRE_DATE><MANAGER_ID>106</MANAGER_ID><JOB_TITLE>Public Accountant</JOB_TITLE>"; let html = saxon.transform({ stylesheetInternal:sef, sourceType: "xml", sourceText:xml, destination: "serialized"}, "async" ).then( output => { console.log(output.principalResult); } );
2条答案
按热度按时间l5tcr1uw1#
如果你想从Node.js应用程序中使用Saxon,你基本上有三个选择,没有一个是理想的:
(a)调用Java,使用各种机制。
(b)使用Saxon/C的端口连接到此处正在构建的Node.js:https://github.com/rimmartin/saxon-node这是前沿的东西,我不知道这个项目已经进行了多久。
(c)等待Saxon-JS尽快到达。请参见http://dev.saxonica.com/blog/mike/2016/02/introducing-saxon-js.html
zbsbpyhn2#
在我写这篇文章的时候...
1.安装撒克逊...
〉npm安装saxon-js(参见https://www.npmjs.com/package/saxon-js)
1.编写一个小测试程序
const saxon = require('saxon-js'); const env = saxon.getPlatform(); const doc = env.parseXmlFromString(env.readFile("styles/listview.xsl")); doc._saxonBaseUri = "dummy"; const sef = saxon.compile(doc); let xml = "<EMPLOYEE_ID>107</EMPLOYEE_ID><FIRST_NAME>Summer</FIRST_NAME><LAST_NAME>Payne</LAST_NAME>summer.payne@example.com515.123.8181<HIRE_DATE>2016-06-07</HIRE_DATE><MANAGER_ID>106</MANAGER_ID><JOB_TITLE>Public Accountant</JOB_TITLE>"; let html = saxon.transform({ stylesheetInternal:sef, sourceType: "xml", sourceText:xml, destination: "serialized"}, "async" ).then( output => { console.log(output.principalResult); } );
1.从命令行运行测试程序...
〉节点测试. js
输出应该是转换后的XML。
运气。