问题标签 [altova]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
832 浏览

c# - MEF DirectoryCatalog 在加载时不会覆盖项目引用

我有一个界面如下:

现在,我有两个课程:

我有另一个项目 ProjectXYZ(由第三方工具自动生成(Altova Mapforce 2012 SP1))。

对于来自 altova mapforce 2012 的 ProjectA 自定义自动生成代码:

对于来自 altova mapforce 2012 的 ProjectB 自定义自动生成代码:

第三方自动生成的代码不会被导出,但它的二进制文件我用作 ProjectA.Transform 和 ProjectB.Transform 的参考。所以我使用 [DirectoryCatalog] 将 ProjectA.Transform 和 ProjectB.Transform 的所有二进制文件加载到 MEF 的 CompositionContainer 中。每个项目都被编译,它们的二进制文件(构建输出)位置作为 DirectoryCatalog 的输入给出

进一步组成。

ProjectA.Transform 使用 ProjectXYZ.ClassA,而 ProjectB.Transform 使用 ProjectXYZ 的另一个实现中的 ProjectXYZ.ClassB。实现和类

ProjectXYZ 因 ITransform 的不同实现而异。ProjectXYZ 中的类是通过一些第三方工具自动生成的,我

需要直接使用。因此,我无法对 ProjectXYZ 进行任何更改。

因此,当 MEF 第一次加载 ProjectA.Transform 时,它还会加载 ProjectXYZ 以用作 ProjectA 的参考。当 ProjectB.Transform 正在加载/导出时,

然后由于 ProjectXYZ 程序集已经在 MEF 内存中,它使用从"C:\ProjectDemo\ProjectA.Transform\Bin\Debug"获得的 ProjectXYZ 程序集引用。因此,当 ProjectB.Transform 正在执行时,它会从 "C:\ProjectDemo\ProjectB.Transform\Bin\Debug"中搜索 ProjectXYZ 程序集,因为 MEF 已加载"C:\ProjectDemo\项目A.Transform\Bin\Debug"

如何解决这个问题。MEF 正确加载部件,但它没有以所需的方式加载支持 dll 的引用。我也试过

PartCreationPolicy 属性,但结果相同。

0 投票
2 回答
1381 浏览

xsl-fo - Altova XMLSpy 中的 XSL:FO 转换

我将 Altova XMLSpy 映射到 Apache FOP 以进行 XSL:FO 转换(Tools->Options->XSL->Selected fop.bat),然后我编写了一个简单的 HelloWorld 输出,如下所示,并尝试将 XSL:FO 转换为 PDF 输出,但是 XMLSpy 抛出了这个错误“无法创建临时文件!访问被拒绝”,有人能告诉我为什么会出现这个错误以及如何解决它吗?

0 投票
3 回答
8697 浏览

xslt - XSLT 2.0 产生错误:“上下文项未定义”

我们使用生成 XSLT 2.0 文件的 Altova Stylevision。我们使用 Saxon 9 for Java 来执行这些 XSLT 文件。这几年来一直运行良好,可惜我们都没有真正了解 XSLT。

现在我们有错误:

第9个功能是:

有谁知道发生了什么?

0 投票
2 回答
1046 浏览

xml-serialization - 使用 Altova XMLSpy 2012 生成的代码(版本 2007r3)附加命名空间前缀标签

显然,在处理使用标签命名空间前缀的 XML 文件时,Altova XMLSpy 2012 sp1 的代码生成器的最新版本中存在一个错误,您会发现生成的 XML 缺少前缀。在尝试了不同的版本并四处寻找后,我找到了解决该问题的方法,基本上您必须替换以下方法的内容(typebase.cs 中的第 110 行):

那应该会变魔术。

有人可以证实这一点吗?

注意:我在这里发布这个是因为 Altova 似乎已经关闭了他们的支持论坛并且没有回复电子邮件查询......

问候并希望这对某人有所帮助。

Vlax

0 投票
2 回答
9460 浏览

xml - 使用前检查 XSLT 中是否存在参数

