2

我在我的 C++ Win32 应用程序和几个 xsl 文件中使用 xslt 转换器,这些文件有一个共同的部分,我想将它们分成另一个 xsl 文件。所有 xsl 文件都存储为资源。我遇到的 xsl:include 的唯一方法是使用 res:// 协议,该协议不适用于 xsl 文件(至少在我的两个 Windows 安装中,加载生成的 xslt 文件时返回错误,而在一个安装中它可以正常工作)。MSDN 也提到了这个问题: http: //support.microsoft.com/ ?scid=kb%3Ben-us%3B220830&x=13&y=12

除了:

  1. 实现我自己的协议处理程序来加载包含的 xsl 文件 - 不值得做。
  2. 避免 <xsl:include> 并自己替换包含的文件 - 太笨拙了。
  3. 所有模板中的公共部分重复 - 不,谢谢。
4

1 回答 1

1

另外两个 xml/xslt 库是 Xerces ( http://xerces.apache.org/xerces-c/ - 还有一个 java 风格的 IIRC) 和 libxml ( http://xmlsoft.org/ )。我从 Xerces 开始,最后使用 libxml(两者都使用 C++),但我并不真正喜欢它们中的任何一个:它们似乎都不符合我对需要做什么的看法——也许是我的失败。我发现 libxml 更容易破解。

此外,我将这些与 VC6 一起使用,但我认为您的版本不会对它们产生影响。

于 2008-12-27T20:53:10.397 回答