【发布时间】:2010-09-14 22:12:43
【问题描述】:
我正在使用 CodeSynthesis XSD C++/Tree Mapping 实用程序将现有 xsd 转换为 c++ 代码,我们可以在其中填充值。这是我们始终确保遵循架构的原因。
完成转换后,我正在尝试让它工作,以便进行测试。问题是,我不习惯在 c++ 中这样做,这是我第一次使用这个工具。
我从一个名为 ABSTRACTNETWORKMODEL 的类开始,其类型为 versno_type 和 fromtime_type
typedef'd 里面。这是我尝试使用的构造函数以及 typedefs
ABSTRACTNETWORKMODEL(const versno_type&, const fromtime_type&);
typedef ::xml_schema::double_ versno_type;
typedef ::xml_schema::time fromtime_type;
所有这些都在 ABSTRACTNETWORKMODEL 类中,double_ 和 time 的定义是:
typedef ::xsd::cxx::tree::time<char, simple_type> time;
typedef double double_;
其中时间的定义是一个具有多个构造函数的类:
template<typename C, typename B>
class time: public B, public time_zone
{
public:
time(unsigned short hours, unsigned short minutes, double seconds);
...
}
我知道我没有正确创建一个新的 ABSTRACTNETWORKMODEL,但我不知道我需要做什么。这是我目前要做的所有事情:
::xml_schema::time t();
ABSTRACTNETWORKMODEL anm(1234, t);
当然,这会引发关于转换第二个参数的错误,但是有人可以告诉我这是不正确的吗?或者至少为我指明正确的道路,因为我现在想做的一件事就是学习更多的 c++。
【问题讨论】:
标签: c++ xsd templates types codesynthesis