我正在使用 XPATH 来确定我的参数 $test 是否存在。我在 ALtova Stylevision 中使用 XPATH 构建器,并认为我可以使用类似的东西 exists ( $blah)orexists ( string($blah) ) 但这以

" Undefined variable in expression test="exists( string( $blah) )""

问题是有时该参数会存在,有时则不会。我不想在空白参数中硬编码!

有没有办法在我使用它之前说“检查参数 XXXX 是否存在”?这很令人沮丧,因为我知道如何在几乎所有其他编程语言中做到这一点

参数定义:

<xsl:param name="blah"> some text </xsl:param>

这些参数是从单独的文件“parameters.xslt”中读取的。此文件可能存在也可能不存在,具体取决于场景。在尝试使用它之前,我需要检查参数是否确实存在。

0 投票
1 回答
811 浏览

xml - 使用 Altova Stylevision 从 XML 设置变量的值

我正在从 Altova StyleVision 创建一个 SPS 文件。我想从 XML 文件中获取值,以设置要在我的 PDF 报告中显示的变量值。

0 投票
3 回答
3987 浏览

altova - Altova mapforce 字符串日期到 DateTime

希望那里的其他人为此使用 Altova Mapforce。

使用 XSLT 将一个 xml 转换为另一个,在源 XML 中,它们的日期为 M/D/YYYY,我需要将它们转换为标准的日期时间格式......好吧,一切。

所以,我正在使用 XSLT 的 tokenize 函数来拆分/获取我的部分,现在,我想参加第 1 部分并说今天到了,但不确定如何将 tokenize 表达式的结果分配给变量使用地图部队。

还有人这样做吗?或者更确切地说,将字符串日期转换为日期时间的最佳方法是什么?

感谢您的想法

编辑。我的输入是一个字符串 '1/31/2012' 并且我的输出需要是 xs:dateTime (或 xs:date,假设 xs:date 可以很容易地转换为 dateTime)

我有一个方法设置将字符串连接在一起并将它们转换为 YYYY-MM-DD 格式,但它仍然报告这对 dateTime 无效(Cast Failed, invalid lexical value 2012-1-31)

也许 YYYY-MM-DD 不是 dateTime 的有效格式?

0 投票
1 回答
395 浏览

altova - 文本文件 - 使用 altova mapforce 到列的行

如何仅使用 Altova MapForce 将逗号分隔的文本文件转换为行分隔的文本文件。有没有办法可以在 MapForce concat 函数中输入“输入”?

0 投票
1 回答
974 浏览

distinct - XPath 2.0:在具有当前节点值的第一个元素之前查找不同元素的数量

设置:我正在使用 XPath 2.0。但在 Altova Stylevision 内部,请稍后查看我的评论。

我有以下 XML 结构:

在解析我的文件时,我想在每次出现 blub 时知道:在第一次出现与当前节点具有相同值的 blub 之前,有多少个不同的 blub 值。

所以基本上首先确定与当前节点具有相同值的blub的第一次出现在哪里,然后计算出之前不同blub的数量。

我的问题之一是 Altova 不支持 current() 函数。引用:“请注意,current() 函数是 XSLT 函数,而不是 XPath 函数,因此不能在 StyleVision 的自动计算和条件模板中使用。要在表达式中选择当前节点,请使用 XPath 2.0 的 for 表达式。 "

所以任何没有 current() 函数的解决方案都会很棒;)

谢谢大家!

斯蒂沃

0 投票
2 回答
943 浏览

c# - 使用 Altova MapForce 生成的 XSLT 文件时出现 XslCompiledTransform 异常

我正在使用 .NET 的 XslCompiledTransform 来执行 XSLT 转换。当我尝试使用使用 Altova 的 MapForce 工具自动生成的 XSLT 文件时,出现异常:

从 XSL 样式表定义:

...似乎 Altova 为 XSLT 定义了自己的扩展函数,而 XslCompiledTransform 不知道如何找到它们。如何让 XslCompiledTransform 识别那些外部函数?