我正在使用来自代码合成的 xsd 到 c++ 编译器。我正在编译这些 xsd 片段:
<xsd:complexType name="elementBaseType">
<xsd:sequence>
<xsd:element name="init" type="initElementType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BUTTON_ELEMENT">
<xsd:complexContent>
<xsd:extension base="elementBaseType">
<xsd:sequence>
<xsd:element name="imageClicked" type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
在我的 c++ 代码中,我可以获得 elementBaseType 的所有信息。但我也需要来自我的专业 BUTTON_ELEMENT 的信息。我记录了解析步骤,似乎从未调用过 BUTTON_ELEMENT 的构造函数。但是,对于我的 XML 文件中的每个 BUTTON_ELEMENT,都会调用 elementBaseType 构造函数。
我错过了什么吗?我使用这个命令来生成 c++ 文件:
cxx-tree --std c++11 --generate-polymorphic --output-dir C:/generated Configuration.xsd