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

Altium Designer怎么用?Altium Designer元件库在哪

myeclipse集成activiti-designer