Altova Mapforce Designer - 如何使用 <msxsl:script> 标签
Posted
技术标签:
【中文标题】Altova Mapforce Designer - 如何使用 <msxsl:script> 标签【英文标题】:Altova Mapforce Designer - how to use <msxsl:script> tags 【发布时间】:2020-09-10 09:55:42 【问题描述】:我使用 Altova MapForce Designer 生成我在 Microsoft 服务中处理的 XSLT 映射。
现在我想使用MS Ref 在映射中生成一些我需要的 C# 函数。我找不到从设计器创建 C# 用户定义函数的方法。
当然,我可以在 XSLT 生成结束时手动添加函数,但如果在 Altova MFD 文件中有 XSLT 孔会很好 我认为应该有可能将“脚本”标签添加到 Mapforce 工具箱,但我没有找到该设置。
是否有我需要添加库的 DLL? 是否有声明 msxsl 命名空间并且我可以导入的 XSL 文件?感谢您的一些提示。
【问题讨论】:
【参考方案1】:好的,我找到了方法:
我使用 c# 函数和调用此函数的模板创建了一个 XSLT 文件。
这个 XSLT 文件可以在 Mapforcedesigner 中加载并在 GUI 中用于连接输入和输出文件。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="urn:my-scripts">
<msxsl:script language="C#" implements-prefix="user">
<![CDATA[
public double _circumference(double radius)
double pi = 3.14;
double circ = pi*radius*2;
return circ;
]]>
</msxsl:script>
<xsl:template name="user:circumference">
<xsl:param name="input" select="()"/>
<xsl:sequence select="user:_circumference($input)"/>
</xsl:template>
</xsl:stylesheet>
【讨论】:
select="()"
看起来像 XSLT 2 或更高版本,您可以在 XSLT 本身中编写函数,不确定这是否只是由于一个简单的测试示例,但示例可以在纯 XSLT 2 中完成。
以上是关于Altova Mapforce Designer - 如何使用 <msxsl:script> 标签的主要内容,如果未能解决你的问题,请参考以下文章
Altova DatabaseSpy:将整个数据库结构从一种数据库类型迁移到另一种数据库类型
PyQt5 图形界面 - Qt Designer设置简体中文方法演示,Qt Designer字体设置,Qt Designer工具单独安装包获取,Qt Designer简体中文语言包获取
我的 O/R Designer 不断删除 Designer.cs 文件!
超全Altium Designer16 总结--Altium Designer