Your question is a little confusing, but if you are trying to get an array of data objects, the problem looks like you added 'maxOccurs' in the wrong spot. If you add it to the sequence node, it should produce an array of data objects.
this:
<xsd:sequence>
<xsd:element name="data" type="tns:data" maxOccurs="unbounded" />
</xsd:sequence>
should be:
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="data" type="tns:data" />
</xsd:sequence>