在使用Javascript作为XSLT转换的一部分时如何传递参数
How to pass arguments when using Javascript as part of XSLT transformation
好的,所以我在使用javascript脚本对XSLT转换执行计算时遇到了麻烦。
基本上,在要转换的文件中有一个xml元素,具有startDateTime和endDateTime属性。我所要做的就是将这两个值相减,并返回该值供用户查看。 <event startDateTime = "" endDateTime = "">
<eventOutcome>Fail</eventOutcome>
<event>
显然,所有内容都应该正确填写。然后,有一个xslt转换,它需要进行数学运算以找到经过的时间。
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"> //schemas included here
<msxsl:script language="JScript" implements-prefix="user">
function elapsedTime(start, end) {
return (xmlToDateTime(end).getTime() - xmlToDateTime(start).getTime()) / 1000;
}
function xmlToDateTime(xmlString) {
//a script that works fine
}
</msxsl:script>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="topLevelElement">
<wordDocument>
<body>
<sect>
<p>
<r>
<t><xsl:apply-templates select="event"/> Seconds</w:t>
</r>
</p>
<sect>
<body>
<wordDocument>
</xsl:template>
<xsl:template match="event">
<xsl:value-of select="user:elapsedTime(@startDateTime, @endDateTime)"/>
</xsl:template>
</xsl:stylesheet>
我想这样做的是传递事件的属性javascript函数作为字符串。它所做的是传递一个Visual Studio标识为{MS.Internal.Xml.XPathArrayIterator}的对象。如果我直接使用像
这样的字符串,函数就能正常工作<xsl:value-of select="user:elapsedTime(DATETIME', 'DATETIME')
所以问题不在于javascript本身,而在于我发送参数的能力。
官方的MS文档没什么帮助。
http://msdn.microsoft.com/en-us/library/533texsx (v = vs.110) . aspx
首先,他们使用c#而不是JS,我不确定这有什么意义。但是它们只是传递了元素的名称,没有解释它是如何获得该值的。
我还在这里阅读了FAQ
http://www.dpawson.co.uk/xsl/sect4/N9745.html d13958e70
他们的代码不工作!它给出了传递{MS.Internal.Xml相同的问题。XPathArrayIterator}而不是value。
我不知道该怎么做,所以我愿意接受任何建议。
要将字符串传递给javascript函数,您可以使用字符串函数:string(@startDateTime), string(@endDateTime)
相关文章:
- 为什么当我分配给element.style时,我的元素的样式没有改变
- jQuery 数据表 在页面上导航时,在分页表上重置行的数据
- 网格分页栏在重新加载时未更新
- 表中使用分页时的后退按钮
- 打印包含1页以上的表数据时,如何在浏览器打印中添加分页符
- Angularjs在使用分页时无法显示orderBy
- 分页没有'当我点击javascript和php按钮时,它不起作用
- 在部分视图内渲染的WebGrid将引发“;“jQuery未定义”,当尝试执行基于ajax的分页或过滤时
- 当uib分页被包装在另一个指令中时,AngularJS表数据没有更新
- 当作为 CommonJS 模块加载时,Angular 是否全局将自己分配给“window.angular”
- 使用分页时如何从 DataTables.net 获取所有数据行
- 使用 Ajax 分页时缺少元素(Facebook 赞按钮)
- Ajax 和 PHP 重新加载分页时无法弄清楚
- 使用 jsoup 时处理网页中的分页
- 打印时每页上的分页符和表头.打印表 CSS 问题
- 当我在 javascript 中单击分页项时,我如何查看图片
- 代码点火器 - jQuery 数据表 搜索和分页时不会保留复选框中的选中值
- 页面加载时显示完整列表的分页
- 页面加载时的 Ajax 分页
- 如何在单击按钮时切换 jquery 数据表的分页