I am using gsoap for implementing the soap stack of my tr069 client completely written in C language.
The xsd file i am using is cwmp-1-2.xsd from broadbanforum. In cwmp-1-2.xsd , The ParameterValueStruct is defined as :
<xs:complexType name="ParameterValueStruct">
<xs:sequence>
<xs:element name="Name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="256"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Value" type="xs:anySimpleType"/>
</xs:sequence>
</xs:complexType>
"Value" element is polymorphic type and so, "value" must show the actual data type of the parameter.
e.g. <Value xsi:type="xsd:integer">
or <Value xsi:type="xsd:boolean">
depending on the parameter type it has to show.
But it is only showing <Value xsi:type="xsd:anySimpleType">0</Value>
for all cases.
I am not able to find any solution as to how I will be able to implement the polymorphic attribute of the element using C.
Do I have to modify typemap.dat or dom.h ??