共享为共享导入的XSD文件生成的代码

时间:2013-05-17 08:01:34

标签: c++ namespaces xsd gsoap

我使用gSOAP进行XML数据绑定。

最近,我通过将两个文件中的公共部分提取到单独的第三个文件然后将其导入前两个文件来重构我的XSD文件。这是一个深层而复杂的元素,经过重构。

在实际代码中,我希望有一个函数,它接受一个描述该元素的gSOAP生成类型的对象,并构造一些内部对象。

但是对于这个我需要让生成的类稳定并且对于最终的XSD文件都是相同的(因此该函数可以采用单一类型)。但我认为没有办法实现这一目标。

有没有解决方案?


我考虑过根据这个事实使函数成为一个模板,即使生成的类型不同(特别是因为它们位于不同的C ++名称空间中),它们也有相同的成员,因此模板应该运行良好。但这需要我公开我不想做的实现(它与元素复杂性相对应)。


我尝试的另一种方法是强制gSOAP为主要XSD文件生成代码到相同的C ++命名空间,以便为导入的XSD生成的代码将被视为相同。但这会导致链接问题,因为这些定义会重复出现。

0 个答案:

没有答